[CalendarServer-changes] [13505] twext/trunk/twext/who/opendirectory

source_changes at macosforge.org source_changes at macosforge.org
Mon May 19 16:23:07 PDT 2014


Revision: 13505
          http://trac.calendarserver.org//changeset/13505
Author:   wsanchez at apple.com
Date:     2014-05-19 16:23:07 -0700 (Mon, 19 May 2014)
Log Message:
-----------
cosmetic

Modified Paths:
--------------
    twext/trunk/twext/who/opendirectory/_constants.py
    twext/trunk/twext/who/opendirectory/_service.py

Modified: twext/trunk/twext/who/opendirectory/_constants.py
===================================================================
--- twext/trunk/twext/who/opendirectory/_constants.py	2014-05-19 21:57:34 UTC (rev 13504)
+++ twext/trunk/twext/who/opendirectory/_constants.py	2014-05-19 23:23:07 UTC (rev 13505)
@@ -145,9 +145,6 @@
     recordType = ValueConstant(u"dsAttrTypeStandard:RecordType")
     recordType.fieldName = BaseFieldName.recordType
 
-    # uid = ValueConstant(u"dsAttrTypeStandard:GeneratedUID")
-    # uid.fieldName = BaseFieldName.uid
-
     guid = ValueConstant(u"dsAttrTypeStandard:GeneratedUID")
     guid.fieldName = BaseFieldName.guid
 

Modified: twext/trunk/twext/who/opendirectory/_service.py
===================================================================
--- twext/trunk/twext/who/opendirectory/_service.py	2014-05-19 21:57:34 UTC (rev 13504)
+++ twext/trunk/twext/who/opendirectory/_service.py	2014-05-19 23:23:07 UTC (rev 13505)
@@ -256,7 +256,10 @@
         #     raise NotImplementedError("Need to handle case sensitive")
 
         if expression.fieldName is self.fieldName.recordType:
-            return (notOp, ODRecordType.fromRecordType(expression.fieldValue).value)
+            return (
+                notOp,
+                ODRecordType.fromRecordType(expression.fieldValue).value
+            )
 
         if expression.fieldName is self.fieldName.uid:
             odAttr = ODAttribute.guid
@@ -282,7 +285,9 @@
         )
 
 
-    def _queryStringAndRecordTypesFromCompoundExpression(self, expression, recordTypes):
+    def _queryStringAndRecordTypesFromCompoundExpression(
+        self, expression, recordTypes
+    ):
         """
         Generates an OD query string from a compound expression.
 
@@ -300,16 +305,25 @@
 
         queryTokens = []
         for subExpression in expression.expressions:
-            queryToken, subExpRecordTypes = self._queryStringAndRecordTypesFromExpression(
-                subExpression, recordTypes
+            queryToken, subExpRecordTypes = (
+                self._queryStringAndRecordTypesFromExpression(
+                    subExpression, recordTypes
+                )
             )
             if subExpRecordTypes:
                 if isinstance(subExpRecordTypes, unicode):
-                    if bool(expression.operand is Operand.AND) != bool(queryToken):  # AND or NOR
+                    if (
+                        # AND or NOR
+                        (expression.operand is Operand.AND) != bool(queryToken)
+                    ):
                         if expression.operand is Operand.AND:
-                            recordTypes = recordTypes & set([subExpRecordTypes])
+                            recordTypes = (
+                                recordTypes & set([subExpRecordTypes])
+                            )
                         else:
-                            recordTypes = recordTypes - set([subExpRecordTypes])
+                            recordTypes = (
+                                recordTypes - set([subExpRecordTypes])
+                            )
                         queryToken = None
                     else:
                         raise QueryNotSupportedError(
@@ -335,7 +349,11 @@
         return (u"".join(queryTokens), recordTypes)
 
 
-    def _queryStringAndRecordTypesFromExpression(self, expression, recordTypes=set([t.value for t in ODRecordType.iterconstants()])):
+    def _queryStringAndRecordTypesFromExpression(
+        self,
+        expression,
+        recordTypes=set([t.value for t in ODRecordType.iterconstants()])
+    ):
         """
         Converts either a MatchExpression or a CompoundExpression into an LDAP
         query string.
@@ -351,8 +369,8 @@
         """
 
         if isinstance(expression, MatchExpression):
-            queryString, recordType = self._queryStringAndRecordTypeFromMatchExpression(
-                expression
+            queryString, recordType = (
+                self._queryStringAndRecordTypeFromMatchExpression(expression)
             )
             return (queryString, recordType if recordType else recordTypes)
 
@@ -376,24 +394,35 @@
         @param local: Whether to restrict the query to the local node
         @type local: C{Boolean}
 
-        @return: A native OpenDirectory query or None if query will return no records
+        @return: A native OpenDirectory query or C{None} if the query will
+            return no records
         @rtype: L{ODQuery}
         """
 
-        queryString, recordTypes = self._queryStringAndRecordTypesFromExpression(
-            expression,
+        if local:
+            node = self.node
+        else:
+            node = self.localNode
+
+        queryString, recordTypes = (
+            self._queryStringAndRecordTypesFromExpression(expression)
         )
         if not recordTypes:
             return None
 
+        if queryString:
+            matchType = ODMatchType.compound.value
+        else:
+            matchType = ODMatchType.any.value
+
         attributes = [a.value for a in ODAttribute.iterconstants()]
         maxResults = 0
 
         query, error = ODQuery.queryWithNode_forRecordTypes_attribute_matchType_queryValues_returnAttributes_maximumResults_error_(
-            self.node if not local else self.localNode,
+            node,
             recordTypes,
             None,
-            ODMatchType.compound.value if queryString else ODMatchType.any.value,
+            matchType,
             queryString,
             attributes,
             maxResults,
@@ -412,7 +441,9 @@
         return query
 
 
-    def _queryFromMatchExpression(self, expression, recordType=None, local=False):
+    def _queryFromMatchExpression(
+        self, expression, recordType=None, local=False
+    ):
         """
         Form an OpenDirectory query from a match expression.
 
@@ -465,7 +496,10 @@
                 expression.fieldValue
             ).value
             if MatchFlags.NOT in flags:
-                recordTypes = set([t.value for t in ODRecordType.iterconstants()]) - recordTypes
+                recordTypes = (
+                    set([t.value for t in ODRecordType.iterconstants()]) -
+                    recordTypes
+                )
 
             matchType = ODMatchType.any.value
             queryAttribute = None
@@ -491,8 +525,13 @@
             else:
                 queryValue = unicode(expression.fieldValue)
 
+        if local:
+            node = self.node
+        else:
+            node = self.localNode
+
         query, error = ODQuery.queryWithNode_forRecordTypes_attribute_matchType_queryValues_returnAttributes_maximumResults_error_(
-            self.node if not local else self.localNode,
+            node,
             recordTypes,
             queryAttribute,
             matchType | caseInsensitive,
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20140519/13df235c/attachment.html>


More information about the calendarserver-changes mailing list