diff options
Diffstat (limited to 'cli')
-rw-r--r-- | cli/cli.py | 4 | ||||
-rw-r--r-- | cli/objects/repo.py | 41 |
2 files changed, 39 insertions, 6 deletions
@@ -191,7 +191,7 @@ class OgCLI(): OgDisk.setup_disk(self.rest, args[1:]) def update(self, args): - choices = ['image', 'center', 'room', 'folder'] + choices = ['image', 'repo', 'center', 'room', 'folder'] parser = argparse.ArgumentParser(prog='ogcli update') parser.add_argument('update_obj', choices=choices) @@ -209,6 +209,8 @@ class OgCLI(): OgRoom.update_room(self.rest, args[1:]) elif parsed_args.update_obj == 'folder': OgFolder.update_folder(self.rest, args[1:]) + elif parsed_args.update_obj == 'repo': + OgRepo.update_repo(self.rest, args[1:]) def delete(self, args): choices = ['server', 'repo', 'center', 'room', 'client', 'folder'] diff --git a/cli/objects/repo.py b/cli/objects/repo.py index a85f7a3..4e20edd 100644 --- a/cli/objects/repo.py +++ b/cli/objects/repo.py @@ -20,28 +20,59 @@ class OgRepo(): def add_repo(rest, args): parser = argparse.ArgumentParser(prog='ogcli add repo') parser.add_argument('--address', - nargs='?', + nargs='+', required=True, - help='valid ip address') + help='IP list separated by spaces') parser.add_argument('--name', nargs='?', required=True, - help='valid ip address') + help='name of the repository') parser.add_argument('--center', nargs='?', type=int, help='(Optional, Legacy) Center id serving this repository') parsed_args = parser.parse_args(args) payload = { - 'ip': parsed_args.address, + 'addr': parsed_args.address, 'name': parsed_args.name, } if parsed_args.center: - payload['center']: center + payload['center']: parsed_args.center rest.post('/repository/add', payload=payload) @staticmethod + def update_repo(rest, args): + parser = argparse.ArgumentParser(prog='ogcli add repo') + parser.add_argument('--id', + type=int, + nargs='?', + required=True, + help='repo id (list repos using "ogcli list repos")') + parser.add_argument('--address', + nargs='+', + required=True, + help='IP list separated by spaces') + parser.add_argument('--name', + nargs='?', + required=True, + help='name of the repository') + parser.add_argument('--center', + nargs='?', + type=int, + help='(Optional, Legacy) Center id serving this repository') + parsed_args = parser.parse_args(args) + payload = { + 'id': parsed_args.id, + 'addr': parsed_args.address, + 'name': parsed_args.name, + } + if parsed_args.center: + payload['center']: parsed_args.center + + rest.post('/repository/update', payload=payload) + + @staticmethod def delete_repo(rest, args): parser = argparse.ArgumentParser(prog='ogcli delete repo') parser.add_argument('--id', |