ThirdParty/EditorConfig/editorconfig/main.py

changeset 6099
a7fecbc392d7
child 6161
91456f5321b5
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/ThirdParty/EditorConfig/editorconfig/main.py	Thu Feb 01 19:26:11 2018 +0100
@@ -0,0 +1,78 @@
+"""EditorConfig command line interface
+
+Licensed under PSF License (see LICENSE.txt file).
+
+"""
+
+import getopt
+import sys
+
+from editorconfig import __version__, VERSION
+from editorconfig.compat import force_unicode
+from editorconfig.versiontools import split_version
+from editorconfig.handler import EditorConfigHandler
+from editorconfig.exceptions import ParsingError, PathError, VersionError
+
+
+def version():
+    print("EditorConfig Python Core Version %s" % __version__)
+
+
+def usage(command, error=False):
+    if error:
+        out = sys.stderr
+    else:
+        out = sys.stdout
+    out.write("%s [OPTIONS] FILENAME\n" % command)
+    out.write('-f                 '
+              'Specify conf filename other than ".editorconfig".\n')
+    out.write("-b                 "
+              "Specify version (used by devs to test compatibility).\n")
+    out.write("-h OR --help       Print this help message.\n")
+    out.write("-v OR --version    Display version information.\n")
+
+
+def main():
+    command_name = sys.argv[0]
+    try:
+        opts, args = getopt.getopt(list(map(force_unicode, sys.argv[1:])),
+                                   "vhb:f:", ["version", "help"])
+    except getopt.GetoptError as e:
+        print(str(e))
+        usage(command_name, error=True)
+        sys.exit(2)
+
+    version_tuple = VERSION
+    conf_filename = '.editorconfig'
+
+    for option, arg in opts:
+        if option in ('-h', '--help'):
+            usage(command_name)
+            sys.exit()
+        if option in ('-v', '--version'):
+            version()
+            sys.exit()
+        if option == '-f':
+            conf_filename = arg
+        if option == '-b':
+            version_tuple = split_version(arg)
+            if version_tuple is None:
+                sys.exit("Invalid version number: %s" % arg)
+
+    if len(args) < 1:
+        usage(command_name, error=True)
+        sys.exit(2)
+    filenames = args
+    multiple_files = len(args) > 1
+
+    for filename in filenames:
+        handler = EditorConfigHandler(filename, conf_filename, version_tuple)
+        try:
+            options = handler.get_configurations()
+        except (ParsingError, PathError, VersionError) as e:
+            print(str(e))
+            sys.exit(2)
+        if multiple_files:
+            print("[%s]" % filename)
+        for key, value in options.items():
+            print("%s=%s" % (key, value))

eric ide

mercurial