diff options
Diffstat (limited to 'tools')
-rw-r--r-- | tools/python/xen/xm/main.py | 31 |
1 files changed, 12 insertions, 19 deletions
diff --git a/tools/python/xen/xm/main.py b/tools/python/xen/xm/main.py index ade43d9445..a9be5e661c 100644 --- a/tools/python/xen/xm/main.py +++ b/tools/python/xen/xm/main.py @@ -887,7 +887,7 @@ def parse_dev_info(info): 'ring-ref' : get_info('ring-ref', int, -1), } -def has_long_option(args): +def arg_check_for_resource_list(args, name): use_long = 0 try: (options, params) = getopt.gnu_getopt(args, 'l', ['long']) @@ -898,16 +898,19 @@ def has_long_option(args): for (k, v) in options: if k in ['-l', '--long']: use_long = 1 + + if len(params) == 0: + print 'No domain parameter given' + usage(name) + if len(params) > 1: + print 'No multiple domain parameters allowed' + usage(name) + return (use_long, params) def xm_network_list(args): - arg_check(args, "network-list", 1, 2) + (use_long, params) = arg_check_for_resource_list(args, "network-list") - (use_long, params) = has_long_option(args) - - if len(params) == 0: - print 'No domain parameter given' - sys.exit(1) dom = params[0] if use_long: devs = server.xend.domain.getDeviceSxprs(dom, 'vif') @@ -931,13 +934,8 @@ def xm_network_list(args): % ni) def xm_block_list(args): - arg_check(args, "block-list", 1, 2) + (use_long, params) = arg_check_for_resource_list(args, "block-list") - (use_long, params) = has_long_option(args) - - if len(params) == 0: - print 'No domain parameter given' - sys.exit(1) dom = params[0] if use_long: devs = server.xend.domain.getDeviceSxprs(dom, 'vbd') @@ -960,13 +958,8 @@ def xm_block_list(args): % ni) def xm_vtpm_list(args): - arg_check(args, "vtpm-list", 1, 2) + (use_long, params) = arg_check_for_resource_list(args, "vtpm-list") - (use_long, params) = has_long_option(args) - - if len(params) == 0: - print 'No domain parameter given' - sys.exit(1) dom = params[0] if use_long: devs = server.xend.domain.getDeviceSxprs(dom, 'vtpm') |