| Index: recipe_engine/third_party/setuptools/py31compat.py
|
| diff --git a/recipe_engine/third_party/setuptools/py31compat.py b/recipe_engine/third_party/setuptools/py31compat.py
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..c487ac04394af63265c7857d8ad62934aa9b3321
|
| --- /dev/null
|
| +++ b/recipe_engine/third_party/setuptools/py31compat.py
|
| @@ -0,0 +1,52 @@
|
| +import sys
|
| +import unittest
|
| +
|
| +__all__ = ['get_config_vars', 'get_path']
|
| +
|
| +try:
|
| + # Python 2.7 or >=3.2
|
| + from sysconfig import get_config_vars, get_path
|
| +except ImportError:
|
| + from distutils.sysconfig import get_config_vars, get_python_lib
|
| + def get_path(name):
|
| + if name not in ('platlib', 'purelib'):
|
| + raise ValueError("Name must be purelib or platlib")
|
| + return get_python_lib(name=='platlib')
|
| +
|
| +try:
|
| + # Python >=3.2
|
| + from tempfile import TemporaryDirectory
|
| +except ImportError:
|
| + import shutil
|
| + import tempfile
|
| + class TemporaryDirectory(object):
|
| + """"
|
| + Very simple temporary directory context manager.
|
| + Will try to delete afterward, but will also ignore OS and similar
|
| + errors on deletion.
|
| + """
|
| + def __init__(self):
|
| + self.name = None # Handle mkdtemp raising an exception
|
| + self.name = tempfile.mkdtemp()
|
| +
|
| + def __enter__(self):
|
| + return self.name
|
| +
|
| + def __exit__(self, exctype, excvalue, exctrace):
|
| + try:
|
| + shutil.rmtree(self.name, True)
|
| + except OSError: #removal errors are not the only possible
|
| + pass
|
| + self.name = None
|
| +
|
| +
|
| +unittest_main = unittest.main
|
| +
|
| +_PY31 = (3, 1) <= sys.version_info[:2] < (3, 2)
|
| +if _PY31:
|
| + # on Python 3.1, translate testRunner==None to TextTestRunner
|
| + # for compatibility with Python 2.6, 2.7, and 3.2+
|
| + def unittest_main(*args, **kwargs):
|
| + if 'testRunner' in kwargs and kwargs['testRunner'] is None:
|
| + kwargs['testRunner'] = unittest.TextTestRunner
|
| + return unittest.main(*args, **kwargs)
|
|
|