projects
/
youtube-dl
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
release 2015.03.03
[youtube-dl]
/
youtube_dl
/
extractor
/
streamcloud.py
diff --git
a/youtube_dl/extractor/streamcloud.py
b/youtube_dl/extractor/streamcloud.py
index 9faf3a5e3f677ae8b00454c492f6ef2bf129d329..d4e1340158da92de09776b39a4dfebe8e38aeddf 100644
(file)
--- a/
youtube_dl/extractor/streamcloud.py
+++ b/
youtube_dl/extractor/streamcloud.py
@@
-1,32
+1,33
@@
# coding: utf-8
# coding: utf-8
+from __future__ import unicode_literals
+
import re
import re
-import time
from .common import InfoExtractor
from .common import InfoExtractor
-from ..
utils
import (
+from ..
compat
import (
compat_urllib_parse,
compat_urllib_request,
)
class StreamcloudIE(InfoExtractor):
compat_urllib_parse,
compat_urllib_request,
)
class StreamcloudIE(InfoExtractor):
- IE_NAME =
u
'streamcloud.eu'
- _VALID_URL = r'https?://streamcloud\.eu/(?P<id>[a-zA-Z0-9_-]+)
/(?P<fname>[^#?]*)\.html
'
+ IE_NAME = 'streamcloud.eu'
+ _VALID_URL = r'https?://streamcloud\.eu/(?P<id>[a-zA-Z0-9_-]+)
(?:/(?P<fname>[^#?]*)\.html)?
'
_TEST = {
_TEST = {
-
u'url': u
'http://streamcloud.eu/skp9j99s4bpz/youtube-dl_test_video_____________-BaW_jenozKc.mp4.html',
-
u'file': u'skp9j99s4bpz.mp4
',
- u'md5': u'6bea4c7fa5daaacc2a946b7146286686',
- u'info_dict': {
-
u'title': u'youtube-dl test video \'/\\ ä ↭
',
-
u'duration': 9
,
+
'url':
'http://streamcloud.eu/skp9j99s4bpz/youtube-dl_test_video_____________-BaW_jenozKc.mp4.html',
+
'md5': '6bea4c7fa5daaacc2a946b7146286686
',
+ 'info_dict': {
+ 'id': 'skp9j99s4bpz',
+
'ext': 'mp4
',
+
'title': 'youtube-dl test video \'/\\ ä ↭'
,
},
},
-
u'skip': u
'Only available from the EU'
+
'skip':
'Only available from the EU'
}
def _real_extract(self, url):
}
def _real_extract(self, url):
-
mobj = re.match(self._VALID_URL,
url)
- video_id = mobj.group('id')
+
video_id = self._match_id(
url)
+ url = 'http://streamcloud.eu/%s' % video_id
orig_webpage = self._download_webpage(url, video_id)
orig_webpage = self._download_webpage(url, video_id)
@@
-38,29
+39,24
@@
class StreamcloudIE(InfoExtractor):
''', orig_webpage)
post = compat_urllib_parse.urlencode(fields)
''', orig_webpage)
post = compat_urllib_parse.urlencode(fields)
- self.to_screen('%s: Waiting for timeout' % video_id)
- time.sleep(12)
+ self._sleep(12, video_id)
headers = {
b'Content-Type': b'application/x-www-form-urlencoded',
}
req = compat_urllib_request.Request(url, post, headers)
webpage = self._download_webpage(
headers = {
b'Content-Type': b'application/x-www-form-urlencoded',
}
req = compat_urllib_request.Request(url, post, headers)
webpage = self._download_webpage(
- req, video_id, note=
u
'Downloading video page ...')
+ req, video_id, note='Downloading video page ...')
title = self._html_search_regex(
title = self._html_search_regex(
- r'<h1[^>]*>([^<]+)<', webpage,
u
'title')
+ r'<h1[^>]*>([^<]+)<', webpage, 'title')
video_url = self._search_regex(
video_url = self._search_regex(
- r'file:\s*"([^"]+)"', webpage, u'video URL')
- duration_str = self._search_regex(
- r'duration:\s*"?([0-9]+)"?', webpage, u'duration', fatal=False)
- duration = None if duration_str is None else int(duration_str)
+ r'file:\s*"([^"]+)"', webpage, 'video URL')
thumbnail = self._search_regex(
thumbnail = self._search_regex(
- r'image:\s*"([^"]+)"', webpage,
u
'thumbnail URL', fatal=False)
+ r'image:\s*"([^"]+)"', webpage, 'thumbnail URL', fatal=False)
return {
'id': video_id,
'title': title,
'url': video_url,
return {
'id': video_id,
'title': title,
'url': video_url,
- 'duration': duration,
'thumbnail': thumbnail,
}
'thumbnail': thumbnail,
}