mirror of
https://github.com/yt-dlp/yt-dlp.git
synced 2024-09-10 00:58:17 +02:00
[huffpost] Fix extraction
This commit is contained in:
parent
66d40ae3a5
commit
f0ec61b525
@ -4,6 +4,7 @@
|
||||
|
||||
from .common import InfoExtractor
|
||||
from ..utils import (
|
||||
determine_ext,
|
||||
parse_duration,
|
||||
unified_strdate,
|
||||
)
|
||||
@ -29,7 +30,12 @@ class HuffPostIE(InfoExtractor):
|
||||
'description': 'This week on Legalese It, Mike talks to David Bosco about his new book on the ICC, "Rough Justice," he also discusses the Virginia AG\'s historic stance on gay marriage, the execution of Edgar Tamayo, the ICC\'s delay of Kenya\'s President and more. ',
|
||||
'duration': 1549,
|
||||
'upload_date': '20140124',
|
||||
}
|
||||
},
|
||||
'params': {
|
||||
# m3u8 download
|
||||
'skip_download': True,
|
||||
},
|
||||
'expected_warnings': ['HTTP Error 404: Not Found'],
|
||||
}
|
||||
|
||||
def _real_extract(self, url):
|
||||
@ -45,7 +51,7 @@ def _real_extract(self, url):
|
||||
description = data.get('description')
|
||||
|
||||
thumbnails = []
|
||||
for url in data['images'].values():
|
||||
for url in filter(None, data['images'].values()):
|
||||
m = re.match('.*-([0-9]+x[0-9]+)\.', url)
|
||||
if not m:
|
||||
continue
|
||||
@ -54,13 +60,25 @@ def _real_extract(self, url):
|
||||
'resolution': m.group(1),
|
||||
})
|
||||
|
||||
formats = [{
|
||||
formats = []
|
||||
sources = data.get('sources', {})
|
||||
live_sources = list(sources.get('live', {}).items()) + list(sources.get('live_again', {}).items())
|
||||
for key, url in live_sources:
|
||||
ext = determine_ext(url)
|
||||
if ext == 'm3u8':
|
||||
formats.extend(self._extract_m3u8_formats(
|
||||
url, video_id, ext='mp4', m3u8_id='hls', fatal=False))
|
||||
elif ext == 'f4m':
|
||||
formats.extend(self._extract_f4m_formatsa(
|
||||
url + '?hdcore=2.9.5', video_id, f4m_id='hds', fatal=False))
|
||||
else:
|
||||
formats.append({
|
||||
'format': key,
|
||||
'format_id': key.replace('/', '.'),
|
||||
'ext': 'mp4',
|
||||
'url': url,
|
||||
'vcodec': 'none' if key.startswith('audio/') else None,
|
||||
} for key, url in data.get('sources', {}).get('live', {}).items()]
|
||||
})
|
||||
|
||||
if not formats and data.get('fivemin_id'):
|
||||
return self.url_result('5min:%s' % data['fivemin_id'])
|
||||
|
Loading…
Reference in New Issue
Block a user