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
This commit is contained in:
parent
a01d01f8e4
commit
978e8f72f5
|
@ -135,6 +135,7 @@ if __name__ == '__main__':
|
|||
|
||||
interesting_drafts = active_drafts | inactive_recent_drafts
|
||||
|
||||
alias_domains = ['ietf.org', ]
|
||||
for draft in interesting_drafts.distinct().iterator():
|
||||
# Omit RFCs, we care only about drafts
|
||||
if draft.docalias_set.filter(name__startswith='rfc'):
|
||||
|
@ -144,7 +145,7 @@ if __name__ == '__main__':
|
|||
alias = draft.name
|
||||
all = []
|
||||
def handle_sublist(afile, vfile, alias, emails):
|
||||
all.extend( dump_sublist(afile, vfile, alias, settings.DRAFT_VIRTUAL_DOMAIN, emails) )
|
||||
all.extend( dump_sublist(afile, vfile, alias, alias_domains, 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))
|
||||
|
|
|
@ -30,6 +30,8 @@ django.setup()
|
|||
|
||||
from django.conf import settings
|
||||
|
||||
import debug # pyflakes:ignore
|
||||
|
||||
from ietf.group.models import Group
|
||||
from ietf.group.utils import get_group_ad_emails, get_group_role_emails, get_child_group_role_emails
|
||||
from ietf.utils.aliases import dump_sublist
|
||||
|
@ -74,21 +76,25 @@ if __name__ == '__main__':
|
|||
|
||||
for wg in interesting_wgs.distinct().iterator():
|
||||
name = wg.acronym
|
||||
dump_sublist(afile, vfile, name+'-ads', settings.GROUP_VIRTUAL_DOMAIN, get_group_ad_emails(wg))
|
||||
dump_sublist(afile, vfile, name+'-chairs', settings.GROUP_VIRTUAL_DOMAIN, get_group_role_emails(wg, ['chair', 'secr']))
|
||||
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
|
||||
rgs = Group.objects.filter(type='rg').all()
|
||||
debug.pprint('rgs')
|
||||
active_rgs = rgs.filter(state__in=ACTIVE_STATES)
|
||||
debug.pprint('active_rgs')
|
||||
|
||||
# - activity within last year? (use concluded_date)
|
||||
inactive_recent_rgs = rgs.exclude(state__in=ACTIVE_STATES).filter(time__gte=show_since)
|
||||
interesting_rgs = active_rgs | inactive_recent_rgs
|
||||
debug.pprint('interesting_rgs')
|
||||
|
||||
for rg in interesting_rgs.distinct().iterator():
|
||||
name = rg.acronym
|
||||
debug.show('rg.acronym')
|
||||
#dump_sublist('%s%s' % (name, '-ads'), get_group_ad_emails, rg, True)
|
||||
dump_sublist(afile, vfile, name+'-chairs', settings.GROUP_VIRTUAL_DOMAIN, get_group_role_emails(rg, ['chair', 'secr']))
|
||||
dump_sublist(afile, vfile, name+'-chairs', ['ietf.org', 'irtf.org', ], settings.GROUP_VIRTUAL_DOMAIN, get_group_role_emails(rg, ['chair', 'secr']))
|
||||
|
||||
# Additionally, for areaz, we should list -ads and -chairs
|
||||
# (for every chair in active groups within the area).
|
||||
|
@ -97,6 +103,6 @@ if __name__ == '__main__':
|
|||
for area in active_areas:
|
||||
name = area.acronym
|
||||
area_ad_emails = get_group_role_emails(area, ['pre-ad', 'ad', 'chair'])
|
||||
dump_sublist(afile, vfile, name+'-ads' , settings.GROUP_VIRTUAL_DOMAIN, area_ad_emails)
|
||||
dump_sublist(afile, vfile, name+'-chairs', settings.GROUP_VIRTUAL_DOMAIN, (get_child_group_role_emails(area, ['chair', 'secr']) | area_ad_emails))
|
||||
dump_sublist(afile, vfile, name+'-ads' , ['ietf.org', ], settings.GROUP_VIRTUAL_DOMAIN, area_ad_emails)
|
||||
dump_sublist(afile, vfile, name+'-chairs', ['ietf.org', ], settings.GROUP_VIRTUAL_DOMAIN, (get_child_group_role_emails(area, ['chair', 'secr']) | area_ad_emails))
|
||||
|
||||
|
|
|
@ -521,7 +521,7 @@ DATE_FORMAT = "Y-m-d"
|
|||
DATETIME_FORMAT = "Y-m-d H:i T"
|
||||
|
||||
|
||||
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-]*))"
|
||||
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-]*))"
|
||||
URL_REGEXPS = {
|
||||
"acronym": r"(?P<acronym>[-a-z0-9]+)",
|
||||
"charter": r"(?P<name>charter-[-a-z0-9]+)",
|
||||
|
|
|
@ -14,6 +14,8 @@ Mailing list alias dumping utilities
|
|||
|
||||
from django.conf import settings
|
||||
|
||||
import debug # pyflakes:ignore
|
||||
|
||||
def rewrite_email_address(email):
|
||||
""" Prettify the email address (and if it's empty, skip it by
|
||||
returning None). """
|
||||
|
@ -40,7 +42,7 @@ def rewrite_address_list(l):
|
|||
h[address] = True
|
||||
yield address
|
||||
|
||||
def dump_sublist(afile, vfile, alias, domain, emails):
|
||||
def dump_sublist(afile, vfile, alias, adomains, vdomain, emails):
|
||||
if not emails:
|
||||
return emails
|
||||
# Nones in the list should be skipped
|
||||
|
@ -56,13 +58,14 @@ def dump_sublist(afile, vfile, alias, domain, emails):
|
|||
if not emails:
|
||||
return emails
|
||||
try:
|
||||
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, 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)))
|
||||
for domain in adomains:
|
||||
aliasaddr = '%s@%s' % (alias, domain) # in virtual, --> filtername
|
||||
vfile.write('%-64s %s\n' % (aliasaddr, filtername))
|
||||
afile.write('%-64s "|%s filter %s %s"\n' % (filtername+':', settings.POSTCONFIRM_PATH, expandname, vdomain))
|
||||
vfile.write('%-64s %s\n' % ("%s@%s"%(expandname, vdomain), ', '.join(emails)))
|
||||
|
||||
except UnicodeEncodeError:
|
||||
# If there's unicode in email address, something is badly
|
||||
|
|
Loading…
Reference in a new issue