diff --git a/ythdd_inv_tl.py b/ythdd_inv_tl.py index aa660d1..8145e87 100644 --- a/ythdd_inv_tl.py +++ b/ythdd_inv_tl.py @@ -17,21 +17,35 @@ import ythdd_api_v1 import ythdd_extractor import ythdd_struct_parser -# TODO: +# TODOs: +# ---------- +# DONE: # [✓] /api/v1/stats (stats()) # [✓] /streams/dQw4w9WgXcQ (does nothing) -# [✓] /vi/videoIdXXXX/maxresdefault.jpg (todo: add a fallback for 404s) +# [✓] /vi/:videoIdXXXX/maxresdefault.jpg # [✓] /api/v1/search?q=... (videos and playlists) # [✓] /api/v1/search/suggestions?q=...&pq=... # [✓] /api/v1/channel/:ucid # [✓] /api/v1/channel/:ucid/videos, shorts, playlists, streams # [✓] /api/v1/comments/:videoid?continuation=... -# [✓] /api/v1/videos/videoIdXXXX +# [✓] /api/v1/videos/:videoIdXXXX +# ---------- +# PLANNED: # [X] /api/v1/playlists/:plid +# [X] /api/v1/:videoIdXXXX/maxres.jpg redirects to best quality thumbnail # [X] /api/v1/storyboards/:videoIdXXXX -# [*] /api/v1/auth/subscriptions (stub? db?) -# [*] /api/v1/auth/feed?page=1 (stub? db?) -# [*] /api/v1/auth/playlists (stub? db?) +# [X] /api/v1/videos/:videoIdXXXX does not depend on yt-dlp and offloads stream retrieval elsewhere (making initial response fast) +# [X] /api/v1/manifest/:videoIdXXXX (above is prerequisite) +# [X] rewrite the awful lookup logic +# ---------- +# IDEAS: +# [*] /api/v1/popular returns last requested videos by the IP (serving as multi-device history?) +# [*] /api/v1/trending returns recently archived videos +# ---------- +# NOT PLANNED/MAYBE IN THE FUTURE: +# [ ] /api/v1/auth/subscriptions (stub? db?) +# [ ] /api/v1/auth/feed?page=1 (stub? db?) +# [ ] /api/v1/auth/playlists (stub? db?) DEFAULT_AVATAR = "https://yt3.ggpht.com/a/default-user=s176-c-k-c0x00ffffff-no-rj" DEFAULT_VIDEO = "https://i.ytimg.com/img/no_thumbnail.jpg" # todo: replace this with a custom, local asset