soulsync/api
BoulderBadgeDad b26f664326 Video tools: scan a Movies OR TV library (not just both)
The video Library Scan tool only scanned 'all' — but movies and TV are
independent libraries (unlike music's single library). The scanner backend
already supported media_type='movie'|'show'|'all'; this just wires it up:
- /api/video/scan/request now reads media_type and threads it to request_scan
- the Tools card gains a target selector (All / Movies Only / TV Shows Only)
  alongside the existing mode dropdown, matching the music scan's UX
- the live status detail reflects the target (no confusing '0 shows' on a
  movies-only scan)

Seam test: the endpoint passes both mode and media_type through (default all/full,
explicit movie/deep, TV-only). Existing scanner media-type/scope tests unchanged.
2026-06-21 23:27:35 -07:00
..
video Video tools: scan a Movies OR TV library (not just both) 2026-06-21 23:27:35 -07:00
__init__.py fix: add periodic cleanup timer for api/request in-memory store 2026-04-19 15:22:25 -07:00
auth.py
cache.py
discover.py
downloads.py diag: log every cancel_download caller with a trigger label 2026-05-19 22:31:29 -07:00
helpers.py
library.py fix: eliminate double-query in track search 2026-04-19 15:22:24 -07:00
listenbrainz.py
playlists.py Fix ruff F541 and B007 lint errors 2026-04-21 11:18:40 -07:00
profiles.py
request.py Cin-6: Rename soulseek_client global → download_orchestrator 2026-05-04 23:23:32 -07:00
retag.py
search.py Add module logger + surface silent exceptions in 7 logger-less files — 12 sites 2026-05-07 10:27:04 -07:00
serializers.py Add MusicBrainz as a metadata source 2026-05-18 18:47:13 -07:00
settings.py
system.py Add module logger + surface silent exceptions in 7 logger-less files — 12 sites 2026-05-07 10:27:04 -07:00
watchlist.py
wishlist.py Make wishlist respect configured providers 2026-04-30 07:41:22 +03:00