summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xeffitool44
1 files changed, 21 insertions, 23 deletions
diff --git a/effitool b/effitool
index 36a7fa7..a6e59e2 100755
--- a/effitool
+++ b/effitool
@@ -239,6 +239,21 @@ class Session:
client['allowed_scopes'] = uniq(s for s in old if s not in denied)
self.update_client(client_id, client)
+ def add_member(self, member):
+ self._api.post_json(self._token, '/memb', member)
+
+ def update_member(self, rid, member):
+ headers = {
+ 'Muck-Id': rid,
+ }
+ self._api.put_json(self._token, '/memb', member, headers=headers)
+
+ def delete_member(self, rid):
+ headers = {
+ 'Muck-Id': rid,
+ }
+ self._api.delete(self._token, '/memb', headers=headers)
+
def fetch_member(self, rid):
headers = {
'Muck-Id': rid,
@@ -350,11 +365,8 @@ class Tool:
def add_member(self, args):
with open(args['filename']) as f:
memb = json.load(f)
-
- server = self.get_chosen_server(args)
- token = self.get_admin_token(server)
- api = HTTPAPI(server['url'])
- api.post_json(token, '/memb', memb)
+ session = self.get_session(args)
+ session.add_member(memb)
def show_member(self, args):
session = self.get_session(args)
@@ -362,28 +374,14 @@ class Tool:
self._format_json(memb, sys.stdout)
def update_member(self, args):
- rid = args['rid']
with open(args['filename']) as f:
memb = json.load(f)
-
- headers = {
- 'Muck-Id': args['rid'],
- }
-
- server = self.get_chosen_server(args)
- token = self.get_admin_token(server)
- api = HTTPAPI(server['url'])
- api.put_json(token, '/memb', memb, headers=headers)
+ session = self.get_session(args)
+ session.update_member(args['rid'], memb)
def delete_member(self, args):
- headers = {
- 'Muck-Id': args['rid'],
- }
-
- server = self.get_chosen_server(args)
- token = self.get_admin_token(server)
- api = HTTPAPI(server['url'])
- api.delete(token, '/memb', headers=headers)
+ session = self.get_session(args)
+ session.delete_member(args['rid'])
def list_members(self, args):
session = self.get_session(args)