Skip to content

Commit 978e8f7

Browse files
committed
Changed the signature of ietf.utils.aliases.dump_sublist() to include a list of the alias domains, in order to be able to generate IRTF group aliases @irtf.org. Updated ietf/bin/generate-*-aliases accordingly.
- Legacy-Id: 13206
1 parent a01d01f commit 978e8f7

4 files changed

Lines changed: 22 additions & 12 deletions

File tree

ietf/bin/generate-draft-aliases

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -135,6 +135,7 @@ if __name__ == '__main__':
135135

136136
interesting_drafts = active_drafts | inactive_recent_drafts
137137

138+
alias_domains = ['ietf.org', ]
138139
for draft in interesting_drafts.distinct().iterator():
139140
# Omit RFCs, we care only about drafts
140141
if draft.docalias_set.filter(name__startswith='rfc'):
@@ -144,7 +145,7 @@ if __name__ == '__main__':
144145
alias = draft.name
145146
all = []
146147
def handle_sublist(afile, vfile, alias, emails):
147-
all.extend( dump_sublist(afile, vfile, alias, settings.DRAFT_VIRTUAL_DOMAIN, emails) )
148+
all.extend( dump_sublist(afile, vfile, alias, alias_domains, settings.DRAFT_VIRTUAL_DOMAIN, emails) )
148149
#.authors (/and no suffix) = authors
149150
# First, do no suffix case
150151
handle_sublist(afile, vfile, alias, get_draft_authors_emails(draft))

ietf/bin/generate-wg-aliases

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,8 @@ django.setup()
3030

3131
from django.conf import settings
3232

33+
import debug # pyflakes:ignore
34+
3335
from ietf.group.models import Group
3436
from ietf.group.utils import get_group_ad_emails, get_group_role_emails, get_child_group_role_emails
3537
from ietf.utils.aliases import dump_sublist
@@ -74,21 +76,25 @@ if __name__ == '__main__':
7476

7577
for wg in interesting_wgs.distinct().iterator():
7678
name = wg.acronym
77-
dump_sublist(afile, vfile, name+'-ads', settings.GROUP_VIRTUAL_DOMAIN, get_group_ad_emails(wg))
78-
dump_sublist(afile, vfile, name+'-chairs', settings.GROUP_VIRTUAL_DOMAIN, get_group_role_emails(wg, ['chair', 'secr']))
79+
dump_sublist(afile, vfile, name+'-ads', ['ietf.org', ], settings.GROUP_VIRTUAL_DOMAIN, get_group_ad_emails(wg))
80+
dump_sublist(afile, vfile, name+'-chairs', ['ietf.org', ], settings.GROUP_VIRTUAL_DOMAIN, get_group_role_emails(wg, ['chair', 'secr']))
7981

8082
# - status = Active
8183
rgs = Group.objects.filter(type='rg').all()
84+
debug.pprint('rgs')
8285
active_rgs = rgs.filter(state__in=ACTIVE_STATES)
86+
debug.pprint('active_rgs')
8387

8488
# - activity within last year? (use concluded_date)
8589
inactive_recent_rgs = rgs.exclude(state__in=ACTIVE_STATES).filter(time__gte=show_since)
8690
interesting_rgs = active_rgs | inactive_recent_rgs
91+
debug.pprint('interesting_rgs')
8792

8893
for rg in interesting_rgs.distinct().iterator():
8994
name = rg.acronym
95+
debug.show('rg.acronym')
9096
#dump_sublist('%s%s' % (name, '-ads'), get_group_ad_emails, rg, True)
91-
dump_sublist(afile, vfile, name+'-chairs', settings.GROUP_VIRTUAL_DOMAIN, get_group_role_emails(rg, ['chair', 'secr']))
97+
dump_sublist(afile, vfile, name+'-chairs', ['ietf.org', 'irtf.org', ], settings.GROUP_VIRTUAL_DOMAIN, get_group_role_emails(rg, ['chair', 'secr']))
9298

9399
# Additionally, for areaz, we should list -ads and -chairs
94100
# (for every chair in active groups within the area).
@@ -97,6 +103,6 @@ if __name__ == '__main__':
97103
for area in active_areas:
98104
name = area.acronym
99105
area_ad_emails = get_group_role_emails(area, ['pre-ad', 'ad', 'chair'])
100-
dump_sublist(afile, vfile, name+'-ads' , settings.GROUP_VIRTUAL_DOMAIN, area_ad_emails)
101-
dump_sublist(afile, vfile, name+'-chairs', settings.GROUP_VIRTUAL_DOMAIN, (get_child_group_role_emails(area, ['chair', 'secr']) | area_ad_emails))
106+
dump_sublist(afile, vfile, name+'-ads' , ['ietf.org', ], settings.GROUP_VIRTUAL_DOMAIN, area_ad_emails)
107+
dump_sublist(afile, vfile, name+'-chairs', ['ietf.org', ], settings.GROUP_VIRTUAL_DOMAIN, (get_child_group_role_emails(area, ['chair', 'secr']) | area_ad_emails))
102108

ietf/settings.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -521,7 +521,7 @@ def skip_unreadable_post(record):
521521
DATETIME_FORMAT = "Y-m-d H:i T"
522522

523523

524-
DRAFT_NAMES_WITH_DOT = "(draft-[a-z-]+-(ion-sig-uni4\.0|pilc-2\.5g3g|trade-iotp-v1\.0-[a-z]+|msword-template-v2\.0|1240\.his|(ieee)?802\.[0-9]+-[a-z0-9-]*))"
524+
DRAFT_NAMES_WITH_DOT = "(draft-[a-z-]+-(ion-sig-uni4\.0|pilc-2\.5g3g|trade-iotp-v1\.0-[a-z]+|msword-template-v2\.0|1240\.his|(ieee)?802\.[0-9a-z]+-[a-z0-9-]*))"
525525
URL_REGEXPS = {
526526
"acronym": r"(?P<acronym>[-a-z0-9]+)",
527527
"charter": r"(?P<name>charter-[-a-z0-9]+)",

ietf/utils/aliases.py

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@
1414

1515
from django.conf import settings
1616

17+
import debug # pyflakes:ignore
18+
1719
def rewrite_email_address(email):
1820
""" Prettify the email address (and if it's empty, skip it by
1921
returning None). """
@@ -40,7 +42,7 @@ def rewrite_address_list(l):
4042
h[address] = True
4143
yield address
4244

43-
def dump_sublist(afile, vfile, alias, domain, emails):
45+
def dump_sublist(afile, vfile, alias, adomains, vdomain, emails):
4446
if not emails:
4547
return emails
4648
# Nones in the list should be skipped
@@ -56,13 +58,14 @@ def dump_sublist(afile, vfile, alias, domain, emails):
5658
if not emails:
5759
return emails
5860
try:
59-
aliasaddr = '%s@ietf.org' % (alias, ) # in virtual, --> filtername
6061
filtername = 'xfilter-%s' % (alias, ) # in aliases, --> | expandname
6162
expandname = 'expand-%s' % (alias, ) # in virtual, --> email list
6263

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)))
64+
for domain in adomains:
65+
aliasaddr = '%s@%s' % (alias, domain) # in virtual, --> filtername
66+
vfile.write('%-64s %s\n' % (aliasaddr, filtername))
67+
afile.write('%-64s "|%s filter %s %s"\n' % (filtername+':', settings.POSTCONFIRM_PATH, expandname, vdomain))
68+
vfile.write('%-64s %s\n' % ("%s@%s"%(expandname, vdomain), ', '.join(emails)))
6669

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

0 commit comments

Comments
 (0)