openmedialibrary_platform_l.../lib/python3.4/site-packages/setuptools/py31compat.py

57 lines
1.6 KiB
Python
Raw Normal View History

2016-02-06 09:37:19 +00:00
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
2017-10-13 12:49:49 +00:00
2016-02-06 09:37:19 +00:00
def get_path(name):
if name not in ('platlib', 'purelib'):
raise ValueError("Name must be purelib or platlib")
2017-10-13 12:49:49 +00:00
return get_python_lib(name == 'platlib')
2016-02-06 09:37:19 +00:00
try:
# Python >=3.2
from tempfile import TemporaryDirectory
except ImportError:
import shutil
import tempfile
2017-10-13 12:49:49 +00:00
2016-02-06 09:37:19 +00:00
class TemporaryDirectory(object):
2016-02-22 11:13:36 +00:00
"""
2016-02-06 09:37:19 +00:00
Very simple temporary directory context manager.
Will try to delete afterward, but will also ignore OS and similar
errors on deletion.
"""
2017-10-13 12:49:49 +00:00
2016-02-06 09:37:19 +00:00
def __init__(self):
2017-10-13 12:49:49 +00:00
self.name = None # Handle mkdtemp raising an exception
2016-02-06 09:37:19 +00:00
self.name = tempfile.mkdtemp()
def __enter__(self):
return self.name
def __exit__(self, exctype, excvalue, exctrace):
try:
shutil.rmtree(self.name, True)
2017-10-13 12:49:49 +00:00
except OSError: # removal errors are not the only possible
2016-02-06 09:37:19 +00:00
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)