]>
Raphaël G. Git Repositories - youtubedl/blob - youtube_dl/extractor/regiotv.py
   2 from __future__ 
import unicode_literals
 
   4 from .common 
import InfoExtractor
 
  13 class RegioTVIE(InfoExtractor
): 
  14     _VALID_URL 
= r
'https?://(?:www\.)?regio-tv\.de/video/(?P<id>[0-9]+)' 
  16         'url': 'http://www.regio-tv.de/video/395808.html', 
  20             'title': 'Wir in Ludwigsburg', 
  21             'description': 'Mit unseren zuckersüßen Adventskindern, außerdem besuchen wir die Abendsterne!', 
  24         'url': 'http://www.regio-tv.de/video/395808', 
  25         'only_matching': True, 
  28     def _real_extract(self
, url
): 
  29         video_id 
= self
._match
_id
(url
) 
  31         webpage 
= self
._download
_webpage
(url
, video_id
) 
  33         key 
= self
._search
_regex
( 
  34             r
'key\s*:\s*(["\'])(?P
<key
>.+?
)\
1', webpage, 'key
', group='key
') 
  35         title = self._og_search_title(webpage) 
  37         SOAP_TEMPLATE = '<?xml version
="1.0" encoding
="utf-8"?
><soap
:Envelope xmlns
:xsi
="http://www.w3.org/2001/XMLSchema-instance" xmlns
:xsd
="http://www.w3.org/2001/XMLSchema" xmlns
:soap
="http://schemas.xmlsoap.org/soap/envelope/"><soap
:Body
><{0} xmlns
="http://v.telvi.de/"><key xsi
:type="xsd:string">{1}
</key
></{0}
></soap
:Body
></soap
:Envelope
>' 
  39         request = sanitized_Request( 
  41             SOAP_TEMPLATE.format('GetHTML5VideoData
', key).encode('utf
-8')) 
  42         video_data = self._download_xml(request, video_id, 'Downloading video XML
') 
  45             'xsi
': 'http
://www
.w3
.org
/2001/XMLSchema
-instance
', 
  46             'soap
': 'http
://schemas
.xmlsoap
.org
/soap
/envelope
/', 
  49         video_url = xpath_text( 
  50             video_data, xpath_with_ns('.//video
', NS_MAP), 'video url
', fatal=True) 
  51         thumbnail = xpath_text( 
  52             video_data, xpath_with_ns('.//image
', NS_MAP), 'thumbnail
') 
  53         description = self._og_search_description( 
  54             webpage) or self._html_search_meta('description
', webpage) 
  60             'description
': description, 
  61             'thumbnail
': thumbnail,