mirror of
				https://github.com/yt-dlp/yt-dlp.git
				synced 2025-10-31 06:35:12 +00:00 
			
		
		
		
	Fix --match-title and --reject-title decoding (Closes #690)
This commit is contained in:
		| @@ -370,12 +370,10 @@ class FileDownloader(object): | ||||
|         title = info_dict['title'] | ||||
|         matchtitle = self.params.get('matchtitle', False) | ||||
|         if matchtitle: | ||||
|             matchtitle = matchtitle.decode('utf8') | ||||
|             if not re.search(matchtitle, title, re.IGNORECASE): | ||||
|                 return u'[download] "' + title + '" title did not match pattern "' + matchtitle + '"' | ||||
|         rejecttitle = self.params.get('rejecttitle', False) | ||||
|         if rejecttitle: | ||||
|             rejecttitle = rejecttitle.decode('utf8') | ||||
|             if re.search(rejecttitle, title, re.IGNORECASE): | ||||
|                 return u'"' + title + '" title matched reject pattern "' + rejecttitle + '"' | ||||
|         return None | ||||
|   | ||||
| @@ -412,6 +412,7 @@ def _real_main(): | ||||
|             or (opts.useid and u'%(id)s.%(ext)s') | ||||
|             or (opts.autonumber and u'%(autonumber)s-%(id)s.%(ext)s') | ||||
|             or u'%(id)s.%(ext)s') | ||||
|  | ||||
|     # File downloader | ||||
|     fd = FileDownloader({ | ||||
|         'usenetrc': opts.usenetrc, | ||||
| @@ -450,8 +451,8 @@ def _real_main(): | ||||
|         'writeinfojson': opts.writeinfojson, | ||||
|         'writesubtitles': opts.writesubtitles, | ||||
|         'subtitleslang': opts.subtitleslang, | ||||
|         'matchtitle': opts.matchtitle, | ||||
|         'rejecttitle': opts.rejecttitle, | ||||
|         'matchtitle': decodeOption(opts.matchtitle), | ||||
|         'rejecttitle': decodeOption(opts.rejecttitle), | ||||
|         'max_downloads': opts.max_downloads, | ||||
|         'prefer_free_formats': opts.prefer_free_formats, | ||||
|         'verbose': opts.verbose, | ||||
|   | ||||
| @@ -420,6 +420,14 @@ def encodeFilename(s): | ||||
|             encoding = 'utf-8' | ||||
|         return s.encode(encoding, 'ignore') | ||||
|  | ||||
| def decodeOption(optval): | ||||
|     if optval is None: | ||||
|         return optval | ||||
|     if isinstance(optval, bytes): | ||||
|         optval = optval.decode(preferredencoding()) | ||||
|  | ||||
|     assert isinstance(optval, compat_str) | ||||
|     return optval | ||||
|  | ||||
| class ExtractorError(Exception): | ||||
|     """Error during info extraction.""" | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Philipp Hagemeister
					Philipp Hagemeister