3 from __future__
import unicode_literals
7 from .common
import InfoExtractor
8 from ..utils
import parse_duration
11 class RadioBremenIE(InfoExtractor
):
12 _VALID_URL
= r
'http?://(?:www\.)?radiobremen\.de/mediathek/(?:index\.html)?\?id=(?P<id>[0-9]+)'
13 IE_NAME
= 'radiobremen'
16 'url': 'http://www.radiobremen.de/mediathek/?id=141876',
22 'title': 'Druck auf Patrick Öztürk',
23 'thumbnail': r
're:https?://.*\.jpg$',
24 'description': 'Gegen den SPD-Bürgerschaftsabgeordneten Patrick Öztürk wird wegen Beihilfe zum gewerbsmäßigen Betrug ermittelt. Am Donnerstagabend sollte er dem Vorstand des SPD-Unterbezirks Bremerhaven dazu Rede und Antwort stehen.',
28 def _real_extract(self
, url
):
29 video_id
= self
._match
_id
(url
)
31 meta_url
= 'http://www.radiobremen.de/apps/php/mediathek/metadaten.php?id=%s' % video_id
32 meta_doc
= self
._download
_webpage
(
33 meta_url
, video_id
, 'Downloading metadata')
34 title
= self
._html
_search
_regex
(
35 r
'<h1.*>(?P<title>.+)</h1>', meta_doc
, 'title')
36 description
= self
._html
_search
_regex
(
37 r
'<p>(?P<description>.*)</p>', meta_doc
, 'description', fatal
=False)
38 duration
= parse_duration(self
._html
_search
_regex
(
39 r
'Länge:</td>\s+<td>(?P<duration>[0-9]+:[0-9]+)</td>',
40 meta_doc
, 'duration', fatal
=False))
42 page_doc
= self
._download
_webpage
(
43 url
, video_id
, 'Downloading video information')
45 r
"ardformatplayerclassic\(\'playerbereich\',\'(?P<width>[0-9]+)\',\'.*\',\'(?P<video_id>[0-9]+)\',\'(?P<secret>[0-9]+)\',\'(?P<thumbnail>.+)\',\'\'\)",
48 "http://dl-ondemand.radiobremen.de/mediabase/%s/%s_%s_%s.mp4" %
49 (video_id
, video_id
, mobj
.group("secret"), mobj
.group('width')))
54 'width': int(mobj
.group('width')),
59 'description': description
,
62 'thumbnail': mobj
.group('thumbnail'),