]>
Raphaël G. Git Repositories - youtubedl/blob - youtube_dl/extractor/streamcloud.py
   2 from __future__ 
import unicode_literals
 
   6 from .common 
import InfoExtractor
 
  13 class StreamcloudIE(InfoExtractor
): 
  14     IE_NAME 
= 'streamcloud.eu' 
  15     _VALID_URL 
= r
'https?://streamcloud\.eu/(?P<id>[a-zA-Z0-9_-]+)(?:/(?P<fname>[^#?]*)\.html)?' 
  18         'url': 'http://streamcloud.eu/skp9j99s4bpz/youtube-dl_test_video_____________-BaW_jenozKc.mp4.html', 
  19         'md5': '6bea4c7fa5daaacc2a946b7146286686', 
  23             'title': 'youtube-dl test video  \'/\\ ä ↭', 
  25         'skip': 'Only available from the EU' 
  27         'url': 'http://streamcloud.eu/ua8cmfh1nbe6/NSHIP-148--KUC-NG--H264-.mp4.html', 
  28         'only_matching': True, 
  31     def _real_extract(self
, url
): 
  32         video_id 
= self
._match
_id
(url
) 
  33         url 
= 'http://streamcloud.eu/%s' % video_id
 
  35         orig_webpage 
= self
._download
_webpage
(url
, video_id
) 
  37         if '>File Not Found<' in orig_webpage
: 
  39                 'Video %s does not exist' % video_id
, expected
=True) 
  41         fields 
= re
.findall(r
'''(?x)<input\s+ 
  42             type="(?:hidden|submit)"\s+ 
  48         self
._sleep
(12, video_id
) 
  50         webpage 
= self
._download
_webpage
( 
  51             url
, video_id
, data
=urlencode_postdata(fields
), headers
={ 
  52                 b
'Content-Type': b
'application/x-www-form-urlencoded', 
  56             title 
= self
._html
_search
_regex
( 
  57                 r
'<h1[^>]*>([^<]+)<', webpage
, 'title') 
  58             video_url 
= self
._search
_regex
( 
  59                 r
'file:\s*"([^"]+)"', webpage
, 'video URL') 
  60         except ExtractorError
: 
  61             message 
= self
._html
_search
_regex
( 
  62                 r
'(?s)<div[^>]+class=(["\']).*?msgboxinfo
.*?\
1[^
>]*>(?P
<message
>.+?
)</div
>', 
  63                 webpage, 'message
', default=None, group='message
') 
  65                 raise ExtractorError('%s said
: %s' % (self.IE_NAME, message), expected=True) 
  67         thumbnail = self._search_regex( 
  68             r'image
:\s
*"([^"]+)"', webpage, 'thumbnail URL', fatal=False) 
  74             'thumbnail': thumbnail,