mirror of
				https://github.com/yt-dlp/yt-dlp.git
				synced 2025-10-31 06:35:12 +00:00 
			
		
		
		
	[youtube] Improve chapters extraction (closes #13247)
This commit is contained in:
		| @@ -254,6 +254,13 @@ class TestYoutubeChapters(unittest.TestCase): | ||||
|                 'title': '3 - Из серпов луны...[Iz serpov luny]', | ||||
|             }] | ||||
|         ), | ||||
|         ( | ||||
|             # https://www.youtube.com/watch?v=xZW70zEasOk | ||||
|             # time point more than duration | ||||
|             '''● LCS Spring finals: Saturday and Sunday from <a href="#" onclick="yt.www.watch.player.seekTo(13*60+30);return false;">13:30</a> outside the venue! <br />● PAX East: Fri, Sat & Sun - more info in tomorrows video on the main channel!''', | ||||
|             283, | ||||
|             [] | ||||
|         ), | ||||
|     ] | ||||
|  | ||||
|     def test_youtube_chapters(self): | ||||
|   | ||||
| @@ -1353,10 +1353,16 @@ class YoutubeIE(YoutubeBaseInfoExtractor): | ||||
|             start_time = parse_duration(time_point) | ||||
|             if start_time is None: | ||||
|                 continue | ||||
|             if start_time > duration: | ||||
|                 break | ||||
|             end_time = (duration if next_num == len(chapter_lines) | ||||
|                         else parse_duration(chapter_lines[next_num][1])) | ||||
|             if end_time is None: | ||||
|                 continue | ||||
|             if end_time > duration: | ||||
|                 end_time = duration | ||||
|             if start_time > end_time: | ||||
|                 break | ||||
|             chapter_title = re.sub( | ||||
|                 r'<a[^>]+>[^<]+</a>', '', chapter_line).strip(' \t-') | ||||
|             chapter_title = re.sub(r'\s+', ' ', chapter_title) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Sergey M․
					Sergey M․