From 61f1fc798cd3447d1b926d33e7da450eb6273766 Mon Sep 17 00:00:00 2001 From: Lars Wirzenius Date: Sat, 23 Mar 2019 13:33:24 +0200 Subject: Add: effitool dump-members --- effitool | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/effitool b/effitool index d466ca5..611c932 100755 --- a/effitool +++ b/effitool @@ -370,6 +370,35 @@ class Tool: for rid in sorted(obj.get('resources', [])): print(rid) + def dump_members(self, args): + server = self.get_chosen_server(args) + token = self.get_admin_token(server) + api = HTTPAPI(server['url']) + cond = { + 'cond': [ + { + 'where': 'meta', + 'op': '>=', + 'field': 'id', + 'pattern': '', + } + ] + } + body = json.dumps(cond).encode('utf-8') + headers = { + 'Content-Type': 'application/json', + } + obj = api.get_list(token, '/search', headers=headers, body=body) + rids = obj.get('resources', []) + + members = {} + for rid in rids: + headers = { + 'Muck-Id': rid, + } + members[rid] = api.get_json(token, '/memb', headers=headers) + json.dump(members, sys.stdout, indent=4) + def uniq(items): return list(sorted(set(items))) @@ -399,6 +428,7 @@ def process_args(config): ('scope', {'nargs':'*'}), ]), ('list-members', tool.list_members, []), + ('dump-members', tool.dump_members, []), ('add-member', tool.add_member, [ ('filename', {}), ]), -- cgit v1.2.1