|
1234567891011121314151617181920212223242526272829303132 |
- __all__ = []
-
- __metaclass__ = type
-
-
- try:
- # Python >=3.2
- from tempfile import TemporaryDirectory
- except ImportError:
- import shutil
- import tempfile
-
- class TemporaryDirectory:
- """
- Very simple temporary directory context manager.
- Will try to delete afterward, but will also ignore OS and similar
- errors on deletion.
- """
-
- def __init__(self, **kwargs):
- self.name = None # Handle mkdtemp raising an exception
- self.name = tempfile.mkdtemp(**kwargs)
-
- 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
|