From 5397e862e2bae29b278cf8756761764e06441db4 Mon Sep 17 00:00:00 2001 From: "R. David Murray" Date: Sat, 2 Oct 2010 15:58:26 +0000 Subject: #1050268: make parseaddr 'quote' the contents of quoted strings in addresses. Also made the doc string for email._parseaddr's 'quote' function more accurate; I'd love to make the function match the old docstring instead, but other code uses it according the existing semantics. --- Lib/email/_parseaddr.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'Lib/email/_parseaddr.py') diff --git a/Lib/email/_parseaddr.py b/Lib/email/_parseaddr.py index ac2e524401..3bd4ba4403 100644 --- a/Lib/email/_parseaddr.py +++ b/Lib/email/_parseaddr.py @@ -160,7 +160,12 @@ def mktime_tz(data): def quote(str): - """Add quotes around a string.""" + """Prepare string to be used in a quoted string. + + Turns backslash and double quote characters into quoted pairs. These + are the only characters that need to be quoted inside a quoted string. + Does not add the surrounding double quotes. + """ return str.replace('\\', '\\\\').replace('"', '\\"') @@ -318,7 +323,7 @@ class AddrlistClass: aslist.append('.') self.pos += 1 elif self.field[self.pos] == '"': - aslist.append('"%s"' % self.getquote()) + aslist.append('"%s"' % quote(self.getquote())) elif self.field[self.pos] in self.atomends: break else: -- cgit v1.2.1