From 50a5e674ae97c49c1296b2b7d95e4ddaa9088776 Mon Sep 17 00:00:00 2001 From: Lars Wirzenius Date: Sat, 16 Mar 2019 18:17:04 +0200 Subject: Add: effitool delete-member --- effitool | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/effitool b/effitool index df448a9..1f4ca44 100755 --- a/effitool +++ b/effitool @@ -163,6 +163,17 @@ class HTTPAPI: r = urllib.request.urlopen(req) return self.request_json(r) + def delete(self, token, path, headers=None): + url = self.url(path) + host, port, path = self.parse_url(url) + + if headers is None: + headers = {} + headers['Authorization'] = 'Bearer {}'.format(token) + + req = urllib.request.Request(url, headers=headers, method='DELETE') + urllib.request.urlopen(req) + def parse_url(self, url): parse = urllib.parse.urlparse(url) if parse.scheme != 'https': @@ -326,6 +337,16 @@ class Tool: api = HTTPAPI(server['url']) api.put_json(token, '/memb', memb, headers=headers) + 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) + def list_members(self, args): server = self.get_chosen_server(args) token = self.get_admin_token(server) @@ -387,6 +408,9 @@ def process_args(config): ('rid', {}), ('filename', {}), ]), + ('delete-member', tool.delete_member, [ + ('rid', {}), + ]), ] p = argparse.ArgumentParser() -- cgit v1.2.1