[CalendarServer-changes] [12163] twext/trunk/twext/who/opendirectory/_service.py

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


Revision: 12163
          http://trac.calendarserver.org//changeset/12163
Author:   wsanchez at apple.com
Date:     2013-12-19 18:50:06 -0800 (Thu, 19 Dec 2013)
Log Message:
-----------
Implement recordsFromNonCompoundExpression and recordsFromCompoundExpression instead of recordsFromExpression.

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

Modified: twext/trunk/twext/who/opendirectory/_service.py
===================================================================
--- twext/trunk/twext/who/opendirectory/_service.py	2013-12-20 02:31:41 UTC (rev 12162)
+++ twext/trunk/twext/who/opendirectory/_service.py	2013-12-20 02:50:06 UTC (rev 12163)
@@ -531,36 +531,31 @@
             yield DirectoryRecord(self, odRecord)
 
 
+    def recordsFromNonCompoundExpression(self, expression, records=None):
+        if isinstance(expression, MatchExpression):
+            try:
+                query = self._queryFromMatchExpression(expression)
+                return succeed(self._recordsFromQuery(query))
 
-    def recordsFromExpression(self, expression, records=None):
-        """
-        @param expression: an expression to apply
-        @type expression: L{MatchExpression} or L{CompoundExpression}
+            except QueryNotSupportedError:
+                pass
 
-        @return: The matching records.
-        @rtype: deferred iterable of L{IDirectoryRecord}s
+        return BaseDirectoryService.recordsFromNonCompoundExpression(
+            self, expression
+        )
 
-        @raises: L{QueryNotSupportedError} if the expression is not
-            supported by this directory service.
-        """
 
+    def recordsFromCompoundExpression(self, expression, records=None):
         try:
-            if isinstance(expression, CompoundExpression):
-                query = self._queryFromCompoundExpression(expression)
-                return succeed(self._recordsFromQuery(query))
+            query = self._queryFromCompoundExpression(expression)
+            return succeed(self._recordsFromQuery(query))
 
-            elif isinstance(expression, MatchExpression):
-                query = self._queryFromMatchExpression(expression)
-                return succeed(self._recordsFromQuery(query))
-
         except QueryNotSupportedError:
-            pass
+            return BaseDirectoryService.recordsFromCompoundExpression(
+                self, expression
+            )
 
-        return BaseDirectoryService.recordsFromExpression(
-            self, expression
-        )
 
-
     def _getUserRecord(self, username):
         """
         Fetch the OD record for a given user.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20140312/56d6d879/attachment.html>


More information about the calendarserver-changes mailing list