mirror of
https://github.com/l1ving/youtube-dl
synced 2025-02-03 12:02:54 +08:00
Fix Fox extractor when provider logins are required
This commit is contained in:
parent
ac6feaa4fa
commit
be62d0777a
@ -11,6 +11,7 @@ from ..utils import (
|
|||||||
parse_duration,
|
parse_duration,
|
||||||
try_get,
|
try_get,
|
||||||
unified_timestamp,
|
unified_timestamp,
|
||||||
|
update_url_query,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
@ -76,9 +77,13 @@ class FOXIE(AdobePassIE):
|
|||||||
episode_number = int_or_none(video.get('episodeNumber'))
|
episode_number = int_or_none(video.get('episodeNumber'))
|
||||||
release_year = int_or_none(video.get('releaseYear'))
|
release_year = int_or_none(video.get('releaseYear'))
|
||||||
|
|
||||||
|
query = {}
|
||||||
if data.get('authRequired'):
|
if data.get('authRequired'):
|
||||||
# TODO: AP
|
rating = video.get('contentRating')
|
||||||
pass
|
if rating == 'n/a':
|
||||||
|
rating = None
|
||||||
|
resource = self._get_mvpd_resource('fbc-fox', None, video['guid'], rating)
|
||||||
|
query['auth'] = self._extract_mvpd_auth(url, video_id, 'fbc-fox', resource)
|
||||||
|
|
||||||
info = {
|
info = {
|
||||||
'id': video_id,
|
'id': video_id,
|
||||||
@ -95,17 +100,18 @@ class FOXIE(AdobePassIE):
|
|||||||
'release_year': release_year,
|
'release_year': release_year,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if not data.get('authRequired'):
|
||||||
urlh = self._request_webpage(HEADRequest(release_url), video_id)
|
urlh = self._request_webpage(HEADRequest(release_url), video_id)
|
||||||
video_url = compat_str(urlh.geturl())
|
video_url = compat_str(urlh.geturl())
|
||||||
|
|
||||||
if UplynkPreplayIE.suitable(video_url):
|
if not data.get('authRequired') and UplynkPreplayIE.suitable(video_url):
|
||||||
info.update({
|
info.update({
|
||||||
'_type': 'url_transparent',
|
'_type': 'url_transparent',
|
||||||
'url': video_url,
|
'url': video_url,
|
||||||
'ie_key': UplynkPreplayIE.ie_key(),
|
'ie_key': UplynkPreplayIE.ie_key(),
|
||||||
})
|
})
|
||||||
else:
|
else:
|
||||||
m3u8_url = self._download_json(release_url, video_id)['playURL']
|
m3u8_url = self._download_json(update_url_query(video['videoRelease']['url'], query), video_id)['playURL']
|
||||||
formats = self._extract_m3u8_formats(
|
formats = self._extract_m3u8_formats(
|
||||||
m3u8_url, video_id, 'mp4',
|
m3u8_url, video_id, 'mp4',
|
||||||
entry_protocol='m3u8_native', m3u8_id='hls')
|
entry_protocol='m3u8_native', m3u8_id='hls')
|
||||||
|
Loading…
Reference in New Issue
Block a user