projects
/
youtube-dl
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[youku] compare bytes and str for compatible; use compat_urllib_parse for making...
[youtube-dl]
/
youtube_dl
/
extractor
/
spiegeltv.py
diff --git
a/youtube_dl/extractor/spiegeltv.py
b/youtube_dl/extractor/spiegeltv.py
index 7f388aced0800ebc1881de06b1ddded61afba926..98cf92d89a1151edfd11b8f15a86eeaa6a83178d 100644
(file)
--- a/
youtube_dl/extractor/spiegeltv.py
+++ b/
youtube_dl/extractor/spiegeltv.py
@@
-1,13
+1,13
@@
# coding: utf-8
from __future__ import unicode_literals
# coding: utf-8
from __future__ import unicode_literals
-import re
from .common import InfoExtractor
from .common import InfoExtractor
+from ..utils import float_or_none
class SpiegeltvIE(InfoExtractor):
class SpiegeltvIE(InfoExtractor):
- _VALID_URL = r'https?://(?:www\.)?spiegel\.tv/filme/(?P<id>[\-a-z0-9]+)'
- _TEST
=
{
+ _VALID_URL = r'https?://(?:www\.)?spiegel\.tv/
(?:#/)?
filme/(?P<id>[\-a-z0-9]+)'
+ _TEST
S = [
{
'url': 'http://www.spiegel.tv/filme/flug-mh370/',
'info_dict': {
'id': 'flug-mh370',
'url': 'http://www.spiegel.tv/filme/flug-mh370/',
'info_dict': {
'id': 'flug-mh370',
@@
-20,12
+20,15
@@
class SpiegeltvIE(InfoExtractor):
# rtmp download
'skip_download': True,
}
# rtmp download
'skip_download': True,
}
- }
+ }, {
+ 'url': 'http://www.spiegel.tv/#/filme/alleskino-die-wahrheit-ueber-maenner/',
+ 'only_matching': True,
+ }]
def _real_extract(self, url):
def _real_extract(self, url):
- mobj = re.match(self._VALID_URL, url)
-
video_id = mobj.group('id
')
-
+ if '/#/' in url:
+
url = url.replace('/#/', '/
')
+ video_id = self._match_id(url)
webpage = self._download_webpage(url, video_id)
title = self._html_search_regex(r'<h1.*?>(.*?)</h1>', webpage, 'title')
webpage = self._download_webpage(url, video_id)
title = self._html_search_regex(r'<h1.*?>(.*?)</h1>', webpage, 'title')
@@
-61,12
+64,8
@@
class SpiegeltvIE(InfoExtractor):
})
description = media_json['subtitle']
})
description = media_json['subtitle']
- duration = media_json['duration_in_ms'] / 1000.
-
- if is_wide:
- format = '16x9'
- else:
- format = '4x3'
+ duration = float_or_none(media_json.get('duration_in_ms'), scale=1000)
+ format = '16x9' if is_wide else '4x3'
url = server + 'mp4:' + uuid + '_spiegeltv_0500_' + format + '.m4v'
url = server + 'mp4:' + uuid + '_spiegeltv_0500_' + format + '.m4v'
@@
-78,4
+77,4
@@
class SpiegeltvIE(InfoExtractor):
'description': description,
'duration': duration,
'thumbnails': thumbnails
'description': description,
'duration': duration,
'thumbnails': thumbnails
- }
\ No newline at end of file
+ }