[llvm-commits] [zorg] r86520 - /zorg/trunk/zorg/buildbot/util/ConfigEmailLookup.py
Daniel Dunbar
daniel at zuster.org
Sun Nov 8 22:08:36 PST 2009
Author: ddunbar
Date: Mon Nov 9 00:08:36 2009
New Revision: 86520
URL: http://llvm.org/viewvc/llvm-project?rev=86520&view=rev
Log:
Add an optional only_addresses regular expression, which can be used to filter
the email lookups (non-matches will go to the default address).
Modified:
zorg/trunk/zorg/buildbot/util/ConfigEmailLookup.py
Modified: zorg/trunk/zorg/buildbot/util/ConfigEmailLookup.py
URL: http://llvm.org/viewvc/llvm-project/zorg/trunk/zorg/buildbot/util/ConfigEmailLookup.py?rev=86520&r1=86519&r2=86520&view=diff
==============================================================================
--- zorg/trunk/zorg/buildbot/util/ConfigEmailLookup.py (original)
+++ zorg/trunk/zorg/buildbot/util/ConfigEmailLookup.py Mon Nov 9 00:08:36 2009
@@ -7,20 +7,35 @@
file to match commit authors to email addresses.
"""
+ # FIXME: This should be able to reload the config file when it
+ # changes.
+
zope.interface.implements(buildbot.interfaces.IEmailLookup)
- compare_attrs = ["author_filename", "default_address"]
+ compare_attrs = ["author_filename", "default_address", "only_addresses"]
- def __init__(self, author_filename, default_address):
+ def __init__(self, author_filename, default_address, only_addresses = None):
from ConfigParser import ConfigParser
self.author_filename = author_filename
self.default_address = default_address
+ self.only_addresses = only_addresses
self.config_parser = ConfigParser()
self.config_parser.read(author_filename)
+ if only_addresses:
+ import re
+ self.address_match_p = re.compile(only_addresses).match
+ else:
+ self.address_match_p = lambda addr: True
+
def getAddress(self, name):
try:
- return self.config_parser.get("authors", name)
+ email = self.config_parser.get("authors", name)
except:
return self.default_address
+
+ if self.address_match_p(email):
+ return email
+
+ return self.default_address
More information about the llvm-commits
mailing list