diff options
Diffstat (limited to 'cli')
-rw-r--r-- | cli/cli.py | 63 |
1 files changed, 54 insertions, 9 deletions
@@ -73,8 +73,13 @@ class OgCLI(): 'servers'] parser = argparse.ArgumentParser(prog='ogcli list') parser.add_argument('item', choices=choices) - parsed_args = parser.parse_args([args[0]]) + if not args: + print('Missing list subcommand', file=sys.stderr) + parser.print_help(file=sys.stderr) + sys.exit(1) + + parsed_args = parser.parse_args([args[0]]) if parsed_args.item == 'clients': OgClient.list_clients(self.rest) elif parsed_args.item == 'client': @@ -96,8 +101,13 @@ class OgCLI(): choices = ['modes', 'mode', 'server'] parser = argparse.ArgumentParser(prog='ogcli set') parser.add_argument('item', choices=choices) - parsed_args = parser.parse_args([args[0]]) + if not args: + print('Missing set subcommand', file=sys.stderr) + parser.print_help(file=sys.stderr) + sys.exit(1) + + parsed_args = parser.parse_args([args[0]]) if parsed_args.item in ['modes', 'mode']: OgModes.set_modes(self.rest, args[1:]) elif parsed_args.item == 'server': @@ -107,8 +117,13 @@ class OgCLI(): choices = ['reboot', 'refresh', 'poweroff', 'wol'] parser = argparse.ArgumentParser(prog='ogcli send') parser.add_argument('send_obj', choices=choices) - parsed_args = parser.parse_args([args[0]]) + if not args: + print('Missing send subcommand', file=sys.stderr) + parser.print_help(file=sys.stderr) + sys.exit(1) + + parsed_args = parser.parse_args([args[0]]) if parsed_args.send_obj == 'wol': OgWol.send_wol(self.rest, args[1:]) elif parsed_args.send_obj == 'poweroff': @@ -122,8 +137,13 @@ class OgCLI(): choices = ['image'] parser = argparse.ArgumentParser(prog='ogcli restore') parser.add_argument('send_obj', choices=choices) - parsed_args = parser.parse_args([args[0]]) + if not args: + print('Missing restore subcommand', file=sys.stderr) + parser.print_help(file=sys.stderr) + sys.exit(1) + + parsed_args = parser.parse_args([args[0]]) if parsed_args.send_obj == 'image': OgImage.restore_image(self.rest, args[1:]) @@ -131,8 +151,13 @@ class OgCLI(): choices = ['image'] parser = argparse.ArgumentParser(prog='ogcli create') parser.add_argument('create_obj', choices=choices) - parsed_args = parser.parse_args([args[0]]) + if not args: + print('Missing create subcommand', file=sys.stderr) + parser.print_help(file=sys.stderr) + sys.exit(1) + + parsed_args = parser.parse_args([args[0]]) if parsed_args.create_obj == 'image': OgImage.create_image(self.rest, args[1:]) @@ -140,8 +165,13 @@ class OgCLI(): choices = ['disk'] parser = argparse.ArgumentParser(prog='ogcli setup') parser.add_argument('setup_obj', choices=choices) - parsed_args = parser.parse_args([args[0]]) + if not args: + print('Missing setup subcommand', file=sys.stderr) + parser.print_help(file=sys.stderr) + sys.exit(1) + + parsed_args = parser.parse_args([args[0]]) if parsed_args.setup_obj == 'disk': OgDisk.setup_disk(self.rest, args[1:]) @@ -149,8 +179,13 @@ class OgCLI(): choices = ['image'] parser = argparse.ArgumentParser(prog='ogcli update') parser.add_argument('update_obj', choices=choices) - parsed_args = parser.parse_args([args[0]]) + if not args: + print('Missing update subcommand', file=sys.stderr) + parser.print_help(file=sys.stderr) + sys.exit(1) + + parsed_args = parser.parse_args([args[0]]) if parsed_args.update_obj == 'image': OgImage.update_image(self.rest, args[1:]) @@ -158,8 +193,13 @@ class OgCLI(): choices = ['server'] parser = argparse.ArgumentParser(prog='ogcli delete') parser.add_argument('delete_obj', choices=choices) - parsed_args = parser.parse_args([args[0]]) + if not args: + print('Missing delete subcommand', file=sys.stderr) + parser.print_help(file=sys.stderr) + sys.exit(1) + + parsed_args = parser.parse_args([args[0]]) if parsed_args.delete_obj == 'server': OgServer.delete_server(self.rest, args[1:]) @@ -167,7 +207,12 @@ class OgCLI(): choices = ['server'] parser = argparse.ArgumentParser(prog='ogcli add') parser.add_argument('add_obj', choices=choices) - parsed_args = parser.parse_args([args[0]]) + if not args: + print('Missing add subcommand', file=sys.stderr) + parser.print_help(file=sys.stderr) + sys.exit(1) + + parsed_args = parser.parse_args([args[0]]) if parsed_args.add_obj == 'server': OgServer.add_server(self.rest, args[1:]) |