chore: quality cleanup — extract magic numbers, improve docs and naming (#29)
- diversity.py: extract 3000/20/32 to _POOL_CAP/_POOL_SCALE/_EMBEDDING_BATCH_SIZE - reconcile.py: extract (1,2,4,8) poll delays to _RECONCILE_POLL_DELAYS with comment - immich_api.py: document dual response shape; debug-log skipped non-dict items - frigate_api.py: rename `encoded` → `encoded_name` for clarity - upload_tracker.py: atomic-write note on record_frigate_files_batch docstring; get_person_summary() uses setdefault to eliminate four repeated default dicts; _VALID_SCORE_COLS comment explains SQL-injection guard intent Bump version to 0.5.5
This commit is contained in:
@@ -7,6 +7,26 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
||||
|
||||
## [Unreleased]
|
||||
|
||||
## [0.5.5] - 2026-06-15
|
||||
|
||||
### Changed
|
||||
|
||||
- **Module-level constants in `diversity.py`**: magic numbers `3000` (pool cap), `20` (pool scale), and `32` (embedding batch size) extracted to named constants `_POOL_CAP`, `_POOL_SCALE`, and `_EMBEDDING_BATCH_SIZE`.
|
||||
|
||||
- **Reconciliation poll delays extracted**: `(1, 2, 4, 8)` back-off delays in `reconcile.py` extracted to `_RECONCILE_POLL_DELAYS` with an explanatory comment.
|
||||
|
||||
- **`_VALID_SCORE_COLS` comment**: explains that the frozenset is a SQL-injection guard for dynamic column interpolation, not a runtime filter.
|
||||
|
||||
- **`record_frigate_files_batch` docstring**: clarifies that all mappings are written atomically — no partial failure is possible.
|
||||
|
||||
- **`get_person_summary()` refactored**: eliminated four repeated default-dict blocks using a local `_entry()` helper with `setdefault`.
|
||||
|
||||
- **`encoded` → `encoded_name` in `frigate_api.py`**: renamed the URL-encoded person name variable for clarity.
|
||||
|
||||
- **Dual response shape comment in `immich_api.py`**: documents that Immich ≥2.x returns `{"assets": {"items": [...]}}` while earlier versions returned `{"assets": [...]}` directly.
|
||||
|
||||
- **Non-dict item debug log in `fetch_all_assets`**: skipped non-dict items in a page response now emit a `logger.debug` line with the count and page number.
|
||||
|
||||
## [0.5.4] - 2026-06-14
|
||||
|
||||
### Fixed
|
||||
|
||||
Reference in New Issue
Block a user