|
|
- """
- Compatibility Support for Python 2.7 and earlier
- """
-
- import sys
- import platform
-
- from setuptools.extern import six
-
-
- def get_all_headers(message, key):
- """
- Given an HTTPMessage, return all headers matching a given key.
- """
- return message.get_all(key)
-
-
- if six.PY2:
- def get_all_headers(message, key): # noqa
- return message.getheaders(key)
-
-
- linux_py2_ascii = (
- platform.system() == 'Linux' and
- six.PY2
- )
-
- rmtree_safe = str if linux_py2_ascii else lambda x: x
- """Workaround for http://bugs.python.org/issue24672"""
-
-
- try:
- from ._imp import find_module, PY_COMPILED, PY_FROZEN, PY_SOURCE
- from ._imp import get_frozen_object, get_module
- except ImportError:
- import imp
- from imp import PY_COMPILED, PY_FROZEN, PY_SOURCE # noqa
-
- def find_module(module, paths=None):
- """Just like 'imp.find_module()', but with package support"""
- parts = module.split('.')
- while parts:
- part = parts.pop(0)
- f, path, (suffix, mode, kind) = info = imp.find_module(part, paths)
-
- if kind == imp.PKG_DIRECTORY:
- parts = parts or ['__init__']
- paths = [path]
-
- elif parts:
- raise ImportError("Can't find %r in %s" % (parts, module))
-
- return info
-
- def get_frozen_object(module, paths):
- return imp.get_frozen_object(module)
-
- def get_module(module, paths, info):
- imp.load_module(module, *info)
- return sys.modules[module]
|