diff --git a/ietf/bin/generate-wg-aliases b/ietf/bin/generate-wg-aliases index 6c33096bd..26cf1dd0c 100755 --- a/ietf/bin/generate-wg-aliases +++ b/ietf/bin/generate-wg-aliases @@ -65,6 +65,7 @@ if __name__ == '__main__': vfile.write(signature) vfile.write("%s anything\n" % settings.GROUP_VIRTUAL_DOMAIN) + # - Working groups ----------------------------------------- wgs = Group.objects.filter(type='wg').all() # - status = Active @@ -79,9 +80,11 @@ if __name__ == '__main__': dump_sublist(afile, vfile, name+'-ads', ['ietf.org', ], settings.GROUP_VIRTUAL_DOMAIN, get_group_ad_emails(wg)) dump_sublist(afile, vfile, name+'-chairs', ['ietf.org', ], settings.GROUP_VIRTUAL_DOMAIN, get_group_role_emails(wg, ['chair', 'secr'])) - # - status = Active + # - Research groups ----------------------------------------- rgs = Group.objects.filter(type='rg').all() debug.pprint('rgs') + + # - status = Active active_rgs = rgs.filter(state__in=ACTIVE_STATES) debug.pprint('active_rgs') @@ -96,6 +99,22 @@ if __name__ == '__main__': #dump_sublist('%s%s' % (name, '-ads'), get_group_ad_emails, rg, True) dump_sublist(afile, vfile, name+'-chairs', ['ietf.org', 'irtf.org', ], settings.GROUP_VIRTUAL_DOMAIN, get_group_role_emails(rg, ['chair', 'secr'])) + # - Directorates ----------------------------------------- + directorates = Group.objects.filter(type='dir').all() + + # - status = Active + active_directorates = directorates.filter(state__in=ACTIVE_STATES) + + # - activity within last year? (use concluded_date) + inactive_recent_directorates = directorates.exclude(state__in=ACTIVE_STATES).filter(time__gte=show_since) + interesting_directorates = active_directorates | inactive_recent_directorates + + for directorate in interesting_directorates.distinct().iterator(): + name = directorate.acronym + dump_sublist(afile, vfile, name+'-ads', ['ietf.org', ], settings.GROUP_VIRTUAL_DOMAIN, get_group_ad_emails(directorate)) + dump_sublist(afile, vfile, name+'-chairs', ['ietf.org', ], settings.GROUP_VIRTUAL_DOMAIN, get_group_role_emails(directorate, ['chair', 'secr'])) + + # - Areas -------------------------------------------------- # Additionally, for areaz, we should list -ads and -chairs # (for every chair in active groups within the area). areas = Group.objects.filter(type='area').all()