|
__all__ = [] |
|
|
|
__metaclass__ = type |
|
|
|
|
|
try: |
|
|
|
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 |
|
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: |
|
pass |
|
self.name = None |
|
|