diff options
author | Nan Zhang <nanzhang@google.com> | 2018-05-24 18:59:04 -0700 |
---|---|---|
committer | android-build-merger <android-build-merger@google.com> | 2018-05-24 18:59:04 -0700 |
commit | a3209a1079bbe0d57820a93b1d2153719818c259 (patch) | |
tree | 7f63dc937b886389e53ee3b386c70baebd1da8e1 /setuptools/py31compat.py | |
parent | e493fcf90483ade4b2a5ac331a4f89cb15ae3fd2 (diff) | |
parent | 21d497cb588c40b2a891d9a862f56e108b427e4c (diff) | |
download | setuptools-a3209a1079bbe0d57820a93b1d2153719818c259.tar.gz |
initial drop of setuptools v39.1.0 am: 8539a2ae46 am: c498e8445a
am: 21d497cb58
Change-Id: I0d9ec0d7323b37baa8a7550c6aec27e05af57415
Diffstat (limited to 'setuptools/py31compat.py')
-rw-r--r-- | setuptools/py31compat.py | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/setuptools/py31compat.py b/setuptools/py31compat.py new file mode 100644 index 0000000..4ea9532 --- /dev/null +++ b/setuptools/py31compat.py @@ -0,0 +1,41 @@ +__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 |