Skip to content

Commit 38fe5e2

Browse files
committed
[urplay] fix episode data extraction(closes ytdl-org#28292)
1 parent 678d46f commit 38fe5e2

File tree

1 file changed

+13
-2
lines changed

1 file changed

+13
-2
lines changed

youtube_dl/extractor/urplay.py

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,11 @@ class URPlayIE(InfoExtractor):
2121
'description': 'md5:5344508a52aa78c1ced6c1b8b9e44e9a',
2222
'timestamp': 1513292400,
2323
'upload_date': '20171214',
24+
'series': 'UR Samtiden - Livet, universum och rymdens märkliga musik',
25+
'duration': 2269,
26+
'categories': ['Kultur & historia'],
27+
'tags': ['Kritiskt tänkande', 'Vetenskap', 'Vetenskaplig verksamhet'],
28+
'episode': 'Om vetenskap, kritiskt tänkande och motstånd',
2429
},
2530
}, {
2631
'url': 'https://urskola.se/Produkter/190031-Tripp-Trapp-Trad-Sovkudde',
@@ -31,6 +36,10 @@ class URPlayIE(InfoExtractor):
3136
'description': 'md5:b86bffdae04a7e9379d1d7e5947df1d1',
3237
'timestamp': 1440086400,
3338
'upload_date': '20150820',
39+
'series': 'Tripp, Trapp, Träd',
40+
'duration': 865,
41+
'tags': ['Sova'],
42+
'episode': 'Sovkudde',
3443
},
3544
}, {
3645
'url': 'http://urskola.se/Produkter/155794-Smasagor-meankieli-Grodan-i-vida-varlden',
@@ -41,9 +50,11 @@ def _real_extract(self, url):
4150
video_id = self._match_id(url)
4251
url = url.replace('skola.se/Produkter', 'play.se/program')
4352
webpage = self._download_webpage(url, video_id)
44-
urplayer_data = self._parse_json(self._html_search_regex(
53+
vid = int(video_id)
54+
accessible_episodes = self._parse_json(self._html_search_regex(
4555
r'data-react-class="routes/Product/components/ProgramContainer/ProgramContainer"[^>]+data-react-props="({.+?})"',
46-
webpage, 'urplayer data'), video_id)['accessibleEpisodes'][0]
56+
webpage, 'urplayer data'), video_id)['accessibleEpisodes']
57+
urplayer_data = next(e for e in accessible_episodes if e.get('id') == vid)
4758
episode = urplayer_data['title']
4859
raw_streaming_info = urplayer_data['streamingInfo']['raw']
4960
host = self._download_json(

0 commit comments

Comments
 (0)