- commit
- 1dbe4aeb58c046b9b7634c21afaf43cecdd5f3ed
- parent
- adbc8cd0f116dafb81c5fc161b71dd2ae17cf161
- Author
- Tobias Bengfort <tobias.bengfort@posteo.de>
- Date
- 2024-07-20 17:13
add command line args for evaluation
Diffstat
| M | sheet/__main__.py | 33 | ++++++++++++++++++++++++++++----- |
1 files changed, 28 insertions, 5 deletions
diff --git a/sheet/__main__.py b/sheet/__main__.py
@@ -1,13 +1,16 @@ -1 1 import argparse 1 2 import sys 2 3 3 4 import boon 4 5 -1 6 from .csv import dump_csv 5 7 from .csv import load_csv 6 8 from .expression import shift_refs 7 9 from .expression import unparse 8 10 from .expression import x2col 9 11 from .input import Input 10 12 from .sheet import Bar -1 13 from .sheet import Sheet 11 14 from .sheet import iter_range 12 15 from .term import align_center 13 16 from .term import align_left @@ -32,10 +35,13 @@ def to_cell(value: float|int|str|None|Exception, width: int) -> str: 32 35 33 36 34 37 class App(boon.App):35 -1 def __init__(self):-1 38 def __init__(self, path=None): 36 39 super().__init__()37 -1 with open(sys.argv[1]) as fh:38 -1 self.sheet = load_csv(fh)-1 40 if path: -1 41 with open(path) as fh: -1 42 self.sheet = load_csv(fh) -1 43 else: -1 44 self.sheet = Sheet() 39 45 self.x0 = 0 40 46 self.y0 = 0 41 47 self.cursor_x = 0 @@ -197,5 +203,22 @@ class App(boon.App): 197 203 self.drag = self.cursor 198 204 199 205200 -1 app = App()201 -1 app.run()-1 206 def get_parser(): -1 207 parser = argparse.ArgumentParser() -1 208 parser.add_argument('path', nargs='?') -1 209 parser.add_argument('--eval') -1 210 return parser -1 211 -1 212 -1 213 if __name__ == '__main__': -1 214 args = get_parser().parse_args() -1 215 if args.eval: -1 216 if not args.path: -1 217 raise ValueError('path missing') -1 218 with open(args.path) as fh: -1 219 sheet = load_csv(fh) -1 220 with open(args.eval, 'w') as fh: -1 221 dump_csv(sheet, fh, display=True) -1 222 else: -1 223 app = App(args.path) -1 224 app.run()