Skip to content
Commits on Source (4)
......@@ -3,6 +3,7 @@
# diffoscope: in-depth comparison of files, archives, and directories
#
# Copyright © 2016 Chris Lamb <lamby@debian.org>
# © 2018 Mattia Rizzolo <mattia@debian.org>
#
# diffoscope is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
......@@ -27,8 +28,7 @@ logger = logging.getLogger(__name__)
def get_named_temporary_file(*args, **kwargs):
kwargs['dir'] = _get_base_temporary_directory()
kwargs['suffix'] = kwargs.pop('suffix', '_diffoscope')
kwargs['dir'] = kwargs.pop('dir', _get_base_temporary_directory())
f = tempfile.NamedTemporaryFile(*args, **kwargs)
_FILES.append(f.name)
......@@ -37,8 +37,7 @@ def get_named_temporary_file(*args, **kwargs):
def get_temporary_directory(*args, **kwargs):
kwargs['dir'] = _get_base_temporary_directory()
kwargs['suffix'] = kwargs.pop('suffix', '_diffoscope')
kwargs['dir'] = kwargs.pop('dir', _get_base_temporary_directory())
d = tempfile.TemporaryDirectory(*args, **kwargs)
_DIRS.append(d)
......@@ -56,6 +55,7 @@ def clean_all_temp_files():
pass
except:
logger.exception("Unable to delete %s", x)
_FILES.clear()
logger.debug("Cleaning %d temporary directories", len(_DIRS))
......@@ -76,13 +76,14 @@ def clean_all_temp_files():
pass
except:
logger.exception("Unable to delete %s", x)
_DIRS.clear()
def _get_base_temporary_directory():
if not _DIRS:
d = tempfile.TemporaryDirectory(
dir=tempfile.gettempdir(),
prefix='diffoscope-',
prefix='diffoscope_',
)
logger.debug("Created top-level temporary directory: %s", d.name)
......