1
0
Эх сурвалжийг харах

implemented select-line script

Fabian Peter Hammerle 9 жил өмнө
parent
commit
afc3be508d
2 өөрчлөгдсөн 35 нэмэгдсэн , 1 устгасан
  1. 33 0
      scripts/select-line
  2. 2 1
      setup.py

+ 33 - 0
scripts/select-line

@@ -0,0 +1,33 @@
+#!/usr/bin/python
+# PYTHON_ARGCOMPLETE_OK
+
+import ioex.selector
+
+import os
+import sys
+import curses
+import argparse
+import argcomplete
+
+def _init_argparser():
+
+    argparser = argparse.ArgumentParser(description = None)
+    argparser.add_argument("--multiple", action = "store_true")
+    return argparser
+
+def main(argv):
+
+    argparser = _init_argparser()
+    argcomplete.autocomplete(argparser)
+    args = argparser.parse_args(argv)
+
+    lines = [l.strip() for l in sys.stdin]
+
+    selected_lines = ioex.curses_tty_wrapper(ioex.selector.select_string, lines, args.multiple) 
+
+    print('\n'.join(selected_lines))
+
+    return 0
+
+if __name__ == "__main__":
+    sys.exit(main(sys.argv[1:]))

+ 2 - 1
setup.py

@@ -5,7 +5,7 @@ import glob
 setup(
     name = 'ioex',
     packages = ['ioex'],
-    version = '0.1',
+    version = '0.2',
     description = 'extension for python\'s build-in input / output interface',
     author = 'Fabian Peter Hammerle',
     author_email = 'fabian.hammerle@gmail.com',
@@ -13,5 +13,6 @@ setup(
     download_url = 'https://github.com/fphammerle/ioex/tarball/0.1',
     keywords = [],
     classifiers = [],
+    scripts = glob.glob('scripts/*'),
     tests_require = ['pytest']
     )