2
0
Эх сурвалжийг харах

[ard] Skip invalid stream URLs (closes #14906)

Sergey M․ 7 жил өмнө
parent
commit
91328f26b0

+ 4 - 3
youtube_dl/extractor/ard.py

@@ -5,6 +5,7 @@ import re
 
 
 from .common import InfoExtractor
 from .common import InfoExtractor
 from .generic import GenericIE
 from .generic import GenericIE
+from ..compat import compat_str
 from ..utils import (
 from ..utils import (
     determine_ext,
     determine_ext,
     ExtractorError,
     ExtractorError,
@@ -126,6 +127,8 @@ class ARDMediathekIE(InfoExtractor):
                 quality = stream.get('_quality')
                 quality = stream.get('_quality')
                 server = stream.get('_server')
                 server = stream.get('_server')
                 for stream_url in stream_urls:
                 for stream_url in stream_urls:
+                    if not isinstance(stream_url, compat_str) or '//' not in stream_url:
+                        continue
                     ext = determine_ext(stream_url)
                     ext = determine_ext(stream_url)
                     if quality != 'auto' and ext in ('f4m', 'm3u8'):
                     if quality != 'auto' and ext in ('f4m', 'm3u8'):
                         continue
                         continue
@@ -146,13 +149,11 @@ class ARDMediathekIE(InfoExtractor):
                                 'play_path': stream_url,
                                 'play_path': stream_url,
                                 'format_id': 'a%s-rtmp-%s' % (num, quality),
                                 'format_id': 'a%s-rtmp-%s' % (num, quality),
                             }
                             }
-                        elif stream_url.startswith('http'):
+                        else:
                             f = {
                             f = {
                                 'url': stream_url,
                                 'url': stream_url,
                                 'format_id': 'a%s-%s-%s' % (num, ext, quality)
                                 'format_id': 'a%s-%s-%s' % (num, ext, quality)
                             }
                             }
-                        else:
-                            continue
                         m = re.search(r'_(?P<width>\d+)x(?P<height>\d+)\.mp4$', stream_url)
                         m = re.search(r'_(?P<width>\d+)x(?P<height>\d+)\.mp4$', stream_url)
                         if m:
                         if m:
                             f.update({
                             f.update({