mirror of
				https://gitlab.com/ytdl-org/youtube-dl.git
				synced 2025-11-04 00:07:08 -05:00 
			
		
		
		
	[compat] Add compat_urllib_parse_unquote_plus
This commit is contained in:
		@@ -77,6 +77,7 @@ except ImportError:
 | 
			
		||||
try:
 | 
			
		||||
    from urllib.parse import unquote_to_bytes as compat_urllib_parse_unquote_to_bytes
 | 
			
		||||
    from urllib.parse import unquote as compat_urllib_parse_unquote
 | 
			
		||||
    from urllib.parse import unquote_plus as compat_urllib_parse_unquote_plus
 | 
			
		||||
except ImportError:  # Python 2
 | 
			
		||||
    # HACK: The following are the correct unquote_to_bytes and unquote
 | 
			
		||||
    # implementations from cpython 3.4.3's stdlib. Python 2's version
 | 
			
		||||
@@ -131,6 +132,15 @@ except ImportError:  # Python 2
 | 
			
		||||
            append(bits[i + 1])
 | 
			
		||||
        return ''.join(res)
 | 
			
		||||
 | 
			
		||||
    def compat_urllib_parse_unquote_plus(string, encoding='utf-8', errors='replace'):
 | 
			
		||||
        """Like unquote(), but also replace plus signs by spaces, as required for
 | 
			
		||||
        unquoting HTML form values.
 | 
			
		||||
 | 
			
		||||
        unquote_plus('%7e/abc+def') -> '~/abc def'
 | 
			
		||||
        """
 | 
			
		||||
        string = string.replace('+', ' ')
 | 
			
		||||
        return compat_urllib_parse_unquote(string, encoding, errors)
 | 
			
		||||
 | 
			
		||||
try:
 | 
			
		||||
    compat_str = unicode  # Python 2
 | 
			
		||||
except NameError:
 | 
			
		||||
@@ -441,6 +451,7 @@ __all__ = [
 | 
			
		||||
    'compat_urllib_error',
 | 
			
		||||
    'compat_urllib_parse',
 | 
			
		||||
    'compat_urllib_parse_unquote',
 | 
			
		||||
    'compat_urllib_parse_unquote_plus',
 | 
			
		||||
    'compat_urllib_parse_unquote_to_bytes',
 | 
			
		||||
    'compat_urllib_parse_urlparse',
 | 
			
		||||
    'compat_urllib_request',
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user