diff --git a/youtube_dl/extractor/nowtv.py b/youtube_dl/extractor/nowtv.py index 5c91acec61..295168432a 100644 --- a/youtube_dl/extractor/nowtv.py +++ b/youtube_dl/extractor/nowtv.py @@ -120,10 +120,15 @@ def _real_extract(self, url): video_id = compat_str(info['id']) - if info.get('geoblocked'): - raise ExtractorError( - 'Video %s is not available from your location due to geo restriction' % video_id, - expected=True) + files = info['files'] + if not files: + if info.get('geoblocked', False): + raise ExtractorError( + 'Video %s is not available from your location due to geo restriction' % video_id, + expected=True) + if not info.get('free', True): + raise ExtractorError( + 'Video %s is not available for free' % video_id, expected=True) f = info.get('format', {}) station = f.get('station') or station @@ -138,7 +143,7 @@ def _real_extract(self, url): } formats = [] - for item in info['files']['items']: + for item in files['items']: item_path = remove_start(item['path'], '/') tbr = int_or_none(item['bitrate']) m3u8_url = 'http://hls.fra.%s.de/hls-vod-enc/%s.m3u8' % (STATIONS[station], item_path)