self._aliases[f] = _remove_negative_k(flagl[0])
self._hasparms[f] = has_parm
self._defaults[f] = dvi
- if len(f) == 1:
+ if f == '#':
+ self._shortopts += '0123456789'
+ flagl_nice.append('-#')
+ elif len(f) == 1:
self._shortopts += f + (has_parm and ':' or '')
flagl_nice.append('-' + f)
else:
if k.startswith('no-'):
k = self._aliases[k[3:]]
v = 0
+ elif (self._aliases.get('#') and
+ k in ('0','1','2','3','4','5','6','7','8','9')):
+ v = int(k) # guaranteed to be exactly one digit
+ k = self._aliases['#']
+ opt['#'] = v
else:
k = self._aliases[k]
if not self._hasparms[k]:
deftest4= a default option with [[square]]
deftest5= a default option with "correct" [[square]
no-stupid disable stupidity
+#,compress= set compression level [5]
"""
@wvtest
def test_options():
o = options.Options(optspec)
(opt,flags,extra) = o.parse(['-tttqp', 7, '--longoption', '19',
- 'hanky', '--onlylong'])
+ 'hanky', '--onlylong', '-7'])
WVPASSEQ(flags[0], ('-t', ''))
WVPASSEQ(flags[1], ('-t', ''))
WVPASSEQ(flags[2], ('-t', ''))
WVPASSEQ((opt.deftest1, opt.deftest2, opt.deftest3, opt.deftest4,
opt.deftest5), (1,2,None,None,'[square'))
WVPASSEQ((opt.stupid, opt.no_stupid), (True, False))
+ WVPASSEQ(opt['#'], 7)
+ WVPASSEQ(opt.compress, 7)
+
(opt,flags,extra) = o.parse(['--onlylong', '-t', '--no-onlylong'])
WVPASSEQ((opt.t, opt.q, opt.onlylong), (1, None, 0))