aboutsummaryrefslogtreecommitdiffstats
path: root/python/servo/util.py
diff options
context:
space:
mode:
authorbors-servo <lbergstrom+bors@mozilla.com>2019-01-03 06:17:03 -0500
committerGitHub <noreply@github.com>2019-01-03 06:17:03 -0500
commit1753cda36297e6d4be667ace7cd182f05130cc94 (patch)
tree2e15ac9838bdca0f123f8ab6c7b9504da8426c2f /python/servo/util.py
parenta42f2f4f18596552b123f22b2d546b6447eeea20 (diff)
parent1bc8f23232ea0960d32f7ffa34f86c80b8d4e403 (diff)
downloadservo-1753cda36297e6d4be667ace7cd182f05130cc94.tar.gz
servo-1753cda36297e6d4be667ace7cd182f05130cc94.zip
Auto merge of #22596 - shanavas786:fix-certifi, r=SimonSapin
Fix certifi import error while running ./match bootstrap Fixes #22590 <!-- Please describe your changes on the following line: --> --- <!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: --> - [x] `./mach bootstrap` does not report any errors - [x] These changes fix #22590 <!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.--> <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. --> <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/22596) <!-- Reviewable:end -->
Diffstat (limited to 'python/servo/util.py')
-rw-r--r--python/servo/util.py26
1 files changed, 17 insertions, 9 deletions
diff --git a/python/servo/util.py b/python/servo/util.py
index 8359ad90b28..818240d39e6 100644
--- a/python/servo/util.py
+++ b/python/servo/util.py
@@ -28,14 +28,22 @@ try:
except ImportError:
HAS_SNI = False
-# The cafile parameter was added in 2.7.9
-if HAS_SNI and sys.version_info >= (2, 7, 9):
- import certifi
- STATIC_RUST_LANG_ORG_DIST = "https://static.rust-lang.org/dist"
- URLOPEN_KWARGS = {"cafile": certifi.where()}
-else:
- STATIC_RUST_LANG_ORG_DIST = "https://static-rust-lang-org.s3.amazonaws.com/dist"
- URLOPEN_KWARGS = {}
+HAS_SNI_AND_RECENT_PYTHON = HAS_SNI and sys.version_info >= (2, 7, 9)
+
+
+def get_static_rust_lang_org_dist():
+ if HAS_SNI_AND_RECENT_PYTHON:
+ return "https://static.rust-lang.org/dist"
+
+ return "https://static-rust-lang-org.s3.amazonaws.com/dist"
+
+
+def get_urlopen_kwargs():
+ # The cafile parameter was added in 2.7.9
+ if HAS_SNI_AND_RECENT_PYTHON:
+ import certifi
+ return {"cafile": certifi.where()}
+ return {}
def remove_readonly(func, path, _):
@@ -96,7 +104,7 @@ def download(desc, src, writer, start_byte=0):
req = urllib2.Request(src)
if start_byte:
req = urllib2.Request(src, headers={'Range': 'bytes={}-'.format(start_byte)})
- resp = urllib2.urlopen(req, **URLOPEN_KWARGS)
+ resp = urllib2.urlopen(req, **get_urlopen_kwargs())
fsize = None
if resp.info().getheader('Content-Length'):