|
Packit |
534379 |
from __future__ import unicode_literals
|
|
Packit |
534379 |
import sys
|
|
Packit |
534379 |
import operator
|
|
Packit |
534379 |
|
|
Packit |
534379 |
try:
|
|
Packit |
534379 |
from collections import MutableMapping, Sequence # noqa
|
|
Packit |
534379 |
except ImportError:
|
|
Packit |
534379 |
from collections.abc import MutableMapping, Sequence # noqa
|
|
Packit |
534379 |
|
|
Packit |
534379 |
PY3 = sys.version_info[0] >= 3
|
|
Packit |
534379 |
|
|
Packit |
534379 |
if PY3:
|
|
Packit |
534379 |
zip = zip
|
|
Packit |
534379 |
from urllib.parse import (
|
|
Packit |
534379 |
unquote, urljoin, urlunsplit, SplitResult, urlsplit as _urlsplit
|
|
Packit |
534379 |
)
|
|
Packit |
534379 |
from urllib.request import urlopen
|
|
Packit |
534379 |
str_types = str,
|
|
Packit |
534379 |
int_types = int,
|
|
Packit |
534379 |
iteritems = operator.methodcaller("items")
|
|
Packit |
534379 |
else:
|
|
Packit |
534379 |
from itertools import izip as zip # noqa
|
|
Packit |
534379 |
from urlparse import (
|
|
Packit |
534379 |
urljoin, urlunsplit, SplitResult, urlsplit as _urlsplit # noqa
|
|
Packit |
534379 |
)
|
|
Packit |
534379 |
from urllib import unquote # noqa
|
|
Packit |
534379 |
from urllib2 import urlopen # noqa
|
|
Packit |
534379 |
str_types = basestring
|
|
Packit |
534379 |
int_types = int, long
|
|
Packit |
534379 |
iteritems = operator.methodcaller("iteritems")
|
|
Packit |
534379 |
|
|
Packit |
534379 |
|
|
Packit |
534379 |
# On python < 3.3 fragments are not handled properly with unknown schemes
|
|
Packit |
534379 |
def urlsplit(url):
|
|
Packit |
534379 |
scheme, netloc, path, query, fragment = _urlsplit(url)
|
|
Packit |
534379 |
if "#" in path:
|
|
Packit |
534379 |
path, fragment = path.split("#", 1)
|
|
Packit |
534379 |
return SplitResult(scheme, netloc, path, query, fragment)
|
|
Packit |
534379 |
|
|
Packit |
534379 |
|
|
Packit |
534379 |
def urldefrag(url):
|
|
Packit |
534379 |
if "#" in url:
|
|
Packit |
534379 |
s, n, p, q, frag = urlsplit(url)
|
|
Packit |
534379 |
defrag = urlunsplit((s, n, p, q, ''))
|
|
Packit |
534379 |
else:
|
|
Packit |
534379 |
defrag = url
|
|
Packit |
534379 |
frag = ''
|
|
Packit |
534379 |
return defrag, frag
|
|
Packit |
534379 |
|
|
Packit |
534379 |
|
|
Packit |
534379 |
# flake8: noqa
|