[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