diff --git a/ietf/bin/aliasutil.py b/ietf/bin/aliasutil.py index 71f500470..5348e20e3 100644 --- a/ietf/bin/aliasutil.py +++ b/ietf/bin/aliasutil.py @@ -12,57 +12,6 @@ Mailing list alias dumping utilities """ -ad_replacement = { - # 2009 Ad replacements - 'chris.newman@sun.com': 'alexey.melnikov@isode.com', - 'townsley@cisco.com': 'rdroms@cisco.com', - 'jon.peterson@neustar.biz': 'rjsparks@nostrum.com', - 'dward@cisco.com': 'adrian@olddog.co.uk', - - # 2010 AD replacements -- activate after spring ietf - 'lisa@osafoundation.org': 'stpeter@stpeter.im', - 'fluffy@cisco.com': 'gonzalo.camarillo@ericsson.com', - 'rcallon@juniper.net': 'stbryant@cisco.com', - 'pasi.eronen@nokia.com': 'turners@ieca.com', - 'magnus.westerlund@ericsson.com': 'ietfdbh@comcast.net', - - # 2011 AD replacements -- activate after spring ietf - 'alexey.melnikov@isode.com': 'presnick@qualcomm.com', - 'tim.polk@nist.gov': 'stephen.farrell@cs.tcd.ie', - 'lars.eggert@nokia.com': 'wes@mti-systems.com', - - #2013 AD replacements - 'housley@vigilsec.com': 'jari.arkko@piuha.net', - 'rdroms.ietf@gmail.com': 'ted.lemon@nominum.com', - 'rbonica@juniper.net': 'jjaeggli@zynga.com', - 'rjsparks@nostrum.com': 'rbarnes@bbn.com', - } - -email_replacement = { - 'barryleiba@computer.org': 'barryleiba@gmail.com', - 'greg.daley@eng.monash.edu.au': 'gdaley@netstarnetworks.com', - 'radia.perlman@sun.com': 'radia@alum.mit.edu', - 'lisa@osafoundation.org': 'lisa.dusseault@gmail.com', - 'lisa.dusseault@messagingarchitects.com': 'lisa.dusseault@gmail.com', - 'scott.lawrence@nortel.com': 'scottlawrenc@avaya.com', - 'charliep@computer.org': 'charliep@computer.org, charles.perkins@earthlink.net', - 'yaronf@checkpoint.com': 'yaronf.ietf@gmail.com', - 'mary.barnes@nortel.com': 'mary.ietf.barnes@gmail.com', - 'scottlawrenc@avaya.com': 'xmlscott@gmail.com', - 'henk@ripe.net': 'henk@uijterwaal.nl', - 'jonne.soininen@nsn.com': 'jonne.soininen@renesasmobile.com', - 'tom.taylor@rogers.com': 'tom.taylor.stds@gmail.com', - 'rahul@juniper.net': 'raggarwa_1@yahoo.com', - 'dward@juniper.net': 'dward@cisco.com', - 'alan.ford@roke.co.uk': 'alanford@cisco.com', - 'rod.walsh@nokia.com': 'roderick.walsh@tut.fi', - 'bob.hinden@nokia.com': 'bob.hinden@gmail.com', - 'martin.thomson@commscope.com': 'martin.thomson@gmail.com', - 'rjs@estacado.net': 'rjsparks@nostrum.com', - 'rbarnes@bbn.com': 'rlb@ipv.sx', -} - - def rewrite_email_address(email, is_ad): """ Prettify the email address (and if it's empty, skip it by returning None). """ @@ -76,9 +25,6 @@ def rewrite_email_address(email, is_ad): # If it doesn't look like email, skip if '@' not in email and '?' not in email: return - if is_ad: - email = ad_replacement.get(email, email) - email = email_replacement.get(email, email) return email def rewrite_address_list(l): diff --git a/ietf/bin/generate-draft-aliases b/ietf/bin/generate-draft-aliases index d9c8f738b..4f4cf228c 100755 --- a/ietf/bin/generate-draft-aliases +++ b/ietf/bin/generate-draft-aliases @@ -37,12 +37,17 @@ from django.core import management management.setup_environ(settings) from ietf.doc.models import Document -from ietf.group.utils import get_group_chairs_emails +from ietf.group.utils import get_group_chairs_emails, get_group_ads_emails from aliasutil import * import time def get_draft_ad_emails(draft): " Get AD email for the given draft, if any. " + # If working group document, return current WG ADs + wg = draft.group + if wg and wg.acronym != 'none' and wg.parent and wg.parent.acronym != 'none': + return get_group_ads_emails(wg) + # If not, return explicit AD set (whether up to date or not) ad = draft.ad #return [ad and ad.user and ad.user.email] return [ad and ad.email_address()] @@ -123,11 +128,12 @@ if __name__ == '__main__': continue handle_sublist('%s%s' % (name, '.authors'), get_draft_authors_emails, draft) wg = draft.group + if wg: # .chairs = WG chairs handle_sublist('%s%s' % (name, '.chairs'), get_group_chairs_emails, wg) - # .ad = sponsoring AD + # .ad = sponsoring AD / WG AD (WG document) handle_sublist('%s%s' % (name, '.ad'), get_draft_ad_emails, draft, True) # .notify = notify email list from the Document diff --git a/ietf/group/utils.py b/ietf/group/utils.py index 6cede2861..82f63a611 100644 --- a/ietf/group/utils.py +++ b/ietf/group/utils.py @@ -50,13 +50,18 @@ def get_charter_text(group): return desc def get_area_ads_emails(area): + if area.acronym == 'none': + return [] emails = [r.email.email_address() for r in area.role_set.filter(name__in=('ad', 'chair'))] return filter(None, emails) def get_group_ads_emails(wg): " Get list of area directors' emails for a given WG " - if wg.parent: + if wg.acronym == 'none': + return [] + + if wg.parent and wg.parent.acronym != 'none': # By default, we should use _current_ list of ads! return get_area_ads_emails(wg.parent) @@ -65,6 +70,8 @@ def get_group_ads_emails(wg): def get_group_chairs_emails(wg): " Get list of area chairs' emails for a given WG " + if wg.acronym == 'none': + return [] emails = Email.objects.filter(role__group=wg, role__name='chair') if not emails: