1
0
mirror of https://github.com/l1ving/youtube-dl synced 2024-12-31 00:02:57 +08:00

[streamcloud] Remove duration and modernize (Closes #3374)

This commit is contained in:
Sergey M․ 2014-07-27 02:05:06 +07:00
parent 64ce58db38
commit 71aa656d13

View File

@ -1,4 +1,6 @@
# coding: utf-8 # coding: utf-8
from __future__ import unicode_literals
import re import re
import time import time
@ -10,18 +12,18 @@ from ..utils import (
class StreamcloudIE(InfoExtractor): class StreamcloudIE(InfoExtractor):
IE_NAME = u'streamcloud.eu' IE_NAME = 'streamcloud.eu'
_VALID_URL = r'https?://streamcloud\.eu/(?P<id>[a-zA-Z0-9_-]+)/(?P<fname>[^#?]*)\.html' _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', 'url': 'http://streamcloud.eu/skp9j99s4bpz/youtube-dl_test_video_____________-BaW_jenozKc.mp4.html',
u'file': u'skp9j99s4bpz.mp4', 'md5': '6bea4c7fa5daaacc2a946b7146286686',
u'md5': u'6bea4c7fa5daaacc2a946b7146286686', 'info_dict': {
u'info_dict': { 'id': 'skp9j99s4bpz',
u'title': u'youtube-dl test video \'/\\ ä ↭', 'ext': 'mp4',
u'duration': 9, '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):
@ -46,21 +48,17 @@ class StreamcloudIE(InfoExtractor):
req = compat_urllib_request.Request(url, post, headers) req = compat_urllib_request.Request(url, post, headers)
webpage = self._download_webpage( 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') r'file:\s*"([^"]+)"', webpage, '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)
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 { return {
'id': video_id, 'id': video_id,
'title': title, 'title': title,
'url': video_url, 'url': video_url,
'duration': duration,
'thumbnail': thumbnail, 'thumbnail': thumbnail,
} }