mirror of
				https://gitlab.com/ytdl-org/youtube-dl.git
				synced 2025-11-03 19:17:06 -05:00 
			
		
		
		
	Fix TypeError in decode() method and unordered playlist URLs
This commit is contained in:
		
							
								
								
									
										12
									
								
								youtube-dl
									
									
									
									
									
								
							
							
						
						
									
										12
									
								
								youtube-dl
									
									
									
									
									
								
							@@ -753,10 +753,11 @@ class YoutubePlaylistIE(InfoExtractor):
 | 
			
		||||
				return [None]
 | 
			
		||||
 | 
			
		||||
			# Extract video identifiers
 | 
			
		||||
			ids_in_page = set()
 | 
			
		||||
			ids_in_page = []
 | 
			
		||||
			for mobj in re.finditer(self._VIDEO_INDICATOR, page):
 | 
			
		||||
				ids_in_page.add(mobj.group(1))
 | 
			
		||||
			video_ids.extend(list(ids_in_page))
 | 
			
		||||
				if mobj.group(1) not in ids_in_page:
 | 
			
		||||
					ids_in_page.append(mobj.group(1))
 | 
			
		||||
			video_ids.extend(ids_in_page)
 | 
			
		||||
 | 
			
		||||
			if (self._MORE_PAGES_INDICATOR % (playlist_id, pagenum + 1)) not in page:
 | 
			
		||||
				break
 | 
			
		||||
@@ -901,6 +902,9 @@ if __name__ == '__main__':
 | 
			
		||||
		youtube_pl_ie = YoutubePlaylistIE(youtube_ie)
 | 
			
		||||
 | 
			
		||||
		# File downloader
 | 
			
		||||
		charset = locale.getdefaultlocale()[1]
 | 
			
		||||
		if charset is None:
 | 
			
		||||
			charset = 'ascii'
 | 
			
		||||
		fd = FileDownloader({
 | 
			
		||||
			'usenetrc': opts.usenetrc,
 | 
			
		||||
			'username': opts.username,
 | 
			
		||||
@@ -910,7 +914,7 @@ if __name__ == '__main__':
 | 
			
		||||
			'forcetitle': opts.gettitle,
 | 
			
		||||
			'simulate': (opts.simulate or opts.geturl or opts.gettitle),
 | 
			
		||||
			'format': opts.format,
 | 
			
		||||
			'outtmpl': ((opts.outtmpl is not None and opts.outtmpl.decode(locale.getdefaultlocale()[1]))
 | 
			
		||||
			'outtmpl': ((opts.outtmpl is not None and opts.outtmpl.decode(charset))
 | 
			
		||||
				or (opts.usetitle and u'%(stitle)s-%(id)s.%(ext)s')
 | 
			
		||||
				or (opts.useliteral and u'%(title)s-%(id)s.%(ext)s')
 | 
			
		||||
				or u'%(id)s.%(ext)s'),
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user