diff options
author | Lars Wirzenius <liw@liw.fi> | 2019-03-23 13:33:24 +0200 |
---|---|---|
committer | Lars Wirzenius <liw@liw.fi> | 2019-03-23 13:33:24 +0200 |
commit | 61f1fc798cd3447d1b926d33e7da450eb6273766 (patch) | |
tree | f9d50b9871baf0c534e689bd70a676545016b18c | |
parent | cbd569a83ceb14935a3a4505ae898f0b532c4e1e (diff) | |
download | effitool-61f1fc798cd3447d1b926d33e7da450eb6273766.tar.gz |
Add: effitool dump-members
-rwxr-xr-x | effitool | 30 |
1 files changed, 30 insertions, 0 deletions
@@ -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', {}), ]), |