- commit
- d9f1c58b85163704fdd700acb743b5d615b70568
- parent
- aef92e47307c59830001391eb97b04aebd707436
- Author
- Tobias Bengfort <tobias.bengfort@posteo.de>
- Date
- 2022-08-27 08:28
refine cli
Diffstat
| A | xipd/__main__.py | 22 | ++++++++++++++++++++++ |
| M | xipd/format.py | 15 | ++++++++++++--- |
| M | xipd/parser.py | 10 | ---------- |
| M | xipd/renderer.py | 8 | -------- |
4 files changed, 34 insertions, 21 deletions
diff --git a/xipd/__main__.py b/xipd/__main__.py
@@ -0,0 +1,22 @@
-1 1 import sys
-1 2 import argparse
-1 3
-1 4 from .renderer import Renderer
-1 5 from .format import autoformat
-1 6
-1 7
-1 8 def main():
-1 9 parser = argparse.ArgumentParser()
-1 10 parser.add_argument(
-1 11 'infile', nargs='?', type=argparse.FileType('r'), default=sys.stdin,
-1 12 )
-1 13 args = parser.parse_args()
-1 14
-1 15 renderer = Renderer()
-1 16 output = renderer.render(args.infile)
-1 17 output = autoformat(output)
-1 18 print(output, end='')
-1 19
-1 20
-1 21 if __name__ == '__main__':
-1 22 main()
diff --git a/xipd/format.py b/xipd/format.py
@@ -1,5 +1,6 @@ 1 1 import re 2 2 import sys -1 3 import argparse 3 4 import subprocess 4 5 5 6 DOT_CMD = 'dot' @@ -59,7 +60,15 @@ def autoformat(pd): 59 60 return apply_positions(pd, positions) 60 61 61 6262 -1 if __name__ == '__main__':63 -1 with open(sys.argv[1]) as fh:64 -1 pd = fh.read()-1 63 def main(): -1 64 parser = argparse.ArgumentParser() -1 65 parser.add_argument( -1 66 'infile', nargs='?', type=argparse.FileType('r'), default=sys.stdin, -1 67 ) -1 68 args = parser.parse_args() -1 69 pd = args.infile.read() 65 70 print(autoformat(pd), end='') -1 71 -1 72 -1 73 if __name__ == '__main__': -1 74 main()
diff --git a/xipd/parser.py b/xipd/parser.py
@@ -1,5 +1,4 @@ 1 1 import re2 -1 import sys3 2 4 3 5 4 class SyntaxError(TypeError): @@ -181,12 +180,3 @@ class Parser: 181 180 if not len(stack) == 1: 182 181 raise SyntaxError('unbalanced blocks') 183 182 return stack[0]184 -1185 -1186 -1 if __name__ == '__main__':187 -1 parser = Parser()188 -1 with open(sys.argv[1]) as fh:189 -1 ast = parser.parse_file(fh)190 -1191 -1 from pprint import pprint192 -1 pprint(ast)
diff --git a/xipd/renderer.py b/xipd/renderer.py
@@ -1,5 +1,3 @@1 -1 import sys2 -13 1 from .parser import Parser 4 2 5 3 @@ -126,9 +124,3 @@ class Renderer: 126 124 self.render_with_scope(ast, scope) 127 125 128 126 return self.output129 -1130 -1131 -1 if __name__ == '__main__':132 -1 renderer = Renderer()133 -1 with open(sys.argv[1]) as fh:134 -1 print(renderer.render(fh), end='')