Skip to content

Commit 55d36e2

Browse files
committed
Changed the '%s <%s>'%(name,email) idiom in several places to use email.utils.formataddr() instead, to avoid future problems with names that would need quotes. Added comments in 2 places where this change would not be appropriate.
- Legacy-Id: 13536
1 parent 8b72b6a commit 55d36e2

4 files changed

Lines changed: 14 additions & 5 deletions

File tree

ietf/group/models.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -278,7 +278,12 @@ def __unicode__(self):
278278
return u"%s is %s in %s" % (self.person.plain_name(), self.name.name, self.group.acronym or self.group.name)
279279

280280
def name_and_email(self):
281-
"Returns name and email, e.g.: u'Ano Nymous <ano@nymous.org>' "
281+
"""
282+
Returns name and email, e.g.: u'Ano Nymous <ano@nymous.org>'
283+
Is intended for display use, not in email context.
284+
Use self.formatted_email() for that.
285+
"""
286+
unreachable()
282287
if self.person:
283288
return u"%s <%s>" % (self.person.plain_name(), self.email.address)
284289
else:

ietf/mailtrigger/models.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -181,7 +181,7 @@ def gather_submission_authors(self, **kwargs):
181181
addrs = []
182182
if 'submission' in kwargs:
183183
submission = kwargs['submission']
184-
addrs.extend(["%s <%s>" % (author["name"], author["email"]) for author in submission.authors if author.get("email")])
184+
addrs.extend([ email.utils.formataddr((author["name"], author["email"])) for author in submission.authors if author.get("email")])
185185
return addrs
186186

187187
def gather_submission_group_chairs(self, **kwargs):

ietf/person/models.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -243,7 +243,11 @@ def formatted_ascii_email(self):
243243
return self.address
244244

245245
def name_and_email(self):
246-
"Returns name and email, e.g.: u'Ano Nymous <ano@nymous.org>' "
246+
"""
247+
Returns name and email, e.g.: u'Ano Nymous <ano@nymous.org>'
248+
Is intended for display use, not in email context.
249+
Use self.formatted_email() for that.
250+
"""
247251
if self.person:
248252
return u"%s <%s>" % (self.person.plain_name(), self.address)
249253
else:

ietf/submit/tests.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -153,7 +153,7 @@ def supply_extra_metadata(self, name, status_url, submitter_name, submitter_emai
153153

154154
if r.status_code == 302:
155155
submission = Submission.objects.get(name=name)
156-
self.assertEqual(submission.submitter, u"%s <%s>" % (submitter_name, submitter_email))
156+
self.assertEqual(submission.submitter, email.utils.formataddr((submitter_name, submitter_email)))
157157
self.assertEqual(submission.replaces, ",".join(d.name for d in DocAlias.objects.filter(pk__in=replaces.split(",") if replaces else [])))
158158

159159
return r
@@ -1464,6 +1464,6 @@ def supply_extra_metadata(self, name, status_url, submitter_name, submitter_emai
14641464

14651465
if r.status_code == 302:
14661466
submission = Submission.objects.get(name=name)
1467-
self.assertEqual(submission.submitter, u"%s <%s>" % (submitter_name, submitter_email))
1467+
self.assertEqual(submission.submitter, email.utils.formataddr((submitter_name, submitter_email)))
14681468

14691469
return r

0 commit comments

Comments
 (0)