]>
Raphaƫl G. Git Repositories - youtubedl/blob - youtube_dl/extractor/unistra.py
   1 from __future__ 
import unicode_literals
 
   5 from .common 
import InfoExtractor
 
   6 from ..utils 
import qualities
 
   9 class UnistraIE(InfoExtractor
): 
  10     _VALID_URL 
= r
'https?://utv\.unistra\.fr/(?:index|video)\.php\?id_video\=(?P<id>\d+)' 
  14             'url': 'http://utv.unistra.fr/video.php?id_video=154', 
  15             'md5': '736f605cfdc96724d55bb543ab3ced24', 
  19                 'title': 'M!ss Yella', 
  20                 'description': 'md5:104892c71bd48e55d70b902736b81bbf', 
  24             'url': 'http://utv.unistra.fr/index.php?id_video=437', 
  25             'md5': '1ddddd6cccaae76f622ce29b8779636d', 
  29                 'title': 'Prix Louise Weiss 2014', 
  30                 'description': 'md5:cc3a8735f079f4fb6b0b570fc10c135a', 
  35     def _real_extract(self
, url
): 
  36         mobj 
= re
.match(self
._VALID
_URL
, url
) 
  37         video_id 
= mobj
.group('id') 
  39         webpage 
= self
._download
_webpage
(url
, video_id
) 
  41         files 
= set(re
.findall(r
'file\s*:\s*"(/[^"]+)"', webpage
)) 
  43         quality 
= qualities(['SD', 'HD']) 
  45         for file_path 
in files
: 
  46             format_id 
= 'HD' if file_path
.endswith('-HD.mp4') else 'SD' 
  48                 'url': 'http://vod-flash.u-strasbg.fr:8080%s' % file_path
, 
  49                 'format_id': format_id
, 
  50                 'quality': quality(format_id
) 
  52         self
._sort
_formats
(formats
) 
  54         title 
= self
._html
_search
_regex
( 
  55             r
'<title>UTV - (.*?)</', webpage
, 'title') 
  56         description 
= self
._html
_search
_regex
( 
  57             r
'<meta name="Description" content="(.*?)"', webpage
, 'description', flags
=re
.DOTALL
) 
  58         thumbnail 
= self
._search
_regex
( 
  59             r
'image: "(.*?)"', webpage
, 'thumbnail') 
  64             'description': description
, 
  65             'thumbnail': thumbnail
,