The servers already matched everything to their agents — we were dropping the IDs. Now we store them: - Plex: parse item.guids (imdb://, tmdb://, tvdb://); Jellyfin: parse item.ProviderIds (added ProviderIds to the requested Fields). - Stored on movies (tmdb_id, imdb_id), shows (tvdb_id, tmdb_id, imdb_id), and episodes (tvdb_id) via the upserts. - Dropped the over-strict UNIQUE on movies.tmdb_id / shows.tvdb_id (same title can legitimately live in two libraries; we dedupe on server_id). Scanner now wraps each upsert in try/except so one bad item can't abort a scan. Tests: guid/ProviderIds parsing + IDs persisted. 38 video-DB/scanner tests green. |
||
|---|---|---|
| .. | ||
| __init__.py | ||
| music_database.py | ||
| personalized_schema.py | ||
| video_database.py | ||
| video_schema.sql | ||