From f206126df090d78f30426321473ebd566c3b7866 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergey=20M=E2=80=A4?= Date: Tue, 23 Jan 2018 21:53:01 +0700 Subject: [PATCH] [compat] Add compat_b64decode --- youtube_dl/compat.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/youtube_dl/compat.py b/youtube_dl/compat.py index 41ca9adf1..646c9d79c 100644 --- a/youtube_dl/compat.py +++ b/youtube_dl/compat.py @@ -1,6 +1,7 @@ # coding: utf-8 from __future__ import unicode_literals +import base64 import binascii import collections import ctypes @@ -2908,6 +2909,16 @@ def compat_struct_unpack(spec, *args): except ImportError: compat_zip = zip + +if sys.version_info < (3, 3): + def compat_b64decode(s, *args, **kwargs): + if isinstance(s, compat_str): + s = s.encode('ascii') + return base64.b64decode(s, *args, **kwargs) +else: + compat_b64decode = base64.b64decode + + if platform.python_implementation() == 'PyPy' and sys.pypy_version_info < (5, 4, 0): # PyPy2 prior to version 5.4.0 expects byte strings as Windows function # names, see the original PyPy issue [1] and the youtube-dl one [2]. @@ -2930,6 +2941,7 @@ def compat_ctypes_WINFUNCTYPE(*args, **kwargs): 'compat_HTMLParseError', 'compat_HTMLParser', 'compat_HTTPError', + 'compat_b64decode', 'compat_basestring', 'compat_chr', 'compat_cookiejar',