Recognize and remove duplicate addresses while gathering. Fixes bug #1815. Commit ready for merge.

- Legacy-Id: 10219
This commit is contained in:
Robert Sparks 2015-10-16 16:43:10 +00:00
parent f9e35662e5
commit 13d81dc509

View file

@ -3,8 +3,22 @@
from django.db import models
from django.template import Template, Context
from email.utils import parseaddr
from ietf.group.models import Role
def clean_duplicates(addrlist):
retval = set()
for a in addrlist:
(name,addr) = parseaddr(a)
if (name,addr)==('',''):
retval.add(a)
elif name:
retval.add('"%s" <%s>'%(name,addr))
else:
retval.add(addr)
return list(retval)
class MailTrigger(models.Model):
slug = models.CharField(max_length=32, primary_key=True)
desc = models.TextField(blank=True)
@ -37,8 +51,7 @@ class Recipient(models.Model):
if rendering:
retval.extend([x.strip() for x in rendering.split(',')])
retval = list(set(retval))
return retval
return clean_duplicates(retval)
def gather_doc_group_chairs(self, **kwargs):
addrs = []