From f6d8776d34ad74afc80b9cfb7207024d32419eea Mon Sep 17 00:00:00 2001 From: ChillingPepper <90042155+ChillingPepper@users.noreply.github.com> Date: Wed, 22 Sep 2021 04:10:02 +0200 Subject: [PATCH] [SovietsCloset] Fix playlists for games with only named categories Authored by: ConquerorDopy --- yt_dlp/extractor/sovietscloset.py | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/yt_dlp/extractor/sovietscloset.py b/yt_dlp/extractor/sovietscloset.py index 218a146df..64201c88c 100644 --- a/yt_dlp/extractor/sovietscloset.py +++ b/yt_dlp/extractor/sovietscloset.py @@ -167,6 +167,14 @@ class SovietsClosetPlaylistIE(SovietsClosetBaseIE): }, 'playlist_mincount': 3, }, + { + 'url': 'https://sovietscloset.com/Total-War-Warhammer', + 'info_dict': { + 'id': 'Total-War-Warhammer', + 'title': 'Total War: Warhammer - Greenskins', + }, + 'playlist_mincount': 33, + }, ] def _real_extract(self, url): @@ -188,7 +196,9 @@ def _real_extract(self, url): category_slug = 'misc' game = next(game for game in sovietscloset if game['slug'].lower() == game_slug) - category = next(cat for cat in game['subcategories'] if cat['slug'].lower() == category_slug) + category = next((cat for cat in game['subcategories'] if cat.get('slug', '').lower() == category_slug), + game['subcategories'][0]) + category_slug = category.get('slug', '').lower() or category_slug playlist_title = game.get('name') or game_slug if category_slug != 'misc': playlist_title += f' - {category.get("name") or category_slug}'