From a7642e941e6521c8ec68e9a09600180d6491529e Mon Sep 17 00:00:00 2001 From: Fede Raimondo Date: Mon, 11 Nov 2024 11:13:48 +0100 Subject: [PATCH 1/3] Use workdir manager for datalad --- junifer/datagrabber/datalad_base.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/junifer/datagrabber/datalad_base.py b/junifer/datagrabber/datalad_base.py index 95b9c4749..fc1df7836 100644 --- a/junifer/datagrabber/datalad_base.py +++ b/junifer/datagrabber/datalad_base.py @@ -17,6 +17,7 @@ import datalad.api as dl from datalad.support.exceptions import IncompleteResultsError from datalad.support.gitrepo import GitRepo +from ..pipeline import WorkDirManager from ..utils import logger, raise_error, warn_with_log from .base import BaseDataGrabber @@ -78,7 +79,8 @@ class DataladDataGrabber(BaseDataGrabber): if datadir is None: logger.info("`datadir` is None, creating a temporary directory") # Create temporary directory - tmpdir = Path(tempfile.mkdtemp()) + tmpdir = WorkDirManager().get_tempdir(prefix="datalad") + self._tmpdir = tmpdir datadir = tmpdir / "datadir" datadir.mkdir(parents=True, exist_ok=False) logger.info(f"`datadir` set to {datadir}") @@ -104,7 +106,6 @@ class DataladDataGrabber(BaseDataGrabber): "Datalad locks set to " f"{datalad.cfg.get('datalad.locations.locks')}" ) - self._tmpdir = tmpdir atexit.register(self._rmtmpdir) # TODO: uri can be converted to a positional argument if uri is None: @@ -129,7 +130,7 @@ class DataladDataGrabber(BaseDataGrabber): """Remove temporary directory if it exists.""" if self._tmpdir.exists(): logger.debug("Removing temporary directory") - shutil.rmtree(self._tmpdir) + WorkDirManager().delete_tempdir(self._tmpdir) @property def datadir(self) -> Path: -- 2.52.0 From 627459c73a4d61ef655f2a6e5d3799737ce2d577 Mon Sep 17 00:00:00 2001 From: Fede Raimondo Date: Mon, 11 Nov 2024 11:34:54 +0100 Subject: [PATCH 2/3] Add changes --- docs/changes/newsfragments/386.bugfix | 1 + junifer/datagrabber/datalad_base.py | 1 - 2 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 docs/changes/newsfragments/386.bugfix diff --git a/docs/changes/newsfragments/386.bugfix b/docs/changes/newsfragments/386.bugfix new file mode 100644 index 000000000..2eec09957 --- /dev/null +++ b/docs/changes/newsfragments/386.bugfix @@ -0,0 +1 @@ +Use the :class:`junifer.pipeline.WorkdirManager` for temporary directories in the :class:`.DataladDataGrabber` by `Fede Raimondo`_ \ No newline at end of file diff --git a/junifer/datagrabber/datalad_base.py b/junifer/datagrabber/datalad_base.py index fc1df7836..2d4cb163b 100644 --- a/junifer/datagrabber/datalad_base.py +++ b/junifer/datagrabber/datalad_base.py @@ -7,7 +7,6 @@ import atexit import os -import shutil import tempfile from pathlib import Path from typing import Dict, Optional, Tuple, Union -- 2.52.0 From 9968bf64e036d3b802e031a6b45d7ea95868fd0d Mon Sep 17 00:00:00 2001 From: Synchon Mandal Date: Mon, 11 Nov 2024 15:31:43 +0100 Subject: [PATCH 3/3] chore: fix 386.bugfix --- docs/changes/newsfragments/386.bugfix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/changes/newsfragments/386.bugfix b/docs/changes/newsfragments/386.bugfix index 2eec09957..68c97b674 100644 --- a/docs/changes/newsfragments/386.bugfix +++ b/docs/changes/newsfragments/386.bugfix @@ -1 +1 @@ -Use the :class:`junifer.pipeline.WorkdirManager` for temporary directories in the :class:`.DataladDataGrabber` by `Fede Raimondo`_ \ No newline at end of file +Use the :class:`junifer.pipeline.WorkDirManager` for temporary directories in the :class:`.DataladDataGrabber` by `Fede Raimondo`_ -- 2.52.0