Initial commit for finalisation web interface

This commit is contained in:
sebastien committed 2026-11-01 08:41:37 +01:00
1 parent b295f871a7
commit c36642e8de
33 files changed
+2745 -138

No files matched your search

+11 -3
View File
@@ -18,6 +18,7 @@ from copienator import (
)
from copienator.platform import replace_with_link_or_copy, safe_filename
from copienator.return_answers import publish_answer_returns
from copienator.score_editing import remember_return_source
ANNOTATION_CHOICES = ("BGnot", "Bnot", "Anot")
@@ -119,7 +120,9 @@ def update_named_return_answers(
destination,
answers_only=True,
)
remember_return_source(workspace.root, copy_id, source_folder)
if refresh_named:
replace_with_link_or_copy(source_folder / "score.json", destination / "score.json", prefer="symlink")
stem = destination.name[:match.start()].rstrip()
for source_name, suffix, enabled in (
("Concat.jpg", ".jpg", configuration.RETURN_JPEG_ENABLED),
@@ -167,6 +170,9 @@ def prepare_named_returns(
print(f"Error processing {json_path}: {exc}", file=sys.stderr)
had_errors = True
# A manually renamed folder is authoritative, keyed by stable copy ID.
from copienator.return_identity import return_folders
existing_returns = return_folders(workspace.root)
assigned_names: set[str] = set()
for name, copy_ids in copies_map.items():
if name == "Unknown":
@@ -190,17 +196,19 @@ def prepare_named_returns(
continue
assigned_names.add(name)
destination = workspace.return_dir / f"{safe_name} ({copy_id})"
destination = existing_returns.get(int(copy_id), workspace.return_dir / f"{safe_name} ({copy_id})")
output_name = destination.name.rsplit(" (", 1)[0]
destination.mkdir(parents=True, exist_ok=True)
try:
publish_answer_returns(workspace.root, source_folder, destination)
remember_return_source(workspace.root, copy_id, source_folder)
except (OSError, TypeError, ValueError) as exc:
print(f"Error preparing answers for {destination.name}: {exc}", file=sys.stderr)
had_errors = True
continue
links = (
("Concat.jpg", f"{safe_name}.jpg", configuration.RETURN_JPEG_ENABLED),
("Concat_F.pdf", f"{safe_name}.pdf", configuration.RETURN_PDF_ENABLED),
("Concat.jpg", f"{output_name}.jpg", configuration.RETURN_JPEG_ENABLED),
("Concat_F.pdf", f"{output_name}.pdf", configuration.RETURN_PDF_ENABLED),
("score.json", "score.json", True),
)
for source_name, destination_name, enabled in links: