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