[ultimedia] keep direct support for ultimedia videos
[youtube-dl] / youtube_dl / extractor / viewster.py
index f8f4143c63edf8aa9dc1bd00ea6aef9c56b4607c..632e57fb4277dbf23c3fa21683f27c70d278f996 100644 (file)
@@ -63,6 +63,14 @@ class ViewsterIE(InfoExtractor):
             'description': 'md5:e7097a8fc97151e25f085c9eb7a1cdb1',
         },
         'playlist_mincount': 16,
+    }, {
+        # geo restricted series
+        'url': 'https://www.viewster.com/serie/1280-18794-002/',
+        'only_matching': True,
+    }, {
+        # geo restricted video
+        'url': 'https://www.viewster.com/serie/1280-18794-002/what-is-extraterritoriality-lawo/',
+        'only_matching': True,
     }]
 
     _ACCEPT_HEADER = 'application/json, text/javascript, */*; q=0.01'
@@ -87,7 +95,7 @@ class ViewsterIE(InfoExtractor):
         entry_id = info.get('Id') or info['id']
 
         # unfinished serie has no Type
-        if info.get('Type') in ['Serie', None]:
+        if info.get('Type') in ('Serie', None):
             try:
                 episodes = self._download_json(
                     'https://public-api.viewster.com/series/%s/episodes' % entry_id,
@@ -140,6 +148,10 @@ class ViewsterIE(InfoExtractor):
                     f['height'] = int_or_none(self._search_regex(
                         r'^(\d+)[pP]$', format_id, 'height', default=None))
                 formats.append(f)
+
+        if not formats and not info.get('LanguageSets') and not info.get('VODSettings'):
+            self.raise_geo_restricted()
+
         self._sort_formats(formats)
 
         synopsis = info.get('Synopsis', {})