mirror of
				https://gitlab.com/ytdl-org/youtube-dl.git
				synced 2025-11-04 03:27:06 -05:00 
			
		
		
		
	This commit is contained in:
		@@ -15,6 +15,7 @@ from ..utils import (
 | 
			
		||||
    strip_jsonp,
 | 
			
		||||
    unescapeHTML,
 | 
			
		||||
    unified_strdate,
 | 
			
		||||
    url_or_none,
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@@ -68,12 +69,6 @@ class ORFTVthekIE(InfoExtractor):
 | 
			
		||||
                webpage, 'playlist', group='json'),
 | 
			
		||||
            playlist_id, transform_source=unescapeHTML)['playlist']['videos']
 | 
			
		||||
 | 
			
		||||
        def quality_to_int(s):
 | 
			
		||||
            m = re.search('([0-9]+)', s)
 | 
			
		||||
            if m is None:
 | 
			
		||||
                return -1
 | 
			
		||||
            return int(m.group(1))
 | 
			
		||||
 | 
			
		||||
        entries = []
 | 
			
		||||
        for sd in data_jsb:
 | 
			
		||||
            video_id, title = sd.get('id'), sd.get('title')
 | 
			
		||||
@@ -82,14 +77,27 @@ class ORFTVthekIE(InfoExtractor):
 | 
			
		||||
            video_id = compat_str(video_id)
 | 
			
		||||
            formats = []
 | 
			
		||||
            for fd in sd['sources']:
 | 
			
		||||
                format_id = '%s-%s-%s' % (
 | 
			
		||||
                    fd['delivery'], fd['quality'], fd['quality_string'])
 | 
			
		||||
                src = url_or_none(fd.get('src'))
 | 
			
		||||
                if not src:
 | 
			
		||||
                    continue
 | 
			
		||||
                format_id_list = []
 | 
			
		||||
                for key in ('delivery', 'quality', 'quality_string'):
 | 
			
		||||
                    value = fd.get(key)
 | 
			
		||||
                    if value:
 | 
			
		||||
                        format_id_list.append(value)
 | 
			
		||||
                format_id = '-'.join(format_id_list)
 | 
			
		||||
                if determine_ext(fd['src']) == 'm3u8':
 | 
			
		||||
                    formats.extend(self._extract_m3u8_formats(
 | 
			
		||||
                        fd['src'], video_id, 'mp4', m3u8_id=format_id))
 | 
			
		||||
                elif determine_ext(fd['src']) == 'f4m':
 | 
			
		||||
                    formats.extend(self._extract_f4m_formats(
 | 
			
		||||
                        fd['src'], video_id, f4m_id=format_id))
 | 
			
		||||
                else:
 | 
			
		||||
                    formats.append({
 | 
			
		||||
                        'format_id': format_id,
 | 
			
		||||
                        'url': src,
 | 
			
		||||
                        'protocol': fd.get('protocol'),
 | 
			
		||||
                    })
 | 
			
		||||
 | 
			
		||||
            # Check for geoblocking.
 | 
			
		||||
            # There is a property is_geoprotection, but that's always false
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user