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

source_changes at macosforge.org source_changes at macosforge.org
Wed Mar 12 11:24:48 PDT 2014


Revision: 12496
          http://trac.calendarserver.org//changeset/12496
Author:   wsanchez at apple.com
Date:     2014-01-30 16:56:33 -0800 (Thu, 30 Jan 2014)
Log Message:
-----------
Handle ConstantsContainer inputs properly.

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:46:00 UTC (rev 12495)
+++ twext/trunk/twext/who/util.py	2014-01-31 00:56:33 UTC (rev 12496)
@@ -26,6 +26,8 @@
     "iterFlags",
 ]
 
+from inspect import isclass
+
 from twisted.python.constants import (
     Names, Values, Flags, NamedConstant, ValueConstant, FlagConstant,
 )
@@ -43,7 +45,7 @@
         self._methods = {}
 
         for source in sources:
-            if issubclass(type(source), type):
+            if isclass(source):
                 if issubclass(source, CONTAINER_CLASSES):
                     self._addConstants(source.iterconstants())
                     self._addMethods(source)
@@ -52,6 +54,10 @@
                         "Unknown constants type: {0}".format(source)
                     )
 
+            elif isinstance(source, ConstantsContainer):
+                self._addConstants(source.iterconstants())
+                self._addMethods(source)
+
             elif isinstance(source, CONSTANT_CLASSES):
                 self._addConstants((source,))
 
@@ -144,5 +150,5 @@
 
 
 
-CONTAINER_CLASSES = (ConstantsContainer, Names, Values, Flags)
+CONTAINER_CLASSES = (Names, Values, Flags)
 CONSTANT_CLASSES = (NamedConstant, ValueConstant, FlagConstant)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20140312/5b0ef900/attachment.html>


More information about the calendarserver-changes mailing list