From 6da200833fe2ff6962271ad562fe2a677944a1e1 Mon Sep 17 00:00:00 2001 From: LETORT Sebastien <sebastien.letort@irisa.fr> Date: Mon, 29 Apr 2019 14:06:10 +0200 Subject: [PATCH] Tls verify --- allgo/__init__.py | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/allgo/__init__.py b/allgo/__init__.py index bd6a9d7..97ec9e1 100644 --- a/allgo/__init__.py +++ b/allgo/__init__.py @@ -13,7 +13,7 @@ except ImportError: import requests log = logging.getLogger('allgo') -__version__ = '0.1.7' +__version__ = '0.1.8' def local_token(): @@ -24,6 +24,7 @@ def local_token(): with open(filetoken) as f: return f.read() + class App: """ AllGo app submission object @@ -43,14 +44,17 @@ class App: elif local_token(): self.token = local_token() else: - raise Exception("You must provide a token in parameter or define an environment variable 'ALLGO_TOKEN'") + err_msg = "You must provide a token in parameter" + err_msg += " or define an environment variable 'ALLGO_TOKEN'" + raise Exception(err_msg) - def run(self, files, outputdir='.', params=''): + def run(self, files, outputdir='.', params='', verify_tls=True): """ Submit the job :param files: input files :param outputdir: by default current directory :param params: a string parameters see the application documentation + :param verify_tls: [True] the value is pass to the verify arg of requests.post :return: """ headers = {'Authorization': 'Token token={}'.format(self.token)} @@ -58,13 +62,15 @@ class App: "job[webapp_id]": self.name, "job[param]": params} ALLGO_URL = os.environ.get('ALLGO_URL', "https://allgo.inria.fr") - r = requests.post('%s/api/v1/jobs/' % ALLGO_URL, headers=headers, files=files, data=data) + url = '%s/api/v1/jobs' % ALLGO_URL + r = requests.post(url, headers=headers, files=files, data=data, verify=verify_tls) r.raise_for_status() r = r.json() jobid = r['id'] results = None while True: - r = requests.get('{}/api/v1/jobs/{}'.format(ALLGO_URL, jobid), headers=headers) + url = '{}/api/v1/jobs/{}'.format(ALLGO_URL, jobid) + r = requests.get(url, headers=headers, verify=verify_tls) r.raise_for_status() results = r.json() status = results['status'] -- GitLab