1
0
mirror of https://github.com/l1ving/youtube-dl synced 2024-12-21 23:33:26 +08:00

[theplatform] Modernize

This commit is contained in:
Sergey M․ 2015-04-08 22:29:10 +06:00
parent 372f08c990
commit 402a3efc92

View File

@ -17,6 +17,7 @@ from ..utils import (
ExtractorError, ExtractorError,
xpath_with_ns, xpath_with_ns,
unsmuggle_url, unsmuggle_url,
int_or_none,
) )
_x = lambda p: xpath_with_ns(p, {'smil': 'http://www.w3.org/2005/SMIL21/Language'}) _x = lambda p: xpath_with_ns(p, {'smil': 'http://www.w3.org/2005/SMIL21/Language'})
@ -148,9 +149,9 @@ class ThePlatformIE(InfoExtractor):
base_url = head.find(_x('smil:meta')).attrib['base'] base_url = head.find(_x('smil:meta')).attrib['base']
for f in switch.findall(_x('smil:video')): for f in switch.findall(_x('smil:video')):
attr = f.attrib attr = f.attrib
width = int(attr['width']) width = int_or_none(attr.get('width'))
height = int(attr['height']) height = int_or_none(attr.get('height'))
vbr = int(attr['system-bitrate']) // 1000 vbr = int_or_none(attr.get('system-bitrate'), 1000)
format_id = '%dx%d_%dk' % (width, height, vbr) format_id = '%dx%d_%dk' % (width, height, vbr)
formats.append({ formats.append({
'format_id': format_id, 'format_id': format_id,
@ -165,7 +166,7 @@ class ThePlatformIE(InfoExtractor):
switch = body.find(_x('smil:seq//smil:switch')) or body.find(_x('smil:seq/smil:switch')) switch = body.find(_x('smil:seq//smil:switch')) or body.find(_x('smil:seq/smil:switch'))
for f in switch.findall(_x('smil:video')): for f in switch.findall(_x('smil:video')):
attr = f.attrib attr = f.attrib
vbr = int(attr['system-bitrate']) // 1000 vbr = int_or_none(attr.get('system-bitrate'), 1000)
ext = determine_ext(attr['src']) ext = determine_ext(attr['src'])
if ext == 'once': if ext == 'once':
ext = 'mp4' ext = 'mp4'
@ -184,5 +185,5 @@ class ThePlatformIE(InfoExtractor):
'formats': formats, 'formats': formats,
'description': info['description'], 'description': info['description'],
'thumbnail': info['defaultThumbnailUrl'], 'thumbnail': info['defaultThumbnailUrl'],
'duration': info['duration'] // 1000, 'duration': int_or_none(info.get('duration'), 1000),
} }