fix: v0.6.1 — tracker integrity, quality replacement correctness, code review fixes
- Catch OSError alongside PIL.UnidentifiedImageError for corrupt thumbnails - Fix quality replacement mode flip mid-loop (person_has_fscores no longer re-evaluated) - reset_person rebuilds flat list from remaining entries instead of subtracting - _save cache updated only after os.replace succeeds (prevents cache/disk split-brain) - Stale Frigate file cleanup uses remove_frigate_files_batch (N writes → 1) - _migrate_entry deep-copies nested dicts so .pop() cannot mutate the cache - find_by_crop_dimension and _pick_mapped_file consistent on duplicate asset→file mapping - Atomic JSON write (tmp + os.replace) guards against truncated files on crash - get_person_summary uses _migrate_entry instead of three isinstance guards - Quality floor check allows None-scored candidates through (don't block freed slots) - Fix comment-only if body (IndentationError on import) in full-res download path - Merge duplicate if-stale guard into one block - _flat_key uses constant equality instead of substring match - remove_frigate_file returns early when person absent (no ghost entries) - skip_ids extracted to _smaller_duplicate_ids() helper (was duplicated 3×) - blur_score_from_image returns None on error instead of 0.0
This commit is contained in:
1 parent
9e84e276da
commit
dc2efb5ac4
6 files changed
+128
-81
No files matched your search
+1
-1
@@ -1,6 +1,6 @@
|
||||
[project]
|
||||
name = "winnow"
|
||||
version = "0.6.0"
|
||||
version = "0.6.1"
|
||||
description = "Selects diverse, high-quality photos from Immich as training data for Frigate face recognition."
|
||||
license = "AGPL-3.0-or-later"
|
||||
requires-python = ">=3.13"
|
||||
|
||||
Reference in new issue
Block a user