Browse Source

replace scripts/tooncher-extend-controls with `rescriptoon` command line entry point; drop argcomplete

Fabian Peter Hammerle 4 years ago
parent
commit
f3b7075b18
2 changed files with 9 additions and 43 deletions
  1. 1 1
      setup.py
  2. 8 42
      tooncher/_cli.py

+ 1 - 1
setup.py

@@ -22,7 +22,7 @@ setuptools.setup(
         "Topic :: Games/Entertainment",
         "Topic :: Utilities",
     ],
-    scripts=["scripts/tooncher-extend-controls"],
+    entry_points={"console_scripts": ["rescriptoon = tooncher._cli:main"]},
     install_requires=["xlib", "psutil"],
     setup_requires=["setuptools_scm"],
     tests_require=["pytest"],

+ 8 - 42
scripts/tooncher-extend-controls → tooncher/_cli.py

@@ -1,28 +1,9 @@
-#!/usr/bin/env python3
-# PYTHON_ARGCOMPLETE_OK
-
-import sys
+import argparse
 
 import tooncher.controls
 
 
-def run(
-    engine_pid: int,
-    engine_window_name: str,
-    toggle_keysym_name=tooncher.controls.EXTENDED_CONTROLS_DEFAULT_TOGGLE_KEYSYM_NAME,
-):
-    ec = tooncher.controls.ExtendedControls(
-        primary_engine_pid=engine_pid,
-        toggle_keysym_name=toggle_keysym_name,
-        primary_engine_window_name=engine_window_name,
-    )
-    ec.run()
-
-
-def _init_argparser():
-
-    import argparse
-
+def main() -> None:
     argparser = argparse.ArgumentParser(
         description="Attach Extended Controls to an already running Toontown engine.",
     )
@@ -47,24 +28,9 @@ def _init_argparser():
         default=None,
         help="change window name of engine after launch",
     )
-    return argparser
-
-
-def main(argv):
-
-    argparser = _init_argparser()
-    try:
-        import argcomplete
-
-        argcomplete.autocomplete(argparser)
-    except ImportError:
-        pass
-    args = argparser.parse_args(argv)
-
-    run(**vars(args))
-
-    return 0
-
-
-if __name__ == "__main__":
-    sys.exit(main(sys.argv[1:]))
+    args = argparser.parse_args()
+    tooncher.controls.ExtendedControls(
+        primary_engine_pid=args.engine_pid,
+        toggle_keysym_name=args.toggle_keysym_name,
+        primary_engine_window_name=args.engine_window_name,
+    ).run()