fix unrecognised option warning + print at most 5 warnings about unrecognised options, than just say how many more there are

Signed-off-by: Mattias Andrée <maandree@operamail.com>
This commit is contained in:
Mattias Andrée 2012-11-12 04:36:07 +01:00
parent 7344a522f9
commit dc9dc4b7a7

View file

@ -1519,7 +1519,10 @@ class ArgParser():
dontget = 0 dontget = 0
self.rc = True self.rc = True
self.unrecognisedCount = 0
def unrecognised(arg): def unrecognised(arg):
self.unrecognisedCount += 1
if self.unrecognisedCount <= 5:
sys.stderr.write('%s: warning: unrecognised option %s\n' % (self.__program, arg)) sys.stderr.write('%s: warning: unrecognised option %s\n' % (self.__program, arg))
self.rc = False self.rc = False
@ -1586,7 +1589,7 @@ class ArgParser():
dashed = True dashed = True
break break
else: else:
unrecognised(arg) unrecognised(narg)
else: else:
self.files.append(arg) self.files.append(arg)
@ -1616,6 +1619,9 @@ class ArgParser():
self.message = ' '.join(self.files) if len(self.files) > 0 else None self.message = ' '.join(self.files) if len(self.files) > 0 else None
if self.unrecognisedCount > 5:
sys.stderr.write('%s: warning: %i more unrecognised %s\n' % (self.unrecognisedCount - 5, 'options' if self.unrecognisedCount == 6 else 'options'))
return self.rc return self.rc