|
66 | 66 | import lib.simplejson as json |
67 | 67 | sys.path.pop() |
68 | 68 |
|
| 69 | +try: |
| 70 | + import ssl |
| 71 | + NO_SSL_VALIDATION = False |
| 72 | +except ImportError: |
| 73 | + LOG.debug("ssl not found, disabling certificate validation") |
| 74 | + NO_SSL_VALIDATION = True |
| 75 | + |
69 | 76 | # ---------------------------------------------------------------------------- |
70 | 77 | # Version |
71 | 78 | __version__ = "3.0.8" |
@@ -183,6 +190,7 @@ def __init__(self): |
183 | 190 | self.proxy_pass = None |
184 | 191 | self.session_token = None |
185 | 192 | self.authorization = None |
| 193 | + self.no_ssl_validation = False |
186 | 194 |
|
187 | 195 | class Shotgun(object): |
188 | 196 | """Shotgun Client Connection""" |
@@ -229,6 +237,7 @@ def __init__(self, |
229 | 237 | self.config.api_key = api_key |
230 | 238 | self.config.script_name = script_name |
231 | 239 | self.config.convert_datetimes_to_utc = convert_datetimes_to_utc |
| 240 | + self.config.no_ssl_validation = NO_SSL_VALIDATION |
232 | 241 | self._connection = None |
233 | 242 |
|
234 | 243 | self.base_url = (base_url or "").lower() |
@@ -1235,9 +1244,10 @@ def _get_connection(self): |
1235 | 1244 | self.config.proxy_port, proxy_user=self.config.proxy_user, |
1236 | 1245 | proxy_pass=self.config.proxy_pass) |
1237 | 1246 | self._connection = Http(timeout=self.config.timeout_secs, |
1238 | | - proxy_info=pi) |
| 1247 | + proxy_info=pi, disable_ssl_certificate_validation=self.config.no_ssl_validation) |
1239 | 1248 | else: |
1240 | | - self._connection = Http(timeout=self.config.timeout_secs) |
| 1249 | + self._connection = Http(timeout=self.config.timeout_secs, |
| 1250 | + disable_ssl_certificate_validation=self.config.no_ssl_validation) |
1241 | 1251 |
|
1242 | 1252 | return self._connection |
1243 | 1253 |
|
|
0 commit comments