Changeset 4795
- Timestamp:
- 11/14/08 08:52:09 (2 months ago)
- Files:
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
advparseargsplugin/0.11/tracadvparseargs/parseargs.py
r4771 r4795 19 19 strict:: Enables strict checking of keys. 20 20 multi:: Enables folding of muliple given keys into list. 21 If set to `True` values of multiple given keys will be returned 22 as list, but single given keys will return a scalar. 23 If set to a list only the values of the listed keys will be 24 returned as list, but always as list even when there is only one 25 value. 26 If this list contains `'*'`, __all__ values are __always__ 27 returned as list. 21 28 listonly:: If true only a list is returned, no directionary. 22 29 minlen:: Extend returned list to given minimum length. Only used when … … 30 37 largs = [] 31 38 kwargs = {} 39 40 # Handle multi list: 41 multilist = [] 42 alwayslist = False 43 if multi and isinstance(multi, list): 44 multilist = multi 45 multi = True 46 alwayslist = '*' in multilist 32 47 33 48 def strip (arg): … … 55 70 if strict: 56 71 kw = unicode(kw).encode('utf-8') 57 if multi and kw in kwargs: 58 if isinstance(kwargs[kw], list): 59 kwargs[kw].append( value ) 72 73 if not multi: 74 kwargs[kw] = value 75 elif not multilist: 76 if kw in kwargs: 77 if isinstance(kwargs[kw], list): 78 kwargs[kw].append( value ) 79 else: 80 kwargs[kw] = [ kwargs[kw], value ] 60 81 else: 61 kwargs[kw] = [ kwargs[kw], value ] 82 kwargs[kw] = value 83 elif alwayslist or kw in multilist: 84 if kw not in kwargs: 85 kwargs[kw] = [] 86 kwargs[kw].append(value) 62 87 else: 63 88 kwargs[kw] = value
