[CalendarServer-changes] [13286] twext/trunk/twext/who/opendirectory/_service.py
source_changes at macosforge.org
source_changes at macosforge.org
Tue Apr 15 14:32:47 PDT 2014
Revision: 13286
http://trac.calendarserver.org//changeset/13286
Author: wsanchez at apple.com
Date: 2014-04-15 14:32:46 -0700 (Tue, 15 Apr 2014)
Log Message:
-----------
Add _buildQuery method.
Modified Paths:
--------------
twext/trunk/twext/who/opendirectory/_service.py
Modified: twext/trunk/twext/who/opendirectory/_service.py
===================================================================
--- twext/trunk/twext/who/opendirectory/_service.py 2014-04-15 21:31:50 UTC (rev 13285)
+++ twext/trunk/twext/who/opendirectory/_service.py 2014-04-15 21:32:46 UTC (rev 13286)
@@ -370,15 +370,8 @@
else:
matchType = ODMatchType.any.value
- query, error = ODQuery.queryWithNode_forRecordTypes_attribute_matchType_queryValues_returnAttributes_maximumResults_error_(
- self.node,
- (t.value for t in recordTypes),
- None,
- matchType,
- queryString,
- [a.value for a in ODAttribute.iterconstants()],
- 0,
- None
+ query, error = self._buildQuery(
+ recordTypes, matchType, queryString
)
if error:
@@ -423,9 +416,6 @@
else:
caseInsensitive = 0x0
- fetchAttributes = [a.value for a in ODAttribute.iterconstants()]
- maxResults = 0
-
# For OpenDirectory, use guid for uid:
if expression.fieldName is self.fieldName.uid:
expression.fieldName = self.fieldName.guid
@@ -469,15 +459,10 @@
else:
queryValue = unicode(expression.fieldValue)
- query, error = ODQuery.queryWithNode_forRecordTypes_attribute_matchType_queryValues_returnAttributes_maximumResults_error_(
- self.node,
+ query, error = self._buildQuery(
recordTypes,
- queryAttribute,
matchType | caseInsensitive,
- queryValue,
- fetchAttributes,
- maxResults,
- None
+ queryString
)
if error:
@@ -492,6 +477,22 @@
return query
+ def _buildQuery(self, recordTypes, matchType, queryString):
+ if not hasattr(self, "_odAttributes"):
+ self._odAttributes = [a.value for a in ODAttribute.iterconstants()]
+
+ return ODQuery.queryWithNode_forRecordTypes_attribute_matchType_queryValues_returnAttributes_maximumResults_error_(
+ self.node, # node
+ (t.value for t in recordTypes), # record types
+ None, # attribute
+ matchType, # matchType
+ queryString, # queryString
+ self._odAttributes, # return attributes
+ 0, # max results
+ None # error
+ )
+
+
def _recordsFromQuery(self, query):
"""
Executes a query and generates directory records from it.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20140415/c0361a40/attachment-0001.html>
More information about the calendarserver-changes
mailing list