Python 3 changes such that if no subparser command is listed, it just throws an error. To get back the old behavior we need to set the 'required' attribute and a dest name. Since we treat 'debug' as a global attribute we need to set that on the top level parser too, otherwise we get a missing attribute error with newish python 3 too. Signed-off-by: Daniel P. Berrangé <berrange@xxxxxxxxxx> --- libvirt-sandbox/image/cli.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/libvirt-sandbox/image/cli.py b/libvirt-sandbox/image/cli.py index 490c5e0..d2035de 100644 --- a/libvirt-sandbox/image/cli.py +++ b/libvirt-sandbox/image/cli.py @@ -202,7 +202,6 @@ Example supported URI formats: def gen_purge_args(subparser): parser = gen_command_parser(subparser, "purge", _("Purge cached template")) - requires_debug(parser) requires_template(parser) requires_template_dir(parser) parser.set_defaults(func=purge) @@ -210,7 +209,6 @@ def gen_purge_args(subparser): def gen_prepare_args(subparser): parser = gen_command_parser(subparser, "prepare", _("Prepare local template")) - requires_debug(parser) requires_template(parser) requires_connect(parser) requires_template_dir(parser) @@ -219,7 +217,6 @@ def gen_prepare_args(subparser): def gen_run_args(subparser): parser = gen_command_parser(subparser, "run", _("Run an instance of a template")) - requires_debug(parser) requires_name(parser) requires_template(parser) requires_connect(parser) @@ -238,7 +235,6 @@ def gen_run_args(subparser): def gen_list_args(subparser): parser = gen_command_parser(subparser, "list", _("List locally cached images")) - requires_debug(parser) requires_template_dir(parser) parser.add_argument("-s","--source", @@ -249,7 +245,11 @@ def gen_list_args(subparser): def main(): parser = argparse.ArgumentParser(description="Sandbox Container Image Tool") + requires_debug(parser) + subparser = parser.add_subparsers(help=_("commands")) + subparser.required = True + subparser.dest = "command" gen_purge_args(subparser) gen_prepare_args(subparser) gen_run_args(subparser) -- 2.14.3 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list