summaryrefslogtreecommitdiffstats
path: root/cli/objects/modes.py
diff options
context:
space:
mode:
Diffstat (limited to 'cli/objects/modes.py')
-rw-r--r--cli/objects/modes.py24
1 files changed, 24 insertions, 0 deletions
diff --git a/cli/objects/modes.py b/cli/objects/modes.py
index 04e281d..983175f 100644
--- a/cli/objects/modes.py
+++ b/cli/objects/modes.py
@@ -6,9 +6,33 @@
# Free Software Foundation, version 3.
#
+import argparse
+
class OgModes():
@staticmethod
def list_available_modes(rest):
r = rest.get('/modes')
print(r.json())
+
+ @staticmethod
+ def set_modes(rest, args):
+ parser = argparse.ArgumentParser()
+ parser.add_argument('--scope-id',
+ nargs=1,
+ required=True,
+ help='ID of the scope')
+ parser.add_argument('--scope-type',
+ nargs=1,
+ required=True,
+ help='Type of the scope')
+ parser.add_argument('--mode',
+ nargs=1,
+ required=True,
+ help='Mode for the scope')
+ parsed_args = parser.parse_args(args)
+
+ payload = {'scope': {'id': int(parsed_args.scope_id[0]),
+ 'type': parsed_args.scope_type[0]},
+ 'mode': parsed_args.mode[0]}
+ r = rest.post('/modes', payload=payload)