aboutsummaryrefslogtreecommitdiffstats
path: root/youtube_dl/extractor/fox.py
diff options
context:
space:
mode:
authorRogério Brito <rbrito@ime.usp.br>2018-01-04 03:48:53 -0200
committerRogério Brito <rbrito@ime.usp.br>2018-01-04 03:48:53 -0200
commit9113dfef91df19343cf76c6274dd0a85258c1004 (patch)
tree357bea65ff97d11085714837737d0428fbf40a54 /youtube_dl/extractor/fox.py
parent80893415fd8cecb59cb8ffbea17a183d4202f02e (diff)
parentb4a0c9f9de9d715538a1718922d6ab01a40f7ce3 (diff)
downloadyoutube-dl-9113dfef91df19343cf76c6274dd0a85258c1004.zip
youtube-dl-9113dfef91df19343cf76c6274dd0a85258c1004.tar.gz
youtube-dl-9113dfef91df19343cf76c6274dd0a85258c1004.tar.bz2
Update upstream source from tag 'upstream/2017.12.31'
Update to upstream version '2017.12.31' with Debian dir 1882f6f128562a71691f1092c6b611d46798c5c4
Diffstat (limited to 'youtube_dl/extractor/fox.py')
-rw-r--r--youtube_dl/extractor/fox.py25
1 files changed, 22 insertions, 3 deletions
diff --git a/youtube_dl/extractor/fox.py b/youtube_dl/extractor/fox.py
index 5f98d01..11d6c9c 100644
--- a/youtube_dl/extractor/fox.py
+++ b/youtube_dl/extractor/fox.py
@@ -11,6 +11,7 @@ from ..utils import (
parse_duration,
try_get,
unified_timestamp,
+ update_url_query,
)
@@ -62,7 +63,8 @@ class FOXIE(AdobePassIE):
duration = int_or_none(video.get('durationInSeconds')) or int_or_none(
video.get('duration')) or parse_duration(video.get('duration'))
timestamp = unified_timestamp(video.get('datePublished'))
- age_limit = parse_age_limit(video.get('contentRating'))
+ rating = video.get('contentRating')
+ age_limit = parse_age_limit(rating)
data = try_get(
video, lambda x: x['trackingData']['properties'], dict) or {}
@@ -77,8 +79,24 @@ class FOXIE(AdobePassIE):
release_year = int_or_none(video.get('releaseYear'))
if data.get('authRequired'):
- # TODO: AP
- pass
+ resource = self._get_mvpd_resource(
+ 'fbc-fox', title, video.get('guid'), rating)
+ release_url = update_url_query(
+ release_url, {
+ 'auth': self._extract_mvpd_auth(
+ url, video_id, 'fbc-fox', resource)
+ })
+
+ subtitles = {}
+ for doc_rel in video.get('documentReleases', []):
+ rel_url = doc_rel.get('url')
+ if not url or doc_rel.get('format') != 'SCC':
+ continue
+ subtitles['en'] = [{
+ 'url': rel_url,
+ 'ext': 'scc',
+ }]
+ break
info = {
'id': video_id,
@@ -93,6 +111,7 @@ class FOXIE(AdobePassIE):
'episode': episode,
'episode_number': episode_number,
'release_year': release_year,
+ 'subtitles': subtitles,
}
urlh = self._request_webpage(HEADRequest(release_url), video_id)