From 11b1222c9095cdf47ad12bddd83cecec1d226cb4 Mon Sep 17 00:00:00 2001 From: Broque Thomas <26755000+Nezreka@users.noreply.github.com> Date: Thu, 19 Mar 2026 09:47:12 -0700 Subject: [PATCH] Fix YouTube playlist parsing capped at ~100 tracks Force full playlist resolution with lazy_playlist=False and materialize entries list to prevent yt-dlp from stopping at the first page of results. --- web_server.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/web_server.py b/web_server.py index d89a706a..fa32cc4b 100644 --- a/web_server.py +++ b/web_server.py @@ -13793,10 +13793,9 @@ def parse_youtube_playlist(url): ydl_opts = { 'quiet': True, 'no_warnings': True, - 'extract_flat': True, # Only extract basic info, no individual video metadata - 'flat_playlist': True, # Extract all playlist entries without hitting API for each video + 'extract_flat': 'in_playlist', # Only extract basic info, no individual video metadata 'skip_download': True, # Don't download, just extract IDs and basic info - # Remove all limits to get complete playlist + 'lazy_playlist': False, # Force full playlist resolution (prevents ~100 entry cap) } tracks = [] @@ -13811,7 +13810,7 @@ def parse_youtube_playlist(url): playlist_name = playlist_info.get('title', 'Unknown Playlist') playlist_id = playlist_info.get('id', 'unknown_id') - entries = playlist_info.get('entries', []) + entries = list(playlist_info.get('entries', []) or []) print(f"🎵 Found YouTube playlist: '{playlist_name}' with {len(entries)} entries")