soulsync/api/video
BoulderBadgeDad 5b0b64bf3b video side: library mapping backend (pick Movies/TV library)
The scan no longer blindly grabs every movie/show section — it reads the
libraries you map, like music's 'pick your Music library'.
- GET /api/video/libraries: discover the active server's Movies/TV libraries
  (Plex sections by type / Jellyfin views by CollectionType) + current
  selection. POST: save {movies, tv} per server into video_settings.
- sources.py: _build_source(movies_lib, tv_lib) filters to the mapped library;
  get_active_video_source() (used by the scanner) loads the saved selection;
  list_video_libraries() lists them unfiltered for the UI. Falls back to all
  libraries when nothing is mapped yet.
- VideoDatabase.get/set_library_selection (per-server). 6 tests added; 33 green.
2026-06-14 00:24:01 -07:00
..
__init__.py video side: library mapping backend (pick Movies/TV library) 2026-06-14 00:24:01 -07:00
dashboard.py video side: live dashboard via isolated /api/video blueprint 2026-06-13 22:40:48 -07:00
libraries.py video side: library mapping backend (pick Movies/TV library) 2026-06-14 00:24:01 -07:00
library.py video side: Library page (lists movies/shows, scan trigger) 2026-06-13 23:17:48 -07:00
scan.py video scan: three modes (full refresh / incremental / deep) 2026-06-13 23:28:57 -07:00