Skip to content

Commit

Permalink
[compat] Unify unicode/str compat and move up
Browse files Browse the repository at this point in the history
  • Loading branch information
dirkf authored Nov 1, 2022
1 parent f102e3d commit b7c2595
Showing 1 changed file with 13 additions and 18 deletions.
31 changes: 13 additions & 18 deletions youtube_dl/compat.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,19 @@
import sys
import xml.etree.ElementTree

# deal with critical unicode/str things first
try:
# Python 2
compat_str, compat_basestring, compat_chr = (
unicode, basestring, unichr
)
from .casefold import casefold as compat_casefold
except NameError:
compat_str, compat_basestring, compat_chr = (
str, str, chr
)
compat_casefold = lambda s: s.casefold()

try:
import collections.abc as compat_collections_abc
except ImportError:
Expand Down Expand Up @@ -2373,13 +2386,6 @@ class compat_HTMLParseError(Exception):
except ImportError:
import BaseHTTPServer as compat_http_server

try:
compat_str = unicode # Python 2
from .casefold import casefold as compat_casefold
except NameError:
compat_str = str
compat_casefold = lambda s: s.casefold()

try:
from urllib.parse import unquote_to_bytes as compat_urllib_parse_unquote_to_bytes
from urllib.parse import unquote as compat_urllib_parse_unquote
Expand Down Expand Up @@ -2510,22 +2516,11 @@ def data_open(self, req):

return compat_urllib_response.addinfourl(io.BytesIO(data), headers, url)

try:
compat_basestring = basestring # Python 2
except NameError:
compat_basestring = str

try:
compat_chr = unichr # Python 2
except NameError:
compat_chr = chr

try:
from xml.etree.ElementTree import ParseError as compat_xml_parse_error
except ImportError: # Python 2.6
from xml.parsers.expat import ExpatError as compat_xml_parse_error


etree = xml.etree.ElementTree


Expand Down

0 comments on commit b7c2595

Please sign in to comment.