Skip to content

Commit f2d3d42

Browse files
committed
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
1 parent 69a7668 commit f2d3d42

4 files changed

Lines changed: 18 additions & 14 deletions

File tree

ietf/bin/generate-draft-aliases

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -103,8 +103,9 @@ if __name__ == '__main__':
103103

104104
afile.write(signature)
105105
vfile.write(signature)
106+
vfile.write("%s anything\n" % settings.DRAFT_VIRTUAL_DOMAIN)
106107

107-
drafts = Document.objects.all()
108+
drafts = Document.objects.filter(name__startswith='draft-')
108109

109110
# Drafts with active status
110111
active_drafts = drafts.filter(states__slug='active')
@@ -122,7 +123,7 @@ if __name__ == '__main__':
122123
alias = draft.name
123124
all = []
124125
def handle_sublist(afile, vfile, alias, emails):
125-
all.extend( dump_sublist(afile, vfile, alias, emails) )
126+
all.extend( dump_sublist(afile, vfile, alias, settings.DRAFT_VIRTUAL_DOMAIN, emails) )
126127
#.authors (/and no suffix) = authors
127128
# First, do no suffix case
128129
handle_sublist(afile, vfile, alias, get_draft_authors_emails(draft))

ietf/bin/generate-wg-aliases

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ if __name__ == '__main__':
5454

5555
afile.write(signature)
5656
vfile.write(signature)
57+
vfile.write("%s anything\n" % settings.GROUP_VIRTUAL_DOMAIN)
5758

5859
wgs = Group.objects.filter(type='wg').all()
5960

@@ -66,8 +67,8 @@ if __name__ == '__main__':
6667

6768
for wg in interesting_wgs.distinct().iterator():
6869
name = wg.acronym
69-
dump_sublist(afile, vfile, name+'-ads' , get_group_ads_emails(wg))
70-
dump_sublist(afile, vfile, name+'-chairs', get_group_chairs_emails(wg))
70+
dump_sublist(afile, vfile, name+'-ads', settings.GROUP_VIRTUAL_DOMAIN, get_group_ads_emails(wg))
71+
dump_sublist(afile, vfile, name+'-chairs', settings.GROUP_VIRTUAL_DOMAIN, get_group_chairs_emails(wg))
7172

7273
# - status = Active
7374
rgs = Group.objects.filter(type='rg').all()
@@ -80,14 +81,14 @@ if __name__ == '__main__':
8081
for rg in interesting_rgs.distinct().iterator():
8182
name = rg.acronym
8283
#dump_sublist('%s%s' % (name, '-ads'), get_group_ads_emails, rg, True)
83-
dump_sublist(afile, vfile, name+'-chairs', get_group_chairs_emails(rg))
84+
dump_sublist(afile, vfile, name+'-chairs', settings.GROUP_VIRTUAL_DOMAIN, get_group_chairs_emails(rg))
8485

8586
# Additionally, for areaz, we should list -ads and -chairs
8687
# (for every chair in active groups within the area).
8788
areas = Group.objects.filter(type='area').all()
8889
active_areas = areas.filter(state__in=ACTIVE_STATES)
8990
for area in active_areas:
9091
name = area.acronym
91-
dump_sublist(afile, vfile, name+'-ads' , get_area_ads_emails(area))
92-
dump_sublist(afile, vfile, name+'-chairs', get_area_chairs_emails(area))
92+
dump_sublist(afile, vfile, name+'-ads' , settings.GROUP_VIRTUAL_DOMAIN, get_area_ads_emails(area))
93+
dump_sublist(afile, vfile, name+'-chairs', settings.GROUP_VIRTUAL_DOMAIN, get_area_chairs_emails(area))
9394

ietf/settings.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -455,9 +455,11 @@ def skip_unreadable_post(record):
455455
# Path to the email alias lists. Used by ietf.utils.aliases
456456
DRAFT_ALIASES_PATH = "/a/postfix/draft-aliases"
457457
DRAFT_VIRTUAL_PATH = "/a/postfix/draft-virtual"
458+
DRAFT_VIRTUAL_DOMAIN = "virtual.ietf.org"
458459

459460
GROUP_ALIASES_PATH = "/a/postfix/group-aliases"
460461
GROUP_VIRTUAL_PATH = "/a/postfix/group-virtual"
462+
GROUP_VIRTUAL_DOMAIN = "virtual.ietf.org"
461463

462464
POSTCONFIRM_PATH = "/a/postconfirm/test-wrapper"
463465

ietf/utils/aliases.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ def rewrite_address_list(l):
4040
h[address] = True
4141
yield address
4242

43-
def dump_sublist(afile, vfile, alias, emails):
43+
def dump_sublist(afile, vfile, alias, domain, emails):
4444
if not emails:
4545
return emails
4646
# Nones in the list should be skipped
@@ -56,13 +56,13 @@ def dump_sublist(afile, vfile, alias, emails):
5656
if not emails:
5757
return emails
5858
try:
59-
virtualname = 'xalias-%s' % (alias, )
60-
expandname = 'expand-%s' % (alias)
61-
aliasaddr = '%s@ietf.org' % (alias, )
59+
aliasaddr = '%s@ietf.org' % (alias, ) # in virtual, --> filtername
60+
filtername = 'xfilter-%s' % (alias, ) # in aliases, --> | expandname
61+
expandname = 'expand-%s' % (alias, ) # in virtual, --> email list
6262

63-
vfile.write('%-64s %s\n' % (aliasaddr, virtualname))
64-
afile.write('%-64s "|%s filter %s"\n' % (virtualname+':', settings.POSTCONFIRM_PATH, expandname))
65-
afile.write('%-64s %s\n' % (expandname+':', ', '.join(emails)))
63+
vfile.write('%-64s %s\n' % (aliasaddr, filtername))
64+
afile.write('%-64s "|%s filter %s %s"\n' % (filtername+':', settings.POSTCONFIRM_PATH, expandname, domain))
65+
vfile.write('%-64s %s\n' % ("%s@%s"%(expandname, domain), ', '.join(emails)))
6666

6767
except UnicodeEncodeError:
6868
# If there's unicode in email address, something is badly

0 commit comments

Comments
 (0)