Total Complexity | 6 |
Total Lines | 23 |
Duplicated Lines | 0 % |
1 | import re |
||
4 | class Args(dict): |
||
5 | def __init__(self): |
||
6 | if len(sys.argv)<3: |
||
7 | print('usage: {0} path command -o1=v1 ..'.format(sys.argv[0])) |
||
8 | exit(1) |
||
9 | |||
10 | args = sys.argv |
||
11 | self['zcmd'] = args.pop(0) |
||
12 | self['path'] = args.pop(0) |
||
13 | self['command'] = args.pop(0) |
||
14 | self['zdir'], self['zbin'] = self['zcmd'].rsplit('/', 1) |
||
15 | |||
16 | for raw in args: |
||
17 | m = re.match(r'^-(\S+)=(.*)$', raw) |
||
18 | if m: |
||
19 | name = m.group(1) |
||
20 | if name.find('.')>0: |
||
21 | f, s = name.split('.', 1) |
||
22 | if not f in self: |
||
23 | self[f] = {} |
||
24 | self[f][s] = m.group(2) |
||
25 | else: |
||
26 | self[name] = m.group(2) |
||
27 | |||
28 |