Add offline mosaic EXIF tagging (stitch --write-exif, tag_mosaic_exif CLI)

- spruce.exif: tag_mosaic_jpeg_for_scan_dir, resolve_machine_label_for_scan_dir; ProcessingSoftware for tile-stitched mosaics
- spruce.settings: load_config(require_credentials=False) for config without login
- scripts/tag_mosaic_exif.py and tests; stitch script --write-exif path
This commit is contained in:
2026-04-26 20:47:23 -04:00
parent 314b68322c
commit 08a29d124a
6 changed files with 424 additions and 5 deletions
+10
View File
@@ -95,6 +95,16 @@ def test_load_config_missing_password_exits(tmp_path):
load_config(str(path))
def test_load_config_optional_credentials(tmp_path):
path = tmp_path / "config.yaml"
path.write_text(
yaml.dump({"machine_metadata": {"A [B]": {"plot_number": 2}}})
)
cfg = load_config(str(path), require_credentials=False)
assert cfg["machine_metadata"]["A [B]"]["plot_number"] == 2
assert cfg["write_exif"] is True
# ---------------------------------------------------------------------------
# CSV schemas (failure columns)
# ---------------------------------------------------------------------------