Skip to content

Commit 13d81dc

Browse files
committed
Recognize and remove duplicate addresses while gathering. Fixes bug ietf-tools#1815. Commit ready for merge.
- Legacy-Id: 10219
1 parent f9e3566 commit 13d81dc

1 file changed

Lines changed: 15 additions & 2 deletions

File tree

ietf/mailtrigger/models.py

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,22 @@
33
from django.db import models
44
from django.template import Template, Context
55

6+
from email.utils import parseaddr
7+
68
from ietf.group.models import Role
79

10+
def clean_duplicates(addrlist):
11+
retval = set()
12+
for a in addrlist:
13+
(name,addr) = parseaddr(a)
14+
if (name,addr)==('',''):
15+
retval.add(a)
16+
elif name:
17+
retval.add('"%s" <%s>'%(name,addr))
18+
else:
19+
retval.add(addr)
20+
return list(retval)
21+
822
class MailTrigger(models.Model):
923
slug = models.CharField(max_length=32, primary_key=True)
1024
desc = models.TextField(blank=True)
@@ -37,8 +51,7 @@ def gather(self, **kwargs):
3751
if rendering:
3852
retval.extend([x.strip() for x in rendering.split(',')])
3953

40-
retval = list(set(retval))
41-
return retval
54+
return clean_duplicates(retval)
4255

4356
def gather_doc_group_chairs(self, **kwargs):
4457
addrs = []

0 commit comments

Comments
 (0)