]>
Raphaël G. Git Repositories - youtubedl/blob - youtube_dl/extractor/karrierevideos.py
   2 from __future__ 
import unicode_literals
 
   4 from .common 
import InfoExtractor
 
   5 from ..compat 
import compat_urlparse
 
  14 class KarriereVideosIE(InfoExtractor
): 
  15     _VALID_URL 
= r
'http://(?:www\.)?karrierevideos\.at(?:/[^/]+)+/(?P<id>[^/]+)' 
  17         'url': 'http://www.karrierevideos.at/berufsvideos/mittlere-hoehere-schulen/altenpflegerin', 
  21             'title': 'AltenpflegerIn', 
  22             'description': 'md5:dbadd1259fde2159a9b28667cb664ae2', 
  23             'thumbnail': 're:^http://.*\.png', 
  27             'skip_download': True, 
  31         'url': 'http://www.karrierevideos.at/orientierung/vaeterkarenz-und-neue-chancen-fuer-muetter-baby-was-nun', 
  35             'title': 'Väterkarenz und neue Chancen für Mütter - "Baby - was nun?"', 
  36             'description': 'md5:97092c6ad1fd7d38e9d6a5fdeb2bcc33', 
  37             'thumbnail': 're:^http://.*\.png', 
  41             'skip_download': True, 
  45     def _real_extract(self
, url
): 
  46         video_id 
= self
._match
_id
(url
) 
  48         webpage 
= self
._download
_webpage
(url
, video_id
) 
  50         title 
= (self
._html
_search
_meta
('title', webpage
, default
=None) or 
  51                  self
._search
_regex
(r
'<h1 class="title">([^<]+)</h1>')) 
  53         video_id 
= self
._search
_regex
( 
  54             r
'/config/video/(.+?)\.xml', webpage
, 'video id') 
  55         playlist 
= self
._download
_xml
( 
  56             'http://www.karrierevideos.at/player-playlist.xml.php?p=%s' % video_id
, 
  57             video_id
, transform_source
=fix_xml_ampersands
) 
  60             'jwplayer': 'http://developer.longtailvideo.com/trac/wiki/FlashFormats' 
  64             return xpath_with_ns(path
, NS_MAP
) 
  66         item 
= playlist
.find('./tracklist/item') 
  67         video_file 
= xpath_text( 
  68             item
, ns('./jwplayer:file'), 'video url', fatal
=True) 
  69         streamer 
= xpath_text( 
  70             item
, ns('./jwplayer:streamer'), 'streamer', fatal
=True) 
  72         uploader 
= xpath_text( 
  73             item
, ns('./jwplayer:author'), 'uploader') 
  74         duration 
= float_or_none( 
  75             xpath_text(item
, ns('./jwplayer:duration'), 'duration')) 
  77         description 
= self
._html
_search
_regex
( 
  78             r
'(?s)<div class="leadtext">(.+?)</div>', 
  79             webpage
, 'description') 
  81         thumbnail 
= self
._html
_search
_meta
( 
  82             'thumbnail', webpage
, 'thumbnail') 
  84             thumbnail 
= compat_urlparse
.urljoin(url
, thumbnail
) 
  88             'url': streamer
.replace('rtmpt', 'rtmp'), 
  89             'play_path': 'mp4:%s' % video_file
, 
  92             'description': description
, 
  93             'thumbnail': thumbnail
,