Refaire session.

This commit is contained in:
2026-09-06 19:20:51 +02:00
parent 2ff1a9b7b9
commit 2313d51a62
8 changed files with 469 additions and 10 deletions
+7 -3
View File
@@ -3,7 +3,6 @@ import sys
from collections.abc import Sequence
from pathlib import Path
from copienator.configuration import EXPORT_DIR
from copienator import (
EvaluationWorkspace,
ExitCode,
@@ -11,6 +10,7 @@ from copienator import (
execute,
workspace_from_args,
)
from copienator.configuration import EXPORT_DIR
from copienator.platform import replace_with_link_or_copy
ANNOTATION_DIRECTORIES = ("BGnot", "Bnot", "Anot")
@@ -21,8 +21,12 @@ def export_directory(
source_dir_name: str,
) -> ExitCode:
workspace.require_directories(source_dir_name)
source_dir = workspace.root / source_dir_name
source_dir = workspace.annotation_dir("refaire") if source_dir_name == "BRnot" else workspace.root / source_dir_name
session_id = workspace.refaire_session_id if source_dir_name == "BRnot" else None
prefix = f"{session_id}__" if session_id else ""
sync_dir = Path(EXPORT_DIR).expanduser() / workspace.name
if session_id:
sync_dir /= session_id
sync_dir.mkdir(parents=True, exist_ok=True)
subdirs = [directory for directory in source_dir.iterdir() if directory.is_dir()]
@@ -48,7 +52,7 @@ def export_directory(
)
missing_outputs += 1
continue
destination = sync_dir / f"{subdir.name}{concat_file.suffix.lower()}"
destination = sync_dir / f"{prefix}{subdir.name}{concat_file.suffix.lower()}"
method = replace_with_link_or_copy(concat_file, destination, prefer="hardlink")
print(f"Exported: {destination} ({method})")
return ExitCode.PARTIAL if missing_outputs else ExitCode.SUCCESS