diff options
author | Sergey M․ <dstftw@gmail.com> | 2020-02-29 19:08:44 +0700 |
---|---|---|
committer | Sergey M․ <dstftw@gmail.com> | 2020-02-29 19:08:44 +0700 |
commit | fca6dba8b80286ae6d3ca0a60c4799c220a52650 (patch) | |
tree | 5f8da54af94748655ed2c7dcb30e5bb74e57b5b8 /youtube_dl/utils.py | |
parent | e2f8bf5888274b95513b430e0f20261120699b4b (diff) |
[YoutubeDL] Force redirect URL to unicode on python 2
Diffstat (limited to 'youtube_dl/utils.py')
-rw-r--r-- | youtube_dl/utils.py | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/youtube_dl/utils.py b/youtube_dl/utils.py index f6204692a..8ccf25489 100644 --- a/youtube_dl/utils.py +++ b/youtube_dl/utils.py @@ -2795,6 +2795,15 @@ class YoutubeDLCookieProcessor(compat_urllib_request.HTTPCookieProcessor): https_response = http_response +class YoutubeDLRedirectHandler(compat_urllib_request.HTTPRedirectHandler): + if sys.version_info[0] < 3: + def redirect_request(self, req, fp, code, msg, headers, newurl): + # On python 2 urlh.geturl() may sometimes return redirect URL + # as byte string instead of unicode. This workaround allows + # to force it always return unicode. + return compat_urllib_request.HTTPRedirectHandler.redirect_request(self, req, fp, code, msg, headers, compat_str(newurl)) + + def extract_timezone(date_str): m = re.search( r'^.{8,}?(?P<tz>Z$| ?(?P<sign>\+|-)(?P<hours>[0-9]{2}):?(?P<minutes>[0-9]{2})$)', |