]> jfr.im git - yt-dlp.git/commitdiff
[SovietsCloset] Fix playlists for games with only named categories
authorChillingPepper <redacted>
Wed, 22 Sep 2021 02:10:02 +0000 (04:10 +0200)
committerGitHub <redacted>
Wed, 22 Sep 2021 02:10:02 +0000 (07:40 +0530)
Authored by: ConquerorDopy

yt_dlp/extractor/sovietscloset.py

index 218a146dfe9e6f7768e637e8079a994e55280225..64201c88c3e48e3003cd258a87cc5033699670cb 100644 (file)
@@ -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}'