-
Notifications
You must be signed in to change notification settings - Fork 0
/
__main__.py
36 lines (29 loc) · 992 Bytes
/
__main__.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
import sys
from .timetp import parse, tokenize, letters
keys = ', '.join(letters.keys())
values = ', '.join(letters.values())
if __name__ == "__main__":
usage = f"""timetp. Little tokenizer and parser with finite automata studies
USAGE: python -m timetp "TIME-STRING" [-v]
python -m timetp help
help:
TIME-STRING: a sequence of digitletters like: 4w5d16h99m10s
- first digit must not be 0
- letters can be chosen from: {keys!r}
which correspond to {values!r}
help: show this message and exit
-v: enable verbose mode"""
time_or_help = sys.argv[1]
if time_or_help == 'help':
print(usage)
sys.exit(0)
time = time_or_help
verbose = False
try:
verbose = True if sys.argv[2] == "-v" else False
except IndexError:
pass
if verbose:
print(repr(parse(tokenize(time))))
else:
print(parse(tokenize(time)))