Skip to content

Commit c28b919

Browse files
committed
Made the import_mailman_listinfo management command somewhat more robust.
- Legacy-Id: 13708
1 parent 8eded1d commit c28b919

1 file changed

Lines changed: 5 additions & 1 deletion

File tree

ietf/mailinglists/management/commands/import_mailman_listinfo.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,8 @@ def note(msg):
3535
mlist = MailList.MailList(name, lock=False)
3636
note("List: %s" % mlist.internal_name())
3737
if mlist.advertised:
38-
list, created = List.objects.get_or_create(name=mlist.real_name, description=mlist.description, advertised=mlist.advertised)
38+
description = mlist.description.decode('latin1')[:256]
39+
list, created = List.objects.get_or_create(name=mlist.real_name, description=description, advertised=mlist.advertised)
3940
# The following calls return lowercased addresses
4041
members = mlist.getRegularMemberKeys() + mlist.getDigestMemberKeys()
4142
members = [ m for m in members if mlist.getDeliveryStatus(m) == MemberAdaptor.ENABLED ]
@@ -49,6 +50,9 @@ def note(msg):
4950
note(" Removing address with no subscriptions: %s" % (addr))
5051
old.delete()
5152
for addr in members:
53+
if len(addr) > 64:
54+
sys.stderr.write("Email address subscribed to '%s' too long for table: <%s>" % (name, addr))
55+
continue
5256
if not addr in known:
5357
note(" Adding subscription: %s" % (addr))
5458
new, created = Subscribed.objects.get_or_create(email=addr)

0 commit comments

Comments
 (0)