Skip to content

docs: explain why exif fields are not editable - #29

Merged
escaped merged 1 commit into
masterfrom
docs/editable-exif-field
Sep 14, 2026
Merged

escaped merged 1 commit into
masterfrom
docs/editable-exif-field

Conversation

@escaped

@escaped escaped commented Sep 12, 2026 •

Copy link
Copy Markdown
Owner

Why

Fix #6. The maintainer's answer to the issue ("why is the exif field not
editable?") and the requested workaround were never written down, so the
question keeps coming back.

Walkthrough

  • Adds a README section explaining why ExifField is editable=False: the
    data belongs to the file and the library overwrites it on re-extraction.
  • Documents how to display exif values read-only.
  • Documents the seed-once pattern for an editable copy in a separate field.
    A review round caught that the first draft read self.exif before
    extraction runs (it happens in the field's pre_save), so the example now
    seeds after the first save() and keeps later user edits, including
    clearing the field.

Changes

File(s) Change Summary
README.md "Why is the exif data not editable?" section

Testing

Docs-only change — no behavior to test. The example mirrors the existing
Image model and the documented editable=False behavior; the suite,
lint and typecheck are unaffected (78 passed, 1 xfailed; ruff/mypy clean).

CI on bd00ac2: run 34694546826 — 14/14 jobs success.

PR breakdown

Stacked on the modernization branch test/e2e (PR #26). Merge in order.

# PR What it does Status
1 #27 #23: missing orientation tag crash Open
2 #28 #17: timezone-aware get_datetaken Open
3 This PR #6: document non-editable fields Open
4 #30 #1: document and test deferred extraction Open

@coveralls

coveralls commented Sep 12, 2026 •

Copy link
Copy Markdown

Coverage Report for CI Build 34899230029

Coverage remained the same at 98.454%

Details

  • Coverage remained the same as the base build.
  • Patch coverage: No coverable lines changed in this PR.
  • No coverage regressions found.

Uncovered Changes

No uncovered changes found.

Coverage Regressions

No coverage regressions found.


Coverage Stats

Coverage Status
Relevant Lines: 194
Covered Lines: 191
Line Coverage: 98.45%
Coverage Strength: 10.83 hits per line

💛 - Coveralls

@escaped

escaped commented Sep 12, 2026

Copy link
Copy Markdown
Owner Author

Review finding addressed in bd00ac2: the seed-once workaround now runs after the first save() (extraction happens in the field's pre_save) and is guarded by created, so later user edits — including clearing the field — are preserved. See the review record on #27.

@escaped
escaped force-pushed the fix/datetaken-timezone branch from 48cb745 to ced103d Compare September 14, 2026 21:23
@escaped
escaped force-pushed the docs/editable-exif-field branch from bd00ac2 to 653ac74 Compare September 14, 2026 21:25
@escaped
escaped changed the base branch from fix/datetaken-timezone to master September 14, 2026 21:25
Documents the design decision requested in #6: the extracted data belongs
to the file, and editable copies belong in a separate field. Includes a
read-only display hint and a seed-once workaround for editable values.

Docs-only change — no behavior to test.
@escaped
escaped force-pushed the docs/editable-exif-field branch from 653ac74 to 4fb3d51 Compare September 14, 2026 21:30
@escaped
escaped merged commit e3aee96 into master Sep 14, 2026
25 checks passed
@escaped
escaped deleted the docs/editable-exif-field branch September 14, 2026 21:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Why Exif fields are not editable?

2 participants