Reworked the generation of draft aliases and WG aliases, after trying out the output of the previous version for real. This code seems to work better, based on tests on ietfa.
- Legacy-Id: 8633
This commit is contained in:
parent
69a7668d2e
commit
f2d3d4213a
|
@ -103,8 +103,9 @@ if __name__ == '__main__':
|
|||
|
||||
afile.write(signature)
|
||||
vfile.write(signature)
|
||||
vfile.write("%s anything\n" % settings.DRAFT_VIRTUAL_DOMAIN)
|
||||
|
||||
drafts = Document.objects.all()
|
||||
drafts = Document.objects.filter(name__startswith='draft-')
|
||||
|
||||
# Drafts with active status
|
||||
active_drafts = drafts.filter(states__slug='active')
|
||||
|
@ -122,7 +123,7 @@ if __name__ == '__main__':
|
|||
alias = draft.name
|
||||
all = []
|
||||
def handle_sublist(afile, vfile, alias, emails):
|
||||
all.extend( dump_sublist(afile, vfile, alias, emails) )
|
||||
all.extend( dump_sublist(afile, vfile, alias, settings.DRAFT_VIRTUAL_DOMAIN, emails) )
|
||||
#.authors (/and no suffix) = authors
|
||||
# First, do no suffix case
|
||||
handle_sublist(afile, vfile, alias, get_draft_authors_emails(draft))
|
||||
|
|
|
@ -54,6 +54,7 @@ if __name__ == '__main__':
|
|||
|
||||
afile.write(signature)
|
||||
vfile.write(signature)
|
||||
vfile.write("%s anything\n" % settings.GROUP_VIRTUAL_DOMAIN)
|
||||
|
||||
wgs = Group.objects.filter(type='wg').all()
|
||||
|
||||
|
@ -66,8 +67,8 @@ if __name__ == '__main__':
|
|||
|
||||
for wg in interesting_wgs.distinct().iterator():
|
||||
name = wg.acronym
|
||||
dump_sublist(afile, vfile, name+'-ads' , get_group_ads_emails(wg))
|
||||
dump_sublist(afile, vfile, name+'-chairs', get_group_chairs_emails(wg))
|
||||
dump_sublist(afile, vfile, name+'-ads', settings.GROUP_VIRTUAL_DOMAIN, get_group_ads_emails(wg))
|
||||
dump_sublist(afile, vfile, name+'-chairs', settings.GROUP_VIRTUAL_DOMAIN, get_group_chairs_emails(wg))
|
||||
|
||||
# - status = Active
|
||||
rgs = Group.objects.filter(type='rg').all()
|
||||
|
@ -80,7 +81,7 @@ if __name__ == '__main__':
|
|||
for rg in interesting_rgs.distinct().iterator():
|
||||
name = rg.acronym
|
||||
#dump_sublist('%s%s' % (name, '-ads'), get_group_ads_emails, rg, True)
|
||||
dump_sublist(afile, vfile, name+'-chairs', get_group_chairs_emails(rg))
|
||||
dump_sublist(afile, vfile, name+'-chairs', settings.GROUP_VIRTUAL_DOMAIN, get_group_chairs_emails(rg))
|
||||
|
||||
# Additionally, for areaz, we should list -ads and -chairs
|
||||
# (for every chair in active groups within the area).
|
||||
|
@ -88,6 +89,6 @@ if __name__ == '__main__':
|
|||
active_areas = areas.filter(state__in=ACTIVE_STATES)
|
||||
for area in active_areas:
|
||||
name = area.acronym
|
||||
dump_sublist(afile, vfile, name+'-ads' , get_area_ads_emails(area))
|
||||
dump_sublist(afile, vfile, name+'-chairs', get_area_chairs_emails(area))
|
||||
dump_sublist(afile, vfile, name+'-ads' , settings.GROUP_VIRTUAL_DOMAIN, get_area_ads_emails(area))
|
||||
dump_sublist(afile, vfile, name+'-chairs', settings.GROUP_VIRTUAL_DOMAIN, get_area_chairs_emails(area))
|
||||
|
||||
|
|
|
@ -455,9 +455,11 @@ SELENIUM_TESTS_ONLY = False
|
|||
# Path to the email alias lists. Used by ietf.utils.aliases
|
||||
DRAFT_ALIASES_PATH = "/a/postfix/draft-aliases"
|
||||
DRAFT_VIRTUAL_PATH = "/a/postfix/draft-virtual"
|
||||
DRAFT_VIRTUAL_DOMAIN = "virtual.ietf.org"
|
||||
|
||||
GROUP_ALIASES_PATH = "/a/postfix/group-aliases"
|
||||
GROUP_VIRTUAL_PATH = "/a/postfix/group-virtual"
|
||||
GROUP_VIRTUAL_DOMAIN = "virtual.ietf.org"
|
||||
|
||||
POSTCONFIRM_PATH = "/a/postconfirm/test-wrapper"
|
||||
|
||||
|
|
|
@ -40,7 +40,7 @@ def rewrite_address_list(l):
|
|||
h[address] = True
|
||||
yield address
|
||||
|
||||
def dump_sublist(afile, vfile, alias, emails):
|
||||
def dump_sublist(afile, vfile, alias, domain, emails):
|
||||
if not emails:
|
||||
return emails
|
||||
# Nones in the list should be skipped
|
||||
|
@ -56,13 +56,13 @@ def dump_sublist(afile, vfile, alias, emails):
|
|||
if not emails:
|
||||
return emails
|
||||
try:
|
||||
virtualname = 'xalias-%s' % (alias, )
|
||||
expandname = 'expand-%s' % (alias)
|
||||
aliasaddr = '%s@ietf.org' % (alias, )
|
||||
aliasaddr = '%s@ietf.org' % (alias, ) # in virtual, --> filtername
|
||||
filtername = 'xfilter-%s' % (alias, ) # in aliases, --> | expandname
|
||||
expandname = 'expand-%s' % (alias, ) # in virtual, --> email list
|
||||
|
||||
vfile.write('%-64s %s\n' % (aliasaddr, virtualname))
|
||||
afile.write('%-64s "|%s filter %s"\n' % (virtualname+':', settings.POSTCONFIRM_PATH, expandname))
|
||||
afile.write('%-64s %s\n' % (expandname+':', ', '.join(emails)))
|
||||
vfile.write('%-64s %s\n' % (aliasaddr, filtername))
|
||||
afile.write('%-64s "|%s filter %s %s"\n' % (filtername+':', settings.POSTCONFIRM_PATH, expandname, domain))
|
||||
vfile.write('%-64s %s\n' % ("%s@%s"%(expandname, domain), ', '.join(emails)))
|
||||
|
||||
except UnicodeEncodeError:
|
||||
# If there's unicode in email address, something is badly
|
||||
|
|
Loading…
Reference in a new issue