diff --git a/src/antares/study/version/upgrade_app/__init__.py b/src/antares/study/version/upgrade_app/__init__.py index 5353429..9d3e2f4 100644 --- a/src/antares/study/version/upgrade_app/__init__.py +++ b/src/antares/study/version/upgrade_app/__init__.py @@ -15,6 +15,18 @@ logger = logging.getLogger(__name__) +UPGRADE_TEMPORARY_DIR_SUFFIX = ".upgrade.tmp" +UPGRADE_TEMPORARY_DIR_PREFIX = "~" + + +def is_temporary_upgrade_dir(path: Path) -> bool: + """Check if a directory is a temporary upgrade directory.""" + return ( + path.name.startswith(UPGRADE_TEMPORARY_DIR_PREFIX) + and str(path).endswith(UPGRADE_TEMPORARY_DIR_SUFFIX) + and path.is_dir() + ) + def filter_out_child_files(files: t.Collection[str]) -> t.List[str]: """ @@ -91,7 +103,9 @@ def should_denormalize(self) -> bool: return any(meth.should_denormalize for meth in self.upgrade_methods) def __call__(self) -> None: - with tempfile.TemporaryDirectory(suffix=".upgrade.tmp", prefix="~", dir=self.study_dir.parent) as path: + with tempfile.TemporaryDirectory( + suffix=UPGRADE_TEMPORARY_DIR_SUFFIX, prefix=UPGRADE_TEMPORARY_DIR_PREFIX, dir=self.study_dir.parent + ) as path: tmp_path = Path(path) # Prepare the upgrade