1
0
mirror of https://github.com/l1ving/youtube-dl synced 2025-02-03 06:12:57 +08:00

Fix Fox extractor when provider logins are required

This commit is contained in:
Cary Jones 2017-10-13 18:57:12 -07:00
parent ac6feaa4fa
commit be62d0777a

View File

@ -11,6 +11,7 @@ from ..utils import (
parse_duration,
try_get,
unified_timestamp,
update_url_query,
)
@ -76,9 +77,13 @@ class FOXIE(AdobePassIE):
episode_number = int_or_none(video.get('episodeNumber'))
release_year = int_or_none(video.get('releaseYear'))
query = {}
if data.get('authRequired'):
# TODO: AP
pass
rating = video.get('contentRating')
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 = {
'id': video_id,
@ -95,17 +100,18 @@ class FOXIE(AdobePassIE):
'release_year': release_year,
}
urlh = self._request_webpage(HEADRequest(release_url), video_id)
video_url = compat_str(urlh.geturl())
if not data.get('authRequired'):
urlh = self._request_webpage(HEADRequest(release_url), video_id)
video_url = compat_str(urlh.geturl())
if UplynkPreplayIE.suitable(video_url):
if not data.get('authRequired') and UplynkPreplayIE.suitable(video_url):
info.update({
'_type': 'url_transparent',
'url': video_url,
'ie_key': UplynkPreplayIE.ie_key(),
})
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(
m3u8_url, video_id, 'mp4',
entry_protocol='m3u8_native', m3u8_id='hls')