]>
Raphaƫl G. Git Repositories - youtubedl/blob - youtube_dl/extractor/pbs.py
   4 from .common 
import InfoExtractor
 
   7 class PBSIE(InfoExtractor
): 
   8     _VALID_URL 
= r
'https?://video.pbs.org/video/(?P<id>\d+)/?' 
  11         u
'url': u
'http://video.pbs.org/video/2365006249/', 
  12         u
'file': u
'2365006249.mp4', 
  13         u
'md5': 'ce1888486f0908d555a8093cac9a7362', 
  15             u
'title': u
'A More Perfect Union', 
  16             u
'description': u
'md5:ba0c207295339c8d6eced00b7c363c6a', 
  21     def _real_extract(self
, url
): 
  22         mobj 
= re
.match(self
._VALID
_URL
, url
) 
  23         video_id 
= mobj
.group('id') 
  24         info_url 
= 'http://video.pbs.org/videoInfo/%s?format=json' % video_id
 
  25         info_page 
= self
._download
_webpage
(info_url
, video_id
) 
  26         info 
=json
.loads(info_page
) 
  27         return {'id': video_id
, 
  28                 'title': info
['title'], 
  29                 'url': info
['alternate_encoding']['url'], 
  31                 'description': info
['program'].get('description'), 
  32                 'thumbnail': info
.get('image_url'), 
  33                 'duration': info
.get('duration'),