import tempfile
import textwrap
import itertools
+import inspect
from pkgutil import get_importer
try:
return req
-def _get_mro(cls):
- """Get an mro for a type or classic class"""
- if not isinstance(cls, type):
-
- class cls(cls, object):
- pass
-
- return cls.__mro__[1:]
- return cls.__mro__
+def _always_object(classes):
+ """
+ Ensure object appears in the mro even
+ for old-style classes.
+ """
+ if object not in classes:
+ return classes + (object,)
+ return classes
def _find_adapter(registry, ob):
"""Return an adapter factory for `ob` from `registry`"""
- for t in _get_mro(getattr(ob, '__class__', type(ob))):
+ types = _always_object(inspect.getmro(getattr(ob, '__class__', type(ob))))
+ for t in types:
if t in registry:
return registry[t]
setup_params = dict(
name="setuptools",
- version="36.2.3",
+ version="36.2.4",
description="Easily download, build, install, upgrade, and uninstall "
"Python packages",
author="Python Packaging Authority",