diff options
author | bors-servo <lbergstrom+bors@mozilla.com> | 2019-01-03 06:17:03 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-01-03 06:17:03 -0500 |
commit | 1753cda36297e6d4be667ace7cd182f05130cc94 (patch) | |
tree | 2e15ac9838bdca0f123f8ab6c7b9504da8426c2f /python/servo | |
parent | a42f2f4f18596552b123f22b2d546b6447eeea20 (diff) | |
parent | 1bc8f23232ea0960d32f7ffa34f86c80b8d4e403 (diff) | |
download | servo-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')
-rw-r--r-- | python/servo/devenv_commands.py | 6 | ||||
-rw-r--r-- | python/servo/util.py | 26 |
2 files changed, 20 insertions, 12 deletions
diff --git a/python/servo/devenv_commands.py b/python/servo/devenv_commands.py index 46862754bd1..b298bf48fd1 100644 --- a/python/servo/devenv_commands.py +++ b/python/servo/devenv_commands.py @@ -26,7 +26,7 @@ from mach.decorators import ( from servo.command_base import CommandBase, cd, call, BIN_SUFFIX from servo.build_commands import notify_build_done -from servo.util import STATIC_RUST_LANG_ORG_DIST, URLOPEN_KWARGS +from servo.util import get_static_rust_lang_org_dist, get_urlopen_kwargs @CommandProvider @@ -216,8 +216,8 @@ class MachCommands(CommandBase): description='Update the Rust version to latest Nightly', category='devenv') def rustup(self): - url = STATIC_RUST_LANG_ORG_DIST + "/channel-rust-nightly-date.txt" - nightly_date = urllib2.urlopen(url, **URLOPEN_KWARGS).read() + url = get_static_rust_lang_org_dist() + "/channel-rust-nightly-date.txt" + nightly_date = urllib2.urlopen(url, **get_urlopen_kwargs()).read() toolchain = "nightly-" + nightly_date filename = path.join(self.context.topdir, "rust-toolchain") with open(filename, "w") as f: 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'): |