summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/spack/spack/util/web.py12
1 files changed, 9 insertions, 3 deletions
diff --git a/lib/spack/spack/util/web.py b/lib/spack/spack/util/web.py
index 0922508155..72f7abc2c4 100644
--- a/lib/spack/spack/util/web.py
+++ b/lib/spack/spack/util/web.py
@@ -507,9 +507,9 @@ def _urlopen(req, *args, **kwargs):
except AttributeError:
pass
- # We don't pass 'context' parameter because it was only introduced starting
+ # Note: 'context' parameter was only introduced starting
# with versions 2.7.9 and 3.4.3 of Python.
- if 'context' in kwargs:
+ if __UNABLE_TO_VERIFY_SSL:
del kwargs['context']
opener = urlopen
@@ -517,7 +517,13 @@ def _urlopen(req, *args, **kwargs):
import spack.s3_handler
opener = spack.s3_handler.open
- return opener(req, *args, **kwargs)
+ try:
+ return opener(req, *args, **kwargs)
+ except TypeError as err:
+ # If the above fails because of 'context', call without 'context'.
+ if 'context' in kwargs and 'context' in str(err):
+ del kwargs['context']
+ return opener(req, *args, **kwargs)
def find_versions_of_archive(