Merge pull request #666 from dmick/wip-6384

ceph.in: clean up error message when missing required parameter
This commit is contained in:
Alfredo Deza 2013-10-01 15:28:29 -07:00
commit 26235e4984

View File

@ -843,6 +843,11 @@ def validate(args, signature, partial=False):
# wanted n, got too few # wanted n, got too few
if partial: if partial:
return d return d
# special-case the "0 expected 1" case
if desc.numseen == 0 and desc.n == 1:
raise ArgumentNumber(
'missing required parameter {0}'.format(desc)
)
raise ArgumentNumber( raise ArgumentNumber(
'saw {0} of {1}, expected {2}'.\ 'saw {0} of {1}, expected {2}'.\
format(desc.numseen, desc, desc.n) format(desc.numseen, desc, desc.n)
@ -951,6 +956,7 @@ def validate_command(sigdict, args, verbose=False):
# Stop now, because we have the right command but # Stop now, because we have the right command but
# some other input is invalid # some other input is invalid
print >> sys.stderr, "Invalid command: ", str(e) print >> sys.stderr, "Invalid command: ", str(e)
print >> sys.stderr, concise_sig(sig), ': ', cmd['help']
return {} return {}
if found: if found:
break break