rfc822.unquote() doesn't properly de-backslash-ify in Python prior to
2.3. This patch (adapted from Quinn Dunkan's SF patch #573204) fixes the problem and should get ported to rfc822.py.
This commit is contained in:
parent
93ad6a7a3b
commit
184d55a897
|
@ -13,7 +13,7 @@ import warnings
|
|||
from cStringIO import StringIO
|
||||
from types import ListType
|
||||
|
||||
from rfc822 import unquote, quote
|
||||
from rfc822 import quote
|
||||
from rfc822 import AddressList as _AddressList
|
||||
from rfc822 import mktime_tz
|
||||
|
||||
|
@ -260,6 +260,17 @@ def parseaddr(addr):
|
|||
return addrs[0]
|
||||
|
||||
|
||||
# rfc822.unquote() doesn't properly de-backslash-ify in Python pre-2.3.
|
||||
def unquote(str):
|
||||
"""Remove quotes from a string."""
|
||||
if len(str) > 1:
|
||||
if str.startswith('"') and str.endswith('"'):
|
||||
return str[1:-1].replace('\\\\', '\\').replace('\\"', '"')
|
||||
if str.startswith('<') and str.endswith('>'):
|
||||
return str[1:-1]
|
||||
return str
|
||||
|
||||
|
||||
|
||||
# RFC2231-related functions - parameter encoding and decoding
|
||||
def decode_rfc2231(s):
|
||||
|
|
Loading…
Reference in New Issue