@@ -21,6 +21,11 @@ class URPlayIE(InfoExtractor):
21
21
'description' : 'md5:5344508a52aa78c1ced6c1b8b9e44e9a' ,
22
22
'timestamp' : 1513292400 ,
23
23
'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' ,
24
29
},
25
30
}, {
26
31
'url' : 'https://urskola.se/Produkter/190031-Tripp-Trapp-Trad-Sovkudde' ,
@@ -31,6 +36,10 @@ class URPlayIE(InfoExtractor):
31
36
'description' : 'md5:b86bffdae04a7e9379d1d7e5947df1d1' ,
32
37
'timestamp' : 1440086400 ,
33
38
'upload_date' : '20150820' ,
39
+ 'series' : 'Tripp, Trapp, Träd' ,
40
+ 'duration' : 865 ,
41
+ 'tags' : ['Sova' ],
42
+ 'episode' : 'Sovkudde' ,
34
43
},
35
44
}, {
36
45
'url' : 'http://urskola.se/Produkter/155794-Smasagor-meankieli-Grodan-i-vida-varlden' ,
@@ -41,9 +50,11 @@ def _real_extract(self, url):
41
50
video_id = self ._match_id (url )
42
51
url = url .replace ('skola.se/Produkter' , 'play.se/program' )
43
52
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 (
45
55
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 )
47
58
episode = urplayer_data ['title' ]
48
59
raw_streaming_info = urplayer_data ['streamingInfo' ]['raw' ]
49
60
host = self ._download_json (
0 commit comments