Mentions légales du service

Skip to content
Snippets Groups Projects
Commit 5369b4c0 authored by CAMPION Sebastien's avatar CAMPION Sebastien
Browse files

Merge branch 'tls_verify' into 'master'

Tls verify

See merge request allgo/client!1
parents 3981fee9 6da20083
No related branches found
No related tags found
1 merge request!1Tls verify
...@@ -13,7 +13,7 @@ except ImportError: ...@@ -13,7 +13,7 @@ except ImportError:
import requests import requests
log = logging.getLogger('allgo') log = logging.getLogger('allgo')
__version__ = '0.1.7' __version__ = '0.1.8'
def local_token(): def local_token():
...@@ -24,6 +24,7 @@ def local_token(): ...@@ -24,6 +24,7 @@ def local_token():
with open(filetoken) as f: with open(filetoken) as f:
return f.read() return f.read()
class App: class App:
""" """
AllGo app submission object AllGo app submission object
...@@ -43,14 +44,17 @@ class App: ...@@ -43,14 +44,17 @@ class App:
elif local_token(): elif local_token():
self.token = local_token() self.token = local_token()
else: 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 Submit the job
:param files: input files :param files: input files
:param outputdir: by default current directory :param outputdir: by default current directory
:param params: a string parameters see the application documentation :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: :return:
""" """
headers = {'Authorization': 'Token token={}'.format(self.token)} headers = {'Authorization': 'Token token={}'.format(self.token)}
...@@ -58,13 +62,15 @@ class App: ...@@ -58,13 +62,15 @@ class App:
"job[webapp_id]": self.name, "job[webapp_id]": self.name,
"job[param]": params} "job[param]": params}
ALLGO_URL = os.environ.get('ALLGO_URL', "https://allgo.inria.fr") 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.raise_for_status()
r = r.json() r = r.json()
jobid = r['id'] jobid = r['id']
results = None results = None
while True: 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() r.raise_for_status()
results = r.json() results = r.json()
status = results['status'] status = results['status']
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment