[generic] Allow relative src for videojs embeds (closes #17324)
authorSergey M․ <dstftw@gmail.com>
Fri, 24 Aug 2018 16:12:53 +0000 (23:12 +0700)
committerSergey M․ <dstftw@gmail.com>
Fri, 24 Aug 2018 16:12:53 +0000 (23:12 +0700)
youtube_dl/extractor/generic.py

index 83a31f3d3d67cc52cf1c1dbb0457e973c8b68e28..09634851399695f3f1be3cd4508b12ee93ff814b 100644 (file)
@@ -2071,6 +2071,21 @@ class GenericIE(InfoExtractor):
             },
             'playlist_count': 6,
         },
+        {
+            # videojs embed
+            'url': 'https://video.sibnet.ru/shell.php?videoid=3422904',
+            'info_dict': {
+                'id': 'shell',
+                'ext': 'mp4',
+                'title': 'Доставщик пиццы спросил разрешения сыграть на фортепиано',
+                'description': 'md5:89209cdc587dab1e4a090453dbaa2cb1',
+                'thumbnail': r're:^https?://.*\.jpg$',
+            },
+            'params': {
+                'skip_download': True,
+            },
+            'expected_warnings': ['Failed to download MPD manifest'],
+        },
         # {
         #     # TODO: find another test
         #     # http://schema.org/VideoObject
@@ -3152,8 +3167,8 @@ class GenericIE(InfoExtractor):
                 sources = [sources]
             formats = []
             for source in sources:
-                src = url_or_none(source.get('src'))
-                if not src:
+                src = source.get('src')
+                if not src or not isinstance(src, compat_str):
                     continue
                 src = compat_urlparse.urljoin(url, src)
                 src_type = source.get('type')