Revision
1594
Author
wsanchez@apple.com
Date
2007-06-06 19:18:02 -0700 (Wed, 06 Jun 2007)

Log Message

Deal with None query in case of no computer record.

Modified Paths

Diff

Modified: CalendarServer/trunk/twistedcaldav/directory/appleopendirectory.py (1593 => 1594)


--- CalendarServer/trunk/twistedcaldav/directory/appleopendirectory.py	2007-06-07 02:10:52 UTC (rev 1593)
+++ CalendarServer/trunk/twistedcaldav/directory/appleopendirectory.py	2007-06-07 02:18:02 UTC (rev 1594)
@@ -411,16 +411,18 @@
                                          % (recordType,))
 
         if self.requireComputerRecord:
-            cprecord = dsquery.match(dsattributes.kDSNAttrServicesLocator, self.servicetag, dsattributes.eDSStartsWith)
+            subquery = dsquery.match(dsattributes.kDSNAttrServicesLocator, self.servicetag, dsattributes.eDSStartsWith)
             if query:
-                query = dsquery.expression(dsquery.expression.AND, (cprecord, query))
+                query = dsquery.expression(dsquery.expression.AND, (subquery, query))
             else:
-                query = cprecord
+                query = subquery
             
         if shortName is not None:
-            query = dsquery.expression(dsquery.expression.AND,
-                (dsquery.match(dsattributes.kDSNAttrResourceType, shortName, dsattributes.eDSExact), query)
-            )
+            subquery = dsquery.match(dsattributes.kDSNAttrResourceType, shortName, dsattributes.eDSExact)
+            if query is None:
+                query = subquery
+            else:
+                query = dsquery.expression(dsquery.expression.AND, (subquery, query))
 
         records = {}