|
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- 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)
|