]>
jfr.im git - yt-dlp.git/blob - yt_dlp/extractor/myspass.py
1 from . common
import InfoExtractor
2 from .. compat
import compat_str
10 class MySpassIE ( InfoExtractor
):
11 _VALID_URL
= r
'https?://(?:www\.)?myspass\.de/(?:[^/]+/)*(?P<id>\d+)/?[^/]*$'
13 'url' : 'http://www.myspass.de/myspass/shows/tvshows/absolute-mehrheit/Absolute-Mehrheit-vom-17022013-Die-Highlights-Teil-2--/11741/' ,
14 'md5' : '0b49f4844a068f8b33f4b7c88405862b' ,
18 'description' : 'md5:9f0db5044c8fe73f528a390498f7ce9b' ,
19 'title' : '17.02.2013 - Die Highlights, Teil 2' ,
20 'thumbnail' : r
're:.*\.jpg' ,
22 'episode' : '17.02.2013 - Die Highlights, Teil 2' ,
25 'series' : 'Absolute Mehrheit' ,
31 'url' : 'https://www.myspass.de/shows/tvshows/tv-total/Novak-Puffovic-bei-bester-Laune--/44996/' ,
32 'md5' : 'eb28b7c5e254192046e86ebaf7deac8f' ,
36 'description' : 'md5:74c7f886e00834417f1e427ab0da6121' ,
37 'title' : 'Novak Puffovic bei bester Laune' ,
38 'thumbnail' : r
're:.*\.jpg' ,
40 'episode' : 'Novak Puffovic bei bester Laune' ,
42 'season' : 'Season 19' ,
49 'url' : 'https://www.myspass.de/channels/tv-total-raabigramm/17033/20831/' ,
50 'md5' : '7b293a6b9f3a7acdd29304c8d0dbb7cc' ,
54 'description' : 'Gefühle pur: Schaut euch die ungeschnittene Version von Stefans Liebesbeweis an die Moderationsgrazie von Welt, Verona Feldbusch, an.' ,
55 'title' : 'Raabigramm Verona Feldbusch' ,
56 'thumbnail' : r
're:.*\.jpg' ,
58 'episode' : 'Raabigramm Verona Feldbusch' ,
67 def _real_extract ( self
, url
):
68 video_id
= self
._ match
_ id
( url
)
70 metadata
= self
._ download
_ xml
( 'http://www.myspass.de/myspass/includes/apps/video/getvideometadataxml.php?id=' + video_id
, video_id
)
72 title
= xpath_text ( metadata
, 'title' , fatal
= True )
73 video_url
= xpath_text ( metadata
, 'url_flv' , 'download url' , True )
74 video_id_int
= int ( video_id
)
75 for group
in self
._ search
_ regex
( r
'/myspass2009/\d+/(\d+)/(\d+)/(\d+)/' , video_url
, 'myspass' , group
=( 1 , 2 , 3 ), default
=[]):
76 group_int
= int ( group
)
77 if group_int
> video_id_int
:
78 video_url
= video_url
. replace ( group
, compat_str ( group_int
// video_id_int
))
84 'thumbnail' : xpath_text ( metadata
, 'imagePreview' ),
85 'description' : xpath_text ( metadata
, 'description' ),
86 'duration' : parse_duration ( xpath_text ( metadata
, 'duration' )),
87 'series' : xpath_text ( metadata
, 'format' ),
88 'season_number' : int_or_none ( xpath_text ( metadata
, 'season' )),
89 'season_id' : xpath_text ( metadata
, 'season_id' ),
91 'episode_number' : int_or_none ( xpath_text ( metadata
, 'episode' )),