projects
/
youtube-dl
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
9460db8
)
Install our own HTTPS handler as well (#1309)
author
Philipp Hagemeister
<phihag@phihag.de>
Sat, 24 Aug 2013 20:49:22 +0000
(22:49 +0200)
committer
Philipp Hagemeister
<phihag@phihag.de>
Sat, 24 Aug 2013 20:49:22 +0000
(22:49 +0200)
youtube_dl/utils.py
patch
|
blob
|
history
diff --git
a/youtube_dl/utils.py
b/youtube_dl/utils.py
index 52cfb8a6d18e69be0db213bbf3f4da63f1fcd7d9..ab1049cc0d99b17adcfc83f951d38e89a89a4bc9 100644
(file)
--- a/
youtube_dl/utils.py
+++ b/
youtube_dl/utils.py
@@
-476,7
+476,7
@@
def formatSeconds(secs):
def make_HTTPS_handler(opts):
if sys.version_info < (3,2):
# Python's 2.x handler is very simplistic
def make_HTTPS_handler(opts):
if sys.version_info < (3,2):
# Python's 2.x handler is very simplistic
- return
compat_urllib_request.HTTPSHandler
()
+ return
YoutubeDLHandlerHTTPS
()
else:
import ssl
context = ssl.SSLContext(ssl.PROTOCOL_SSLv23)
else:
import ssl
context = ssl.SSLContext(ssl.PROTOCOL_SSLv23)
@@
-485,7
+485,7
@@
def make_HTTPS_handler(opts):
context.verify_mode = (ssl.CERT_NONE
if opts.no_check_certificate
else ssl.CERT_REQUIRED)
context.verify_mode = (ssl.CERT_NONE
if opts.no_check_certificate
else ssl.CERT_REQUIRED)
- return
compat_urllib_request.HTTPSHandler
(context=context)
+ return
YoutubeDLHandlerHTTPS
(context=context)
class ExtractorError(Exception):
"""Error during info extraction."""
class ExtractorError(Exception):
"""Error during info extraction."""
@@
-569,7
+569,8
@@
class ContentTooShortError(Exception):
self.downloaded = downloaded
self.expected = expected
self.downloaded = downloaded
self.expected = expected
-class YoutubeDLHandler(compat_urllib_request.HTTPHandler):
+
+class YoutubeDLHandler_Template: # Old-style class, like HTTPHandler
"""Handler for HTTP requests and responses.
This class, when installed with an OpenerDirector, automatically adds
"""Handler for HTTP requests and responses.
This class, when installed with an OpenerDirector, automatically adds
@@
-602,8
+603,8
@@
class YoutubeDLHandler(compat_urllib_request.HTTPHandler):
ret.code = code
return ret
ret.code = code
return ret
- def http_request(self, req):
- for h,v in std_headers.items():
+ def
_
http_request(self, req):
+ for h,
v in std_headers.items():
if h in req.headers:
del req.headers[h]
req.add_header(h, v)
if h in req.headers:
del req.headers[h]
req.add_header(h, v)
@@
-618,7
+619,7
@@
class YoutubeDLHandler(compat_urllib_request.HTTPHandler):
del req.headers['Youtubedl-user-agent']
return req
del req.headers['Youtubedl-user-agent']
return req
- def http_response(self, req, resp):
+ def
_
http_response(self, req, resp):
old_resp = resp
# gzip
if resp.headers.get('Content-encoding', '') == 'gzip':
old_resp = resp
# gzip
if resp.headers.get('Content-encoding', '') == 'gzip':
@@
-632,8
+633,16
@@
class YoutubeDLHandler(compat_urllib_request.HTTPHandler):
resp.msg = old_resp.msg
return resp
resp.msg = old_resp.msg
return resp
- https_request = http_request
- https_response = http_response
+
+class YoutubeDLHandler(YoutubeDLHandler_Template, compat_urllib_request.HTTPHandler):
+ http_request = YoutubeDLHandler_Template._http_request
+ http_response = YoutubeDLHandler_Template._http_response
+
+
+class YoutubeDLHandlerHTTPS(YoutubeDLHandler_Template, compat_urllib_request.HTTPSHandler):
+ https_request = YoutubeDLHandler_Template._http_request
+ https_response = YoutubeDLHandler_Template._http_response
+
def unified_strdate(date_str):
"""Return a string with the date in the format YYYYMMDD"""
def unified_strdate(date_str):
"""Return a string with the date in the format YYYYMMDD"""