Skip to content

Commit ed68a97

Browse files
committed
Merged in [18993] from housley@vigilsec.com:
Add aliases for RGs in irtf.org and IAB programs in iab.org. Fixes ietf-tools#3271 - Legacy-Id: 19021 Note: SVN reference [18993] has been migrated to Git commit 886b99c
2 parents 5ad7e27 + 886b99c commit ed68a97

1 file changed

Lines changed: 17 additions & 8 deletions

File tree

ietf/group/management/commands/generate_group_aliases.py

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,12 @@
2020
from ietf.utils.aliases import dump_sublist
2121

2222
DEFAULT_YEARS = 5
23-
ACTIVE_STATES=['active', 'bof', 'proposed']
23+
ACTIVE_STATES=['active','bof','proposed']
2424
GROUP_TYPES=['wg','rg','dir','team','review','program']
2525
NO_AD_GROUP_TYPES=['rg','team','program']
26+
IETF_DOMAIN=['ietf.org', ]
27+
IRTF_DOMAIN=['irtf.org', ]
28+
IAB_DOMAIN=['iab.org', ]
2629

2730
class Command(BaseCommand):
2831
help = ('Generate the group-aliases and group-virtual files for Internet-Draft '
@@ -44,37 +47,43 @@ def handle(self, *args, **options):
4447
vfile.write(signature)
4548
vfile.write("%s anything\n" % settings.GROUP_VIRTUAL_DOMAIN)
4649

47-
alias_domains = ['ietf.org', ]
48-
4950
# Loop through each group type and build -ads and -chairs entries
5051
for g in GROUP_TYPES:
52+
domains = []
53+
domains += IETF_DOMAIN
54+
if g == 'rg':
55+
domains += IRTF_DOMAIN
56+
if g == 'program':
57+
domains += IAB_DOMAIN
58+
5159
entries = Group.objects.filter(type=g).all()
5260
active_entries = entries.filter(state__in=ACTIVE_STATES)
5361
inactive_recent_entries = entries.exclude(state__in=ACTIVE_STATES).filter(time__gte=show_since)
5462
interesting_entries = active_entries | inactive_recent_entries
5563

5664
for e in interesting_entries.distinct().iterator():
5765
name = e.acronym
66+
5867
# Research groups, teams, and programs do not have -ads lists
5968
if not g in NO_AD_GROUP_TYPES:
60-
dump_sublist(afile, vfile, name+'-ads', ['ietf.org', ], settings.GROUP_VIRTUAL_DOMAIN, get_group_ad_emails(e))
69+
dump_sublist(afile, vfile, name+'-ads', domains, settings.GROUP_VIRTUAL_DOMAIN, get_group_ad_emails(e))
6170
# All group types have -chairs lists
62-
dump_sublist(afile, vfile, name+'-chairs', ['ietf.org', ], settings.GROUP_VIRTUAL_DOMAIN, get_group_role_emails(e, ['chair', 'secr']))
71+
dump_sublist(afile, vfile, name+'-chairs', domains, settings.GROUP_VIRTUAL_DOMAIN, get_group_role_emails(e, ['chair', 'secr']))
6372

6473
# The area lists include every chair in active working groups in the area
6574
areas = Group.objects.filter(type='area').all()
6675
active_areas = areas.filter(state__in=ACTIVE_STATES)
6776
for area in active_areas:
6877
name = area.acronym
6978
area_ad_emails = get_group_role_emails(area, ['pre-ad', 'ad', 'chair'])
70-
dump_sublist(afile, vfile, name+'-ads', alias_domains, settings.GROUP_VIRTUAL_DOMAIN, area_ad_emails)
71-
dump_sublist(afile, vfile, name+'-chairs', alias_domains, settings.GROUP_VIRTUAL_DOMAIN, (get_child_group_role_emails(area, ['chair', 'secr']) | area_ad_emails))
79+
dump_sublist(afile, vfile, name+'-ads', IETF_DOMAIN, settings.GROUP_VIRTUAL_DOMAIN, area_ad_emails)
80+
dump_sublist(afile, vfile, name+'-chairs', IETF_DOMAIN, settings.GROUP_VIRTUAL_DOMAIN, (get_child_group_role_emails(area, ['chair', 'secr']) | area_ad_emails))
7281

7382
# Other groups with chairs that require Internet-Draft submission approval
7483
gtypes = GroupTypeName.objects.values_list('slug', flat=True)
7584
special_groups = Group.objects.filter(type__features__req_subm_approval=True, acronym__in=gtypes, state='active')
7685
for group in special_groups:
77-
dump_sublist(afile, vfile, group.acronym+'-chairs', alias_domains, settings.GROUP_VIRTUAL_DOMAIN, get_group_role_emails(group, ['chair', 'delegate']))
86+
dump_sublist(afile, vfile, group.acronym+'-chairs', IETF_DOMAIN, settings.GROUP_VIRTUAL_DOMAIN, get_group_role_emails(group, ['chair', 'delegate']))
7887

7988
afile.close()
8089
vfile.close()

0 commit comments

Comments
 (0)