From ce861a21c9021e0f467e862a1bae7525a7fd5012 Mon Sep 17 00:00:00 2001 From: Lars Wirzenius Date: Sat, 23 Mar 2019 14:19:49 +0200 Subject: Refacor: add Session.list_clients and get_client --- effitool | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/effitool b/effitool index cb869b2..9caf322 100755 --- a/effitool +++ b/effitool @@ -215,6 +215,13 @@ class Session: } self._api.put_json(self._token, '{}/secret'.format(client_path), new_secret) + def list_clients(self): + obj = self._api.get_list(self._token, '/clients') + return sorted(obj.get('resources', [])) + + def get_client(self, client_id): + return self._api.get_json(self._token, '/clients/{}'.format(client_id)) + def fetch_member(self, rid): headers = { 'Muck-Id': rid, @@ -304,19 +311,13 @@ class Tool: print('Created new admin client', args['client_id']) def list_clients(self, args): - server = self.get_chosen_server(args) - token = self.get_admin_token(server) - api = HTTPAPI(server['url']) - obj = api.get_list(token, '/clients') - for name in sorted(obj.get('resources', [])): + session = self.get_session(args) + for name in session.list_clients(): print(name) - - def show_clients(self, args): - server = self.get_chosen_server(args) - token = self.get_admin_token(server) - api = HTTPAPI(server['url']) - obj = api.get_list(token, '/clients') - client = api.get_json(token, '/clients/{}'.format(args['client-name'])) + + def show_client(self, args): + session = self.get_session(args) + client = session.get_client(args['client-name']) del client['hashed_secret'] for scope in client.get('allowed_scopes', []): print(scope) @@ -414,7 +415,7 @@ def process_args(config): ('--client-secret', {'required':True}), ]), ('list-clients', tool.list_clients, []), - ('show-client', tool.show_clients, [ + ('show-client', tool.show_client, [ ('client-name', {}), ]), ('allow-scope', tool.allow_scope, [ -- cgit v1.2.1