On Fri, 2018-03-23 at 16:44 +0000, Daniel P. Berrangé wrote: > 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) ACK -- Cedric -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list