mirror of
https://github.com/Mikaela/Limnoria.git
synced 2024-11-27 05:09:23 +01:00
add short options to getopts. single letter options will work with both - or --
This commit is contained in:
parent
f32f36fea4
commit
54196be509
@ -971,11 +971,18 @@ class getopts(context):
|
||||
self.spec = getopts # for repr
|
||||
self.getopts = {}
|
||||
self.getoptL = []
|
||||
self.getoptLs = ''
|
||||
for (name, spec) in getopts.iteritems():
|
||||
if spec == '':
|
||||
if len(name) == 1:
|
||||
self.getoptLs += name
|
||||
self.getopts[name] = None
|
||||
self.getoptL.append(name)
|
||||
self.getopts[name] = None
|
||||
else:
|
||||
if len(name) == 1:
|
||||
self.getoptLs += name + ':'
|
||||
self.getopts[name] = contextify(spec)
|
||||
self.getoptL.append(name + '=')
|
||||
self.getopts[name] = contextify(spec)
|
||||
log.debug('getopts: %r', self.getopts)
|
||||
@ -983,10 +990,13 @@ class getopts(context):
|
||||
|
||||
def __call__(self, irc, msg, args, state):
|
||||
log.debug('args before %r: %r', self, args)
|
||||
(optlist, rest) = getopt.getopt(args, '', self.getoptL)
|
||||
(optlist, rest) = getopt.getopt(args, self.getoptLs, self.getoptL)
|
||||
getopts = []
|
||||
for (opt, arg) in optlist:
|
||||
if opt.startswith('--'):
|
||||
opt = opt[2:] # Strip --
|
||||
else:
|
||||
opt = opt[1:]
|
||||
log.debug('opt: %r, arg: %r', opt, arg)
|
||||
context = self.getopts[opt]
|
||||
if context is not None:
|
||||
|
Loading…
Reference in New Issue
Block a user