49 lines
1.4 KiB
Python
49 lines
1.4 KiB
Python
try:
|
|
TEXT = unicode
|
|
except NameError: #pragma NO COVER Py3k
|
|
PY3 = True
|
|
TEXT = str
|
|
STRING_TYPES = (str, bytes)
|
|
def b(x, encoding='ascii'):
|
|
return bytes(x, encoding)
|
|
else: #pragma NO COVER Python2
|
|
PY3 = False
|
|
STRING_TYPES = (unicode, bytes)
|
|
def b(x, encoding='ascii'):
|
|
if isinstance(x, unicode):
|
|
x = x.encode(encoding)
|
|
return x
|
|
|
|
def u(x, encoding='ascii'):
|
|
if isinstance(x, TEXT): #pragma NO COVER
|
|
return x
|
|
try:
|
|
return x.decode(encoding)
|
|
except AttributeError: #pragma NO COVER
|
|
raise ValueError('WTF: %s' % x)
|
|
|
|
try:
|
|
import urlparse
|
|
except ImportError: #pragma NO COVER Py3k
|
|
from urllib.parse import parse_qs
|
|
from urllib.parse import parse_qsl
|
|
from urllib.parse import quote
|
|
from urllib.parse import unquote
|
|
from urllib.parse import unquote_to_bytes
|
|
from urllib.parse import urlencode
|
|
from urllib.parse import urlsplit
|
|
from urllib.parse import urlunsplit
|
|
from urllib.parse import urlparse
|
|
from urllib.parse import urlunparse
|
|
else: #pragma NO COVER Python2
|
|
from urlparse import parse_qs
|
|
from urlparse import parse_qsl
|
|
from urllib import quote
|
|
from urllib import unquote
|
|
from urllib import urlencode
|
|
from urlparse import urlsplit
|
|
from urlparse import urlunsplit
|
|
from urlparse import urlparse
|
|
from urlparse import urlunparse
|
|
unquote_to_bytes = unquote
|