[nrk] Extract chapters
This commit is contained in:
		@@ -148,13 +148,34 @@ class NRKBaseIE(InfoExtractor):
 | 
			
		||||
 | 
			
		||||
        vcodec = 'none' if data.get('mediaType') == 'Audio' else None
 | 
			
		||||
 | 
			
		||||
        # TODO: extract chapters when https://github.com/rg3/youtube-dl/pull/9409 is merged
 | 
			
		||||
 | 
			
		||||
        for entry in entries:
 | 
			
		||||
            entry.update(common_info)
 | 
			
		||||
            for f in entry['formats']:
 | 
			
		||||
                f['vcodec'] = vcodec
 | 
			
		||||
 | 
			
		||||
        points = data.get('shortIndexPoints')
 | 
			
		||||
        if isinstance(points, list):
 | 
			
		||||
            chapters = []
 | 
			
		||||
            for next_num, point in enumerate(points, start=1):
 | 
			
		||||
                if not isinstance(point, dict):
 | 
			
		||||
                    continue
 | 
			
		||||
                start_time = parse_duration(point.get('startPoint'))
 | 
			
		||||
                if start_time is None:
 | 
			
		||||
                    continue
 | 
			
		||||
                end_time = parse_duration(
 | 
			
		||||
                    data.get('duration')
 | 
			
		||||
                    if next_num == len(points)
 | 
			
		||||
                    else points[next_num].get('startPoint'))
 | 
			
		||||
                if end_time is None:
 | 
			
		||||
                    continue
 | 
			
		||||
                chapters.append({
 | 
			
		||||
                    'start_time': start_time,
 | 
			
		||||
                    'end_time': end_time,
 | 
			
		||||
                    'title': point.get('title'),
 | 
			
		||||
                })
 | 
			
		||||
            if chapters and len(entries) == 1:
 | 
			
		||||
                entries[0]['chapters'] = chapters
 | 
			
		||||
 | 
			
		||||
        return self.playlist_result(entries, video_id, title, description)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user