[CalendarServer-changes] [12497] twext/trunk/twext/who/util.py

source_changes at macosforge.org source_changes at macosforge.org
Wed Mar 12 11:22:19 PDT 2014


Revision: 12497
          http://trac.calendarserver.org//changeset/12497
Author:   wsanchez at apple.com
Date:     2014-01-30 17:27:29 -0800 (Thu, 30 Jan 2014)
Log Message:
-----------
Add lookupByValue() for containers holding ValueConstants.

Modified Paths:
--------------
    twext/trunk/twext/who/util.py

Modified: twext/trunk/twext/who/util.py
===================================================================
--- twext/trunk/twext/who/util.py	2014-01-31 00:56:33 UTC (rev 12496)
+++ twext/trunk/twext/who/util.py	2014-01-31 01:27:29 UTC (rev 12497)
@@ -77,6 +77,9 @@
             else:
                 self._constantsClass = constant.__class__
 
+                if issubclass(self._constantsClass, ValueConstant):
+                    self.lookupByValue = self._lookupByValue
+
             if constant.name in self._constants:
                 raise ValueError("Name conflict: {0}".format(constant.name))
 
@@ -115,7 +118,14 @@
             raise ValueError(name)
 
 
+    def _lookupByValue(self, value):
+        for constant in self.iterconstants():
+            if constant.value == value:
+                return constant
+        raise ValueError(value)
 
+
+
 def uniqueResult(values):
     result = None
     for value in values:
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20140312/e9edcfb7/attachment.html>


More information about the calendarserver-changes mailing list