diff options
Diffstat (limited to 'youtube_dl/extractor/ninecninemedia.py')
| -rw-r--r-- | youtube_dl/extractor/ninecninemedia.py | 16 | 
1 files changed, 9 insertions, 7 deletions
| diff --git a/youtube_dl/extractor/ninecninemedia.py b/youtube_dl/extractor/ninecninemedia.py index 65754c5e7..a569c889e 100644 --- a/youtube_dl/extractor/ninecninemedia.py +++ b/youtube_dl/extractor/ninecninemedia.py @@ -5,10 +5,11 @@ import re  from .common import InfoExtractor  from ..utils import ( -    parse_iso8601, -    float_or_none,      ExtractorError, +    float_or_none,      int_or_none, +    parse_iso8601, +    try_get,  ) @@ -35,7 +36,7 @@ class NineCNineMediaIE(InfoExtractor):                  '$include': '[HasClosedCaptions]',              }) -        if content_package.get('Constraints', {}).get('Security', {}).get('Type'): +        if try_get(content_package, lambda x: x['Constraints']['Security']['Type']):              raise ExtractorError('This video is DRM protected.', expected=True)          manifest_base_url = content_package_url + 'manifest.' @@ -52,7 +53,7 @@ class NineCNineMediaIE(InfoExtractor):          self._sort_formats(formats)          thumbnails = [] -        for image in content.get('Images', []): +        for image in (content.get('Images') or []):              image_url = image.get('Url')              if not image_url:                  continue @@ -70,7 +71,7 @@ class NineCNineMediaIE(InfoExtractor):                      continue                  container.append(e_name) -        season = content.get('Season', {}) +        season = content.get('Season') or {}          info = {              'id': content_id, @@ -79,13 +80,14 @@ class NineCNineMediaIE(InfoExtractor):              'timestamp': parse_iso8601(content.get('BroadcastDateTime')),              'episode_number': int_or_none(content.get('Episode')),              'season': season.get('Name'), -            'season_number': season.get('Number'), +            'season_number': int_or_none(season.get('Number')),              'season_id': season.get('Id'), -            'series': content.get('Media', {}).get('Name'), +            'series': try_get(content, lambda x: x['Media']['Name']),              'tags': tags,              'categories': categories,              'duration': float_or_none(content_package.get('Duration')),              'formats': formats, +            'thumbnails': thumbnails,          }          if content_package.get('HasClosedCaptions'): | 
