mirror of
https://github.com/l1ving/youtube-dl
synced 2025-02-09 11:13:32 +08:00
[ccma] parse resolution from utils, ensure only existing urls are appended.
This commit is contained in:
parent
dfaae7e7eb
commit
a35a69bece
@ -10,6 +10,7 @@ from ..utils import (
|
|||||||
parse_duration,
|
parse_duration,
|
||||||
parse_iso8601,
|
parse_iso8601,
|
||||||
clean_html,
|
clean_html,
|
||||||
|
parse_resolution
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
@ -44,7 +45,7 @@ class CCMAIE(InfoExtractor):
|
|||||||
media_data = {}
|
media_data = {}
|
||||||
formats = []
|
formats = []
|
||||||
profiles = ['pc'] if media_type == 'audio' else ['mobil', 'pc']
|
profiles = ['pc'] if media_type == 'audio' else ['mobil', 'pc']
|
||||||
for i, profile in enumerate(profiles):
|
for profile in profiles:
|
||||||
md = self._download_json('http://dinamics.ccma.cat/pvideo/media.jsp', media_id, query={
|
md = self._download_json('http://dinamics.ccma.cat/pvideo/media.jsp', media_id, query={
|
||||||
'media': media_type,
|
'media': media_type,
|
||||||
'idint': media_id,
|
'idint': media_id,
|
||||||
@ -53,28 +54,21 @@ class CCMAIE(InfoExtractor):
|
|||||||
if md:
|
if md:
|
||||||
media_data = md
|
media_data = md
|
||||||
media_url = media_data.get('media', {}).get('url')
|
media_url = media_data.get('media', {}).get('url')
|
||||||
ext = media_data.get('media', {}).get('format')
|
|
||||||
if ext:
|
|
||||||
ext = ext.lower()
|
|
||||||
|
|
||||||
if media_url and isinstance(media_url, list):
|
if media_url and isinstance(media_url, list):
|
||||||
for _url in media_url:
|
for _url in media_url:
|
||||||
if 'label' in _url:
|
resolution = parse_resolution(_url.get('label'))
|
||||||
height = int_or_none(_url.get('label').replace('p', ''))
|
|
||||||
else:
|
|
||||||
height = None
|
|
||||||
|
|
||||||
formats.append({
|
if _url.get('file'):
|
||||||
'format_id': profile,
|
formats.append({
|
||||||
'url': _url.get('file'),
|
'format_id': profile,
|
||||||
'height': height,
|
'url': _url.get('file'),
|
||||||
'ext': ext
|
'height': resolution.get('height'),
|
||||||
})
|
})
|
||||||
elif media_url and isinstance(media_url, compat_str):
|
elif media_url and isinstance(media_url, compat_str):
|
||||||
formats.append({
|
formats.append({
|
||||||
'format_id': profile,
|
'format_id': profile,
|
||||||
'url': media_url,
|
'url': media_url,
|
||||||
'ext': ext
|
|
||||||
})
|
})
|
||||||
|
|
||||||
self._sort_formats(formats)
|
self._sort_formats(formats)
|
||||||
@ -92,8 +86,8 @@ class CCMAIE(InfoExtractor):
|
|||||||
if sub_url:
|
if sub_url:
|
||||||
subtitles.setdefault(
|
subtitles.setdefault(
|
||||||
subtitols.get('iso') or subtitols.get('text') or 'ca', []).append({
|
subtitols.get('iso') or subtitols.get('text') or 'ca', []).append({
|
||||||
'url': sub_url,
|
'url': sub_url,
|
||||||
})
|
})
|
||||||
|
|
||||||
thumbnails = []
|
thumbnails = []
|
||||||
imatges = media_data.get('imatges', {})
|
imatges = media_data.get('imatges', {})
|
||||||
|
Loading…
Reference in New Issue
Block a user