[spiegeltv] Simplify and PEP8

master
Philipp Hagemeister 10 years ago
parent 4e0fb1280a
commit d551980823

@ -717,6 +717,15 @@ class YoutubeDL(object):
info_dict['playlist'] = None info_dict['playlist'] = None
info_dict['playlist_index'] = None info_dict['playlist_index'] = None
thumbnails = info_dict.get('thumbnails')
if thumbnails:
for t in thumbnails:
if 'width' in t and 'height' in t:
t['resolution'] = '%dx%d' % (t['width'], t['height'])
if thumbnails and 'thumbnail' not in info_dict:
info_dict['thumbnail'] = thumbnails[-1]['url']
if 'display_id' not in info_dict and 'id' in info_dict: if 'display_id' not in info_dict and 'id' in info_dict:
info_dict['display_id'] = info_dict['id'] info_dict['display_id'] = info_dict['id']

@ -92,8 +92,12 @@ class InfoExtractor(object):
unique, but available before title. Typically, id is unique, but available before title. Typically, id is
something like "4234987", title "Dancing naked mole rats", something like "4234987", title "Dancing naked mole rats",
and display_id "dancing-naked-mole-rats" and display_id "dancing-naked-mole-rats"
thumbnails: A list of dictionaries (with the entries "resolution" and thumbnails: A list of dictionaries, with the following entries:
"url") for the varying thumbnails * "url"
* "width" (optional, int)
* "height" (optional, int)
* "resolution" (optional, string "{width}x{height"},
deprecated)
thumbnail: Full URL to a video thumbnail image. thumbnail: Full URL to a video thumbnail image.
description: One-line video description. description: One-line video description.
uploader: Full name of the video uploader. uploader: Full name of the video uploader.

@ -4,6 +4,7 @@ from __future__ import unicode_literals
import re import re
from .common import InfoExtractor from .common import InfoExtractor
class SpiegeltvIE(InfoExtractor): class SpiegeltvIE(InfoExtractor):
_VALID_URL = r'https?://(?:www\.)?spiegel\.tv/filme/(?P<id>[\-a-z0-9]+)' _VALID_URL = r'https?://(?:www\.)?spiegel\.tv/filme/(?P<id>[\-a-z0-9]+)'
_TEST = { _TEST = {
@ -13,6 +14,7 @@ class SpiegeltvIE(InfoExtractor):
'ext': 'm4v', 'ext': 'm4v',
'title': 'Flug MH370', 'title': 'Flug MH370',
'description': 'Das Rätsel um die Boeing 777 der Malaysia-Airlines', 'description': 'Das Rätsel um die Boeing 777 der Malaysia-Airlines',
'thumbnail': 're:http://.*\.jpg$',
}, },
'params': { 'params': {
# rtmp download # rtmp download
@ -27,36 +29,48 @@ class SpiegeltvIE(InfoExtractor):
webpage = self._download_webpage(url, video_id) webpage = self._download_webpage(url, video_id)
title = self._html_search_regex(r'<h1.*?>(.*?)</h1>', webpage, 'title') title = self._html_search_regex(r'<h1.*?>(.*?)</h1>', webpage, 'title')
apihost = 'http://spiegeltv-ivms2-restapi.s3.amazonaws.com'; apihost = 'http://spiegeltv-ivms2-restapi.s3.amazonaws.com'
version_json = self._download_json(
'%s/version.json' % apihost, video_id,
note='Downloading version information')
version_name = version_json['version_name']
version_json = self._download_json('%s/version.json' % apihost, None) slug_json = self._download_json(
version_name = version_json['version_name'] '%s/%s/restapi/slugs/%s.json' % (apihost, version_name, video_id),
video_id,
note='Downloading object information')
oid = slug_json['object_id']
slug_json = self._download_json('%s/%s/restapi/slugs/%s.json' % (apihost, version_name, video_id), None) media_json = self._download_json(
oid = slug_json['object_id'] '%s/%s/restapi/media/%s.json' % (apihost, version_name, oid),
video_id, note='Downloading media information')
media_json = self._download_json('%s/%s/restapi/media/%s.json' % (apihost, version_name, oid), None) uuid = media_json['uuid']
uuid = media_json['uuid'] is_wide = media_json['is_wide']
is_wide = media_json['is_wide']
server_json = self._download_json('http://www.spiegel.tv/streaming_servers/', None) server_json = self._download_json(
server = server_json[0]['endpoint'] 'http://www.spiegel.tv/streaming_servers/', video_id,
note='Downloading server information')
server = server_json[0]['endpoint']
thumbnails = [] thumbnails = []
for image in media_json['images']: for image in media_json['images']:
thumbnails.append({'url': image['url'], 'resolution': str(image['width']) + 'x' + str(image['height']) }) thumbnails.append({
'url': image['url'],
'width': image['width'],
'height': image['height'],
})
description = media_json['subtitle'] description = media_json['subtitle']
duration = int(round(media_json['duration_in_ms'] / 1000)) duration = media_json['duration_in_ms'] / 1000.
if is_wide: if is_wide:
format = '16x9' format = '16x9'
else: else:
format = '4x3' format = '4x3'
url = server + 'mp4:' + uuid + '_spiegeltv_0500_' + format + '.m4v' url = server + 'mp4:' + uuid + '_spiegeltv_0500_' + format + '.m4v'
return_dict = { return {
'id': video_id, 'id': video_id,
'title': title, 'title': title,
'url': url, 'url': url,
@ -64,5 +78,4 @@ class SpiegeltvIE(InfoExtractor):
'description': description, 'description': description,
'duration': duration, 'duration': duration,
'thumbnails': thumbnails 'thumbnails': thumbnails
} }
return return_dict
Loading…
Cancel
Save