[compat] Fix missing _asciire on python 2.6
authorSergey M․ <dstftw@gmail.com>
Fri, 17 Jul 2015 18:24:39 +0000 (00:24 +0600)
committerSergey M․ <dstftw@gmail.com>
Fri, 17 Jul 2015 18:24:39 +0000 (00:24 +0600)
youtube_dl/compat.py

index e950a4688f023776093f950921123b8e75cc8c7a..db0da5828dd317eb5eef0b0945dec9300c7c1f75 100644 (file)
@@ -79,6 +79,8 @@ try:
     from urllib.parse import unquote as compat_urllib_parse_unquote
     from urllib.parse import unquote_plus as compat_urllib_parse_unquote_plus
 except ImportError:  # Python 2
+    _asciire = re.compile('([\x00-\x7f]+)') if sys.version_info < (2, 7) else compat_urllib_parse._asciire
+
     # HACK: The following are the correct unquote_to_bytes, unquote and unquote_plus
     # implementations from cpython 3.4.3's stdlib. Python 2's version
     # is apparently broken (see https://github.com/rg3/youtube-dl/pull/6244)
@@ -124,7 +126,7 @@ except ImportError:  # Python 2
             encoding = 'utf-8'
         if errors is None:
             errors = 'replace'
-        bits = compat_urllib_parse._asciire.split(string)
+        bits = _asciire.split(string)
         res = [bits[0]]
         append = res.append
         for i in range(1, len(bits), 2):