summaryrefslogtreecommitdiff
path: root/effitool
diff options
context:
space:
mode:
Diffstat (limited to 'effitool')
-rwxr-xr-xeffitool8
1 files changed, 7 insertions, 1 deletions
diff --git a/effitool b/effitool
index 2a3f062..338d960 100755
--- a/effitool
+++ b/effitool
@@ -140,10 +140,13 @@ class EffiAPI:
def new_token(self):
if self._fake:
self._token = 'FAKE'
- else:
+ elif self._token is None:
self._token = self.get_token_with_scopes(all_possible_scopes)
self._http_api.set_token(self._token)
+ def set_token(self, token):
+ self._token = token
+
def get_token(self):
if self._token is None:
self.new_token()
@@ -234,6 +237,8 @@ class EffiTool:
sys.exit('ERROR: Missing command')
api = self._new_api(args, args['fake'])
+ if args['token']:
+ api.set_token(args['token'])
try:
logging.debug('calling %r with %r', func.__name__, args)
value = func(args, api)
@@ -296,6 +301,7 @@ class EffiTool:
parser = argparse.ArgumentParser(description='Manage Effi members')
parser.add_argument('-u', '--url', dest='url', required=True)
+ parser.add_argument('-T', '--token', dest='token', required=False)
parser.add_argument('-t', '--token-url', dest='token_url', required=True)
parser.add_argument('-i', '--client-id', dest='client_id', required=True)
parser.add_argument(