diff options
| author | Tyler Hoang <tyler@tylerhoang.xyz> | 2026-05-12 03:15:17 -0700 |
|---|---|---|
| committer | Tyler Hoang <tyler@tylerhoang.xyz> | 2026-05-12 03:15:17 -0700 |
| commit | 4279408876268f4960c98492d3814f5475e36e38 (patch) | |
| tree | 9fc4828768534368a575c2e60d39d02de0973b79 /routers/stats.py | |
| parent | 61d68b339fee628c258e15c8664b6bcad2e70ab1 (diff) | |
Add stats totals, runtime summary, and duplicate detection on add form
- Stats page now shows total films watched and total runtime (formatted
as Xd Yh) in an overview panel above the world map
- /stats/data endpoint includes total_runtime_minutes in payload
- New GET /films/find endpoint returns all shelf matches for a tmdb_id
- Add film form shows an inline notice when the selected TMDB film is
already logged, with shelf name, date, and a link to the entry
- Update CLAUDE.md and README to reflect current auth, OMDb, and
router/service structure
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Diffstat (limited to 'routers/stats.py')
| -rw-r--r-- | routers/stats.py | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/routers/stats.py b/routers/stats.py index 15063cb..d600e5a 100644 --- a/routers/stats.py +++ b/routers/stats.py @@ -65,6 +65,7 @@ def _build_stats_payload(films: list[Film]) -> dict: watched_with["solo"] += 1 total_watched = len(films) + total_runtime_minutes = sum(film.runtime for film in films if film.runtime) title_groups = defaultdict(list) for film in films: @@ -103,6 +104,7 @@ def _build_stats_payload(films: list[Film]) -> dict: "requires_date_watched": True, }, "total_watched": total_watched, + "total_runtime_minutes": total_runtime_minutes, "films_per_country": [ {"country": country, "count": count} for country, count in sorted(countries.items(), key=lambda item: (-item[1], item[0])) |
