diff options
author | Lars Wirzenius <liw@liw.fi> | 2019-03-16 18:17:04 +0200 |
---|---|---|
committer | Lars Wirzenius <liw@liw.fi> | 2019-03-16 18:17:04 +0200 |
commit | 50a5e674ae97c49c1296b2b7d95e4ddaa9088776 (patch) | |
tree | 83ed789ffeba15ae67e2323b2489cd8d3ba02052 | |
parent | f101d4fa71e4eb20ce1ef245b6e4da96584f5e03 (diff) | |
download | effitool-50a5e674ae97c49c1296b2b7d95e4ddaa9088776.tar.gz |
Add: effitool delete-member
-rwxr-xr-x | effitool | 24 |
1 files changed, 24 insertions, 0 deletions
@@ -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() |