[CalendarServer-changes] [10612] CalendarServer/trunk/twext/who/idirectory.py

source_changes at macosforge.org source_changes at macosforge.org
Thu Jan 31 14:16:16 PST 2013


Revision: 10612
          http://trac.calendarserver.org//changeset/10612
Author:   wsanchez at apple.com
Date:     2013-01-31 14:16:16 -0800 (Thu, 31 Jan 2013)
Log Message:
-----------
Add _DescriptionMixIn.
Export DirectoryAvailabilityError.

Modified Paths:
--------------
    CalendarServer/trunk/twext/who/idirectory.py

Modified: CalendarServer/trunk/twext/who/idirectory.py
===================================================================
--- CalendarServer/trunk/twext/who/idirectory.py	2013-01-31 22:15:23 UTC (rev 10611)
+++ CalendarServer/trunk/twext/who/idirectory.py	2013-01-31 22:16:16 UTC (rev 10612)
@@ -20,6 +20,7 @@
 
 __all__ = [
     "DirectoryServiceError",
+    "DirectoryAvailabilityError",
     "QueryNotSupportedError",
     "RecordType",
     "FieldName",
@@ -63,11 +64,18 @@
 # Data Types
 ##
 
-class RecordType(Names):
+class _DescriptionMixIn(object):
+    def __str__(self):
+        return getattr(self, "description", Names.__str__(self))
+
+class RecordType(Names, _DescriptionMixIn):
     user  = NamedConstant()
     group = NamedConstant()
 
-class FieldName(Names):
+    user.description  = "user"
+    group.description = "group"
+
+class FieldName(Names, _DescriptionMixIn):
     """
     Constants for common field names.
     """
@@ -77,7 +85,16 @@
     shortNames     = NamedConstant()
     fullNames      = NamedConstant()
     emailAddresses = NamedConstant()
+    password       = NamedConstant()
 
+    uid.description            = "UID"
+    guid.description           = "GUID"
+    recordType.description     = "record type"
+    shortNames.description     = "short names"
+    fullNames.description      = "full names"
+    emailAddresses.description = "email addresses"
+    password.description       = "password"
+
     shortNames.multiValue     = True
     fullNames.multiValue      = True
     emailAddresses.multiValue = True
@@ -86,7 +103,7 @@
     def isMultiValue(cls, name):
         return getattr(name, "multiValue", False)
 
-class MatchType(Names):
+class MatchType(Names, _DescriptionMixIn):
     """
     Query match types.
     """
@@ -94,16 +111,25 @@
     startsWith = NamedConstant()
     contains   = NamedConstant()
 
-class Operand(Names):
+    equals.description     = "equals"
+    startsWith.description = "starts with"
+    contains.description   = "contains"
+
+class Operand(Names, _DescriptionMixIn):
     OR  = NamedConstant()
     AND = NamedConstant()
 
-class QueryFlags(Flags):
+    OR.description  = "or"
+    AND.description = "and"
+
+class QueryFlags(Flags, _DescriptionMixIn):
     """
     Query flags.
     """
     caseInsensitive = FlagConstant()
 
+    caseInsensitive.description = "case insensitive"
+
 class DirectoryQueryMatchExpression(object):
     """
     Directory query.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20130131/9f6ce74a/attachment.html>


More information about the calendarserver-changes mailing list