]>
Raphaël G. Git Repositories - youtubedl/blob - youtube_dl/extractor/discoverynetworks.py
   2 from __future__ 
import unicode_literals
 
   6 from .common 
import InfoExtractor
 
   7 from .brightcove 
import BrightcoveLegacyIE
 
  12 from ..utils 
import smuggle_url
 
  15 class DiscoveryNetworksDeIE(InfoExtractor
): 
  16     _VALID_URL 
= r
'https?://(?:www\.)?(?:discovery|tlc|animalplanet|dmax)\.de/(?:.*#(?P<id>\d+)|(?:[^/]+/)*videos/(?P<title>[^/?#]+))' 
  19         'url': 'http://www.tlc.de/sendungen/breaking-amish/videos/#3235167922001', 
  21             'id': '3235167922001', 
  23             'title': 'Breaking Amish: Die Welt da draußen', 
  25                 'Vier Amische und eine Mennonitin wagen in New York' 
  26                 '  den Sprung in ein komplett anderes Leben. Begleitet sie auf' 
  27                 ' ihrem spannenden Weg.'), 
  28             'timestamp': 1396598084, 
  29             'upload_date': '20140404', 
  30             'uploader_id': '1659832546', 
  33         'url': 'http://www.dmax.de/programme/storage-hunters-uk/videos/storage-hunters-uk-episode-6/', 
  34         'only_matching': True, 
  36         'url': 'http://www.discovery.de/#5332316765001', 
  37         'only_matching': True, 
  39     BRIGHTCOVE_URL_TEMPLATE 
= 'http://players.brightcove.net/1659832546/default_default/index.html?videoId=%s' 
  41     def _real_extract(self
, url
): 
  42         mobj 
= re
.match(self
._VALID
_URL
, url
) 
  43         brightcove_id 
= mobj
.group('id') 
  45             title 
= mobj
.group('title') 
  46             webpage 
= self
._download
_webpage
(url
, title
) 
  47             brightcove_legacy_url 
= BrightcoveLegacyIE
._extract
_brightcove
_url
(webpage
) 
  48             brightcove_id 
= compat_parse_qs(compat_urlparse
.urlparse( 
  49                 brightcove_legacy_url
).query
)['@videoPlayer'][0] 
  50         return self
.url_result(smuggle_url( 
  51             self
.BRIGHTCOVE_URL_TEMPLATE 
% brightcove_id
, {'geo_countries': ['DE']}), 
  52             'BrightcoveNew', brightcove_id
)