projects
/
youtube-dl
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
07acdc5
)
[nbc] improve info extraction(fixes #16440)
author
Remita Amine
<remitamine@gmail.com>
Sun, 13 May 2018 10:30:21 +0000
(11:30 +0100)
committer
Remita Amine
<remitamine@gmail.com>
Sun, 13 May 2018 10:31:41 +0000
(11:31 +0100)
youtube_dl/extractor/nbc.py
patch
|
blob
|
history
diff --git
a/youtube_dl/extractor/nbc.py
b/youtube_dl/extractor/nbc.py
index 9dc8f9ebcbe7bd0fbde8374fb91d7727e7ebb648..1b1722cfa9c1a7c4ccbafd4caefeade86114407c 100644
(file)
--- a/
youtube_dl/extractor/nbc.py
+++ b/
youtube_dl/extractor/nbc.py
@@
-9,6
+9,7
@@
from .adobepass import AdobePassIE
from ..utils import (
find_xpath_attr,
smuggle_url,
from ..utils import (
find_xpath_attr,
smuggle_url,
+ try_get,
unescapeHTML,
update_url_query,
int_or_none,
unescapeHTML,
update_url_query,
int_or_none,
@@
-78,10
+79,14
@@
class NBCIE(AdobePassIE):
def _real_extract(self, url):
permalink, video_id = re.match(self._VALID_URL, url).groups()
permalink = 'http' + permalink
def _real_extract(self, url):
permalink, video_id = re.match(self._VALID_URL, url).groups()
permalink = 'http' + permalink
-
video_data
= self._download_json(
+
response
= self._download_json(
'https://api.nbc.com/v3/videos', video_id, query={
'filter[permalink]': permalink,
'https://api.nbc.com/v3/videos', video_id, query={
'filter[permalink]': permalink,
- })['data'][0]['attributes']
+ 'fields[videos]': 'description,entitlement,episodeNumber,guid,keywords,seasonNumber,title,vChipRating',
+ 'fields[shows]': 'shortTitle',
+ 'include': 'show.shortTitle',
+ })
+ video_data = response['data'][0]['attributes']
query = {
'mbr': 'true',
'manifest': 'm3u',
query = {
'mbr': 'true',
'manifest': 'm3u',
@@
-103,10
+108,11
@@
class NBCIE(AdobePassIE):
'title': title,
'url': theplatform_url,
'description': video_data.get('description'),
'title': title,
'url': theplatform_url,
'description': video_data.get('description'),
- '
keyword
s': video_data.get('keywords'),
+ '
tag
s': video_data.get('keywords'),
'season_number': int_or_none(video_data.get('seasonNumber')),
'episode_number': int_or_none(video_data.get('episodeNumber')),
'season_number': int_or_none(video_data.get('seasonNumber')),
'episode_number': int_or_none(video_data.get('episodeNumber')),
- 'series': video_data.get('showName'),
+ 'episode': title,
+ 'series': try_get(response, lambda x: x['included'][0]['attributes']['shortTitle']),
'ie_key': 'ThePlatform',
}
'ie_key': 'ThePlatform',
}