Conversation
|
Thanks for the work on this! I was testing playlist handling and noticed that using I tried a slightly different approach in my PR (#28), where the playlist is expanded into individual video URLs beforehand using With this approach:
Not sure if this direction fits the project, but I’d appreciate your thoughts! |
|
Thanks for the suggestion and for testing! I actually pulled your branch locally and tested it with the same playlist. it only fetched the first video rather than all videos in the playlist, so it doesn't fully resolve issue #9.
Tested with a 13-video playlist all 13 videos fetched successfully. Single video URLs continue to work as before. |
Summary
Adds YouTube playlist support (fixes #9).
Previously, pasting a playlist URL would only fetch the first video because
--no-playlistwas passed to yt-dlp in both the info and download commands. This PR removes that restriction and handles playlists end-to-end.Changes
app.pyRemoved
--no-playlistfromget_info()andrun_download()Updated
get_info()to parse multiple newline-delimited JSON objects returned by yt-dlp for playlistsReturns
{ is_playlist: true, videos: [...] }when multiple videos are detected, single video response unchanged forbackward compatibility
templates/index.htmlUpdated
go()to detectis_playlistresponse and expand each video into its own cardPlaylist videos behave identically to manually pasted individual URLs — individual download + Download All both work
Testing
Tested with a 13-video YouTube playlist
Single video URLs still work as before
"Download All" works across playlist videos
Handles both playlist URL formats:
playlist-download.mp4