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 @@ class SovietsClosetPlaylistIE(SovietsClosetBaseIE): 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}'