diff options
| author | Paul Buetow <paul@buetow.org> | 2026-06-15 18:16:47 +0300 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2026-06-15 23:50:41 +0300 |
| commit | b684fa5113239e595ecd1ccbcbd267ebbed9e62d (patch) | |
| tree | 64b0a196f8510a3e974bdae114dff52f4fe5eb9f /docs | |
| parent | 9d7c6ec3de935ef846e9f9a0512129990a1ddec4 (diff) | |
Persist the EXIF cache in a volatile ./cache dir parallel to ./dist
The per-photo `identify -verbose` cache lived in $DIST_DIR/.shuriken-cache, which
is inside the throwaway staging dir and the published dist: a fresh/cleared dist
lost it (forcing a full, slow re-identify of every original) and it got deployed
to web servers.
Move it to a volatile ./cache/exif directory parallel to ./dist (dirname of
DIST_DIR resolves to the working dir in both the staging and direct contexts).
Now an unchanged photo skips identify on every regenerate, the cache survives a
cleared dist, and it is never deployed. --force clears ./cache/exif once up front
(clear_exif_cache) and the run repopulates it, so force still does exactly one
identify per photo. Dropped .shuriken-cache from the staging-copy loop.
Tests and the audit doc updated for the new cache location.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Diffstat (limited to 'docs')
| -rw-r--r-- | docs/stats-exif-audit.md | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/docs/stats-exif-audit.md b/docs/stats-exif-audit.md index 7076254..1b1023b 100644 --- a/docs/stats-exif-audit.md +++ b/docs/stats-exif-audit.md @@ -13,8 +13,8 @@ library (there is none to point at): * `src/lib/imagemagick.source.sh` runs `magick identify -verbose <file>` (or `convert <file> -verbose info:` when only the legacy `convert` is present). -* `src/lib/album.source.sh` caches that raw output per photo under - `$DIST_DIR/.shuriken-cache/exif/<photo>.txt` and parses it. +* `src/lib/album.source.sh` caches that raw output per photo under a volatile + `./cache/exif/<photo>.txt` (parallel to `./dist`) and parses it. The parser detail that drives every decision below: shuriken only reads EXIF through this regex (`photo_exif_details_html`, `_photo_exif_values_to`): |
