Source code for donfig.utils
#!/usr/bin/env python
# Copyright (c) 2018- Donfig Developers
# Copyright (c) 2014-2018, Anaconda, Inc. and contributors
import os
import shutil
import tempfile
from contextlib import contextmanager, suppress
[docs]
@contextmanager
def tmpfile(extension="", dir=None):
extension = "." + extension.lstrip(".")
handle, filename = tempfile.mkstemp(extension, dir=dir)
os.close(handle)
os.remove(filename)
try:
yield filename
finally:
if os.path.exists(filename):
if os.path.isdir(filename):
shutil.rmtree(filename)
else:
with suppress(OSError):
os.remove(filename)