mirror of https://github.com/python/cpython
decode_rfc2231(): RFC 2231 allows leaving out both the charset and
language without including any single quotes.
This commit is contained in:
parent
21fcc4e287
commit
8e1e7f5468
|
@ -280,9 +280,11 @@ def unquote(str):
|
|||
def decode_rfc2231(s):
|
||||
"""Decode string according to RFC 2231"""
|
||||
import urllib
|
||||
charset, language, s = s.split("'", 2)
|
||||
s = urllib.unquote(s)
|
||||
return charset, language, s
|
||||
parts = s.split("'", 2)
|
||||
if len(parts) == 1:
|
||||
return None, None, s
|
||||
charset, language, s = parts
|
||||
return charset, language, urllib.unquote(s)
|
||||
|
||||
|
||||
def encode_rfc2231(s, charset=None, language=None):
|
||||
|
@ -335,6 +337,6 @@ def decode_params(params):
|
|||
for num, continuation in continuations:
|
||||
value.append(continuation)
|
||||
charset, language, value = decode_rfc2231(EMPTYSTRING.join(value))
|
||||
new_params.append((name,
|
||||
(charset, language, '"%s"' % quote(value))))
|
||||
new_params.append(
|
||||
(name, (charset, language, '"%s"' % quote(value))))
|
||||
return new_params
|
||||
|
|
Loading…
Reference in New Issue