diff options
| author | Sergey M․ <dstftw@gmail.com> | 2017-06-30 22:19:06 +0700 | 
|---|---|---|
| committer | Sergey M․ <dstftw@gmail.com> | 2017-06-30 22:19:06 +0700 | 
| commit | c69701c6ab94ca2fce4fedf6390515acb55e9086 (patch) | |
| tree | 6584f6284a369f2efe4d845c2ec113e1c7389646 | |
| parent | d4f8ce6e91aff0ba0a6a4464d5525ba66720ae86 (diff) | |
[extractor/common] Improve _json_ld
| -rw-r--r-- | youtube_dl/extractor/common.py | 14 | 
1 files changed, 7 insertions, 7 deletions
| diff --git a/youtube_dl/extractor/common.py b/youtube_dl/extractor/common.py index 9751ab021..afeb4c5da 100644 --- a/youtube_dl/extractor/common.py +++ b/youtube_dl/extractor/common.py @@ -1002,17 +1002,17 @@ class InfoExtractor(object):                  item_type = e.get('@type')                  if expected_type is not None and expected_type != item_type:                      return info -                if item_type == 'TVEpisode': +                if item_type in ('TVEpisode', 'Episode'):                      info.update({                          'episode': unescapeHTML(e.get('name')),                          'episode_number': int_or_none(e.get('episodeNumber')),                          'description': unescapeHTML(e.get('description')),                      })                      part_of_season = e.get('partOfSeason') -                    if isinstance(part_of_season, dict) and part_of_season.get('@type') == 'TVSeason': +                    if isinstance(part_of_season, dict) and part_of_season.get('@type') in ('TVSeason', 'Season', 'CreativeWorkSeason'):                          info['season_number'] = int_or_none(part_of_season.get('seasonNumber'))                      part_of_series = e.get('partOfSeries') or e.get('partOfTVSeries') -                    if isinstance(part_of_series, dict) and part_of_series.get('@type') == 'TVSeries': +                    if isinstance(part_of_series, dict) and part_of_series.get('@type') in ('TVSeries', 'Series', 'CreativeWorkSeries'):                          info['series'] = unescapeHTML(part_of_series.get('name'))                  elif item_type == 'Article':                      info.update({ @@ -1022,10 +1022,10 @@ class InfoExtractor(object):                      })                  elif item_type == 'VideoObject':                      extract_video_object(e) -                elif item_type == 'WebPage': -                    video = e.get('video') -                    if isinstance(video, dict) and video.get('@type') == 'VideoObject': -                        extract_video_object(video) +                    continue +                video = e.get('video') +                if isinstance(video, dict) and video.get('@type') == 'VideoObject': +                    extract_video_object(video)                  break          return dict((k, v) for k, v in info.items() if v is not None) | 
