- Resolver: capture banner_url + separate avatar (by thumbnail id), keeping per-video duration/views for the detail hero. - query_youtube_wishlist reshaped to the EXACT TV-nebula shape: channel = show, upload YEAR = season (newest first), video = episode (newest=ep1 within a year), carrying source='youtube' + youtube_id + per-video source_id. Surrogate int returned as tmdb_id so the nebula's int keying just works. - New API: GET /youtube/channel/<id> (full channel detail — meta + deeper uploads + following + per-video wished flags) and POST /youtube/wishlist/add (per-video wish). DB: youtube_video_wish_state, remove_one_video_from_wishlist. - Tests updated for the nebula shape + banner + detail endpoints. 82 DB + 69 api/youtube tests green. |
||
|---|---|---|
| .. | ||
| __init__.py | ||
| calendar.py | ||
| dashboard.py | ||
| detail.py | ||
| discover.py | ||
| enrichment.py | ||
| libraries.py | ||
| library.py | ||
| poster.py | ||
| scan.py | ||
| search.py | ||
| watchlist.py | ||
| wishlist.py | ||
| youtube.py | ||