mirror of
				https://github.com/ytdl-org/youtube-dl.git
				synced 2025-11-01 09:26:45 -07:00 
			
		
		
		
	Improve URL extraction
This commit is contained in:
		@@ -15,6 +15,7 @@ from ..utils import (
 | 
			
		||||
    try_get,
 | 
			
		||||
    unified_timestamp,
 | 
			
		||||
    update_url_query,
 | 
			
		||||
    url_or_none,
 | 
			
		||||
    urljoin,
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
@@ -67,8 +68,8 @@ class ZDFIE(ZDFBaseIE):
 | 
			
		||||
    def _extract_subtitles(src):
 | 
			
		||||
        subtitles = {}
 | 
			
		||||
        for caption in try_get(src, lambda x: x['captions'], list) or []:
 | 
			
		||||
            subtitle_url = caption.get('uri')
 | 
			
		||||
            if subtitle_url and isinstance(subtitle_url, compat_str):
 | 
			
		||||
            subtitle_url = url_or_none(caption.get('uri'))
 | 
			
		||||
            if subtitle_url:
 | 
			
		||||
                lang = caption.get('language', 'deu')
 | 
			
		||||
                subtitles.setdefault(lang, []).append({
 | 
			
		||||
                    'url': subtitle_url,
 | 
			
		||||
@@ -76,8 +77,8 @@ class ZDFIE(ZDFBaseIE):
 | 
			
		||||
        return subtitles
 | 
			
		||||
 | 
			
		||||
    def _extract_format(self, video_id, formats, format_urls, meta):
 | 
			
		||||
        format_url = meta.get('url')
 | 
			
		||||
        if not format_url or not isinstance(format_url, compat_str):
 | 
			
		||||
        format_url = url_or_none(meta.get('url'))
 | 
			
		||||
        if not format_url:
 | 
			
		||||
            return
 | 
			
		||||
        if format_url in format_urls:
 | 
			
		||||
            return
 | 
			
		||||
@@ -152,7 +153,8 @@ class ZDFIE(ZDFBaseIE):
 | 
			
		||||
            content, lambda x: x['teaserImageRef']['layouts'], dict)
 | 
			
		||||
        if layouts:
 | 
			
		||||
            for layout_key, layout_url in layouts.items():
 | 
			
		||||
                if not isinstance(layout_url, compat_str):
 | 
			
		||||
                layout_url = url_or_none(layout_url)
 | 
			
		||||
                if not layout_url:
 | 
			
		||||
                    continue
 | 
			
		||||
                thumbnail = {
 | 
			
		||||
                    'url': layout_url,
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user