summaryrefslogtreecommitdiffstats
path: root/cli/objects/repo.py
diff options
context:
space:
mode:
authorJose M. Guisado <jguisado@soleta.eu>2023-10-11 17:50:19 +0200
committerJose M. Guisado <jguisado@soleta.eu>2023-10-11 17:50:47 +0200
commita4bf35ef28ee1f18cea0541addcbb24d92dfdb62 (patch)
treebdfb7270563aeb6df710d1522f23b496727f0224 /cli/objects/repo.py
parent4e89fe44d0c69406b3f6ec1ca885c93bd6793448 (diff)
repo: add add_repo function
User can add a new repository to the database using "ogcli add repo": $ ogcli add repo --name ogcli --address 10.10.10.10 { "center": 1, "id": 13, "ip": "10.10.10.10", "name": "ogcli" } The --center optional parameter is used to set the center column of "repositorios" table in the database to the specified value. If this parameter is missing ogServer API will default to center with id 1 (the default center). This is to not break the repository in the legacy webconsole users.
Diffstat (limited to 'cli/objects/repo.py')
-rw-r--r--cli/objects/repo.py25
1 files changed, 25 insertions, 0 deletions
diff --git a/cli/objects/repo.py b/cli/objects/repo.py
index c4c4164..9728f33 100644
--- a/cli/objects/repo.py
+++ b/cli/objects/repo.py
@@ -17,6 +17,31 @@ class OgRepo():
print_json(r.text)
@staticmethod
+ def add_repo(rest, args):
+ parser = argparse.ArgumentParser(prog='ogcli add repo')
+ parser.add_argument('--address',
+ nargs='?',
+ required=True,
+ help='valid ip address')
+ parser.add_argument('--name',
+ nargs='?',
+ required=True,
+ help='valid ip address')
+ 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,
+ 'name': parsed_args.name,
+ }
+ if parsed_args.center:
+ payload['center']: center
+
+ rest.post('/repository/add', payload=payload)
+
+ @staticmethod
def set_repo(rest, args):
parser = argparse.ArgumentParser(prog='ogcli set repo')
parser.add_argument('--id',