5246: Use pkg_resources.parse_version to test urllib3 version string. Identify
authorPeter Amstutz <peter.amstutz@curoverse.com>
Wed, 4 Mar 2015 16:59:57 +0000 (11:59 -0500)
committerPeter Amstutz <peter.amstutz@curoverse.com>
Wed, 4 Mar 2015 16:59:57 +0000 (11:59 -0500)
Debian 8 specifically in comment.

sdk/python/arvados/keep.py

index cbc51aa00f6a8237a57b5a4eee93f6b557f99eb8..0c7f4674f9fd62eacf6662897502c496ff4d2b76 100644 (file)
@@ -32,18 +32,12 @@ try:
     # The 'requests' library enables urllib3's SNI support by default, which uses pyopenssl.
     # However, urllib3 prior to version 1.10 has a major bug in this feature
     # (OpenSSL WantWriteError, https://github.com/shazow/urllib3/issues/412)
-    # Unfortunately a certain major Linux distribution is stablizing on urllib3
-    # 1.9.1 which means the following workaround is necessary to be able to use
+    # Unfortunately Debian 8 is stabilizing on urllib3 1.9.1 which means the
+    # following workaround is necessary to be able to use
     # the arvados python sdk with the distribution-provided packages.
-
     import urllib3
-    urllib3_ok = False
-    urllib3version = re.match(r'(\d+)\.(\d+)\.(\d+)', urllib3.__version__)
-    if (urllib3version and
-        int(urllib3version.group(1)) == 1 and
-        int(urllib3version.group(2)) >= 10):
-        urllib3_ok = True
-    if not urllib3_ok:
+    from pkg_resources import parse_version
+    if parse_version(urllib3.__version__) < parse_version('1.10'):
         from urllib3.contrib import pyopenssl
         pyopenssl.extract_from_urllib3()
 except ImportError: