diff options
author | bors-servo <metajack+bors@gmail.com> | 2015-04-14 10:23:15 -0500 |
---|---|---|
committer | bors-servo <metajack+bors@gmail.com> | 2015-04-14 10:23:15 -0500 |
commit | 43d476eb2babedac2ab5ab336fbfd6bae9372f16 (patch) | |
tree | 50cf0814cb7cc74293501350c60698202de5adc3 /components/script/dom/bindings/codegen/BindingUtils.cpp | |
parent | f7c3544d75f277f8ac82c54f075d53042761b344 (diff) | |
parent | 1ee479707b97b732e3791345df558a8a70201431 (diff) | |
download | servo-43d476eb2babedac2ab5ab336fbfd6bae9372f16.tar.gz servo-43d476eb2babedac2ab5ab336fbfd6bae9372f16.zip |
Auto merge of #5678 - mdamien:patch-1, r=jdm
The urllib version used a `FancyURLOpener` which use urllib. But urllib does not not handle proxies with SSL well.
For example, when adding the proxies to urllib.FancyURLOpener, I got this SSL error:
IOError: [Errno socket error] [Errno 1] _ssl.c:510: error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol
So I switched the function to urllib2.
A better solution would be to use `requests` but I prefer to stay with the "no-dependency" approach.
For example, this was my first solution with `requests`:
```python
def download(desc, src, dst):
print("Downloading(R) %s..." % desc)
with open(dst, 'wb') as handle:
response = requests.get(src, stream=True)
if not response.ok:
print("something went wrong downloading %s, :(" % desc)
sys.exit(1)
size = int(response.headers['content-length'])
block_size = 1024
recved = 0
for block in response.iter_content(1024):
recved += len(block)
pct = recved * 100.0 / size
print("\rDownloading %s: %5.1f%%" % (desc, pct), end="")
if not block:
break
handle.write(block)
print()
```
<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/5678)
<!-- Reviewable:end -->
Diffstat (limited to 'components/script/dom/bindings/codegen/BindingUtils.cpp')
0 files changed, 0 insertions, 0 deletions