]>
Raphaƫl G. Git Repositories - youtubedl/blob - youtube_dl/extractor/vimple.py
   1 from __future__ 
import unicode_literals
 
   3 from .common 
import InfoExtractor
 
   4 from ..utils 
import int_or_none
 
   7 class SprutoBaseIE(InfoExtractor
): 
   8     def _extract_spruto(self
, spruto
, video_id
): 
   9         playlist 
= spruto
['playlist'][0] 
  10         title 
= playlist
['title'] 
  11         video_id 
= playlist
.get('videoId') or video_id
 
  12         thumbnail 
= playlist
.get('posterUrl') or playlist
.get('thumbnailUrl') 
  13         duration 
= int_or_none(playlist
.get('duration')) 
  17         } for f 
in playlist
['video']] 
  18         self
._sort
_formats
(formats
) 
  23             'thumbnail': thumbnail
, 
  29 class VimpleIE(SprutoBaseIE
): 
  30     IE_DESC 
= 'Vimple - one-click video hosting' 
  31     _VALID_URL 
= r
'https?://(?:player\.vimple\.(?:ru|co)/iframe|vimple\.(?:ru|co))/(?P<id>[\da-f-]{32,36})' 
  33         'url': 'http://vimple.ru/c0f6b1687dcd4000a97ebe70068039cf', 
  34         'md5': '2e750a330ed211d3fd41821c6ad9a279', 
  36             'id': 'c0f6b168-7dcd-4000-a97e-be70068039cf', 
  40             'thumbnail': r
're:https?://.*?\.jpg', 
  43         'url': 'http://player.vimple.ru/iframe/52e1beec-1314-4a83-aeac-c61562eadbf9', 
  44         'only_matching': True, 
  46         'url': 'http://vimple.co/04506a053f124483b8fb05ed73899f19', 
  47         'only_matching': True, 
  50     def _real_extract(self
, url
): 
  51         video_id 
= self
._match
_id
(url
) 
  53         webpage 
= self
._download
_webpage
( 
  54             'http://player.vimple.ru/iframe/%s' % video_id
, video_id
) 
  56         spruto 
= self
._parse
_json
( 
  58                 r
'sprutoData\s*:\s*({.+?}),\r\n', webpage
, 'spruto data'), 
  61         return self
._extract
_spruto
(spruto
, video_id
)