mirror of
				https://gitlab.com/ytdl-org/youtube-dl.git
				synced 2025-11-04 05:57:35 -05:00 
			
		
		
		
	improved performance by extracting accented chars to top level
This commit is contained in:
		@@ -89,6 +89,11 @@ KNOWN_EXTENSIONS = (
 | 
			
		||||
    'wav',
 | 
			
		||||
    'f4f', 'f4m', 'm3u8', 'smil')
 | 
			
		||||
 | 
			
		||||
# needed for sanitizing filenames in restricted mode
 | 
			
		||||
ACCENT_CHARS = dict(zip('ÂÃÄÀÁÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿ',
 | 
			
		||||
                        itertools.chain('AAAAAA', ['AE'], 'CEEEEIIIIDNOOOOOOUUUUYP', ['ss'],
 | 
			
		||||
                                        'aaaaaa', ['ae'], 'ceeeeiiiionoooooouuuuypy')))
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def preferredencoding():
 | 
			
		||||
    """Get preferred encoding.
 | 
			
		||||
@@ -365,11 +370,8 @@ def sanitize_filename(s, restricted=False, is_id=False):
 | 
			
		||||
    Set is_id if this is not an arbitrary string, but an ID that should be kept if possible
 | 
			
		||||
    """
 | 
			
		||||
    def replace_insane(char):
 | 
			
		||||
        accents = dict(zip('ÂÃÄÀÁÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿ',
 | 
			
		||||
                           itertools.chain('AAAAAA', ['AE'], 'CEEEEIIIIDNOOOOOOUUUUYP', ['ss'],
 | 
			
		||||
                                           'aaaaaa', ['ae'], 'ceeeeiiiionoooooouuuuypy')))
 | 
			
		||||
        if restricted and char in accents:
 | 
			
		||||
            return accents[char]
 | 
			
		||||
        if restricted and char in ACCENT_CHARS:
 | 
			
		||||
            return ACCENT_CHARS[char]
 | 
			
		||||
        if char == '?' or ord(char) < 32 or ord(char) == 127:
 | 
			
		||||
            return ''
 | 
			
		||||
        elif char == '"':
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user