[CalendarServer-changes] [8922] CalendarServer/branches/users/gaya/ldapdirectorybacker/twistedcaldav
source_changes at macosforge.org
source_changes at macosforge.org
Thu Mar 22 12:14:49 PDT 2012
Revision: 8922
http://trac.macosforge.org/projects/calendarserver/changeset/8922
Author: gaya at apple.com
Date: 2012-03-22 12:14:48 -0700 (Thu, 22 Mar 2012)
Log Message:
-----------
VCardResource -> ABDirectoryQueryResult; vCardResourcesForAddressBookQuery -> doAddressBookQuery
Modified Paths:
--------------
CalendarServer/branches/users/gaya/ldapdirectorybacker/twistedcaldav/directory/ldapdirectorybacker.py
CalendarServer/branches/users/gaya/ldapdirectorybacker/twistedcaldav/directory/opendirectorybacker.py
CalendarServer/branches/users/gaya/ldapdirectorybacker/twistedcaldav/directory/test/test_opendirectorybacker.py
CalendarServer/branches/users/gaya/ldapdirectorybacker/twistedcaldav/directory/xmldirectorybacker.py
CalendarServer/branches/users/gaya/ldapdirectorybacker/twistedcaldav/method/report_addressbook_query.py
CalendarServer/branches/users/gaya/ldapdirectorybacker/twistedcaldav/method/report_multiget_common.py
Modified: CalendarServer/branches/users/gaya/ldapdirectorybacker/twistedcaldav/directory/ldapdirectorybacker.py
===================================================================
--- CalendarServer/branches/users/gaya/ldapdirectorybacker/twistedcaldav/directory/ldapdirectorybacker.py 2012-03-22 00:41:39 UTC (rev 8921)
+++ CalendarServer/branches/users/gaya/ldapdirectorybacker/twistedcaldav/directory/ldapdirectorybacker.py 2012-03-22 19:14:48 UTC (rev 8922)
@@ -39,7 +39,7 @@
from twistedcaldav.directory.ldapdirectory import LdapDirectoryService
import ldap
-from twistedcaldav.directory.opendirectorybacker import VCardResource, dsFilterFromAddressBookFilter, propertiesInAddressBookQuery
+from twistedcaldav.directory.opendirectorybacker import ABDirectoryQueryResult, dsFilterFromAddressBookFilter, propertiesInAddressBookQuery
class LdapDirectoryBackingService(LdapDirectoryService):
@@ -74,7 +74,7 @@
),
},
- "appleInternalServer":False, # does magic in VCardResource
+ "appleInternalServer":False, # does magic in ABDirectoryQueryResult
"maxQueryRecords":0, # max records returned
"fakeETag":True, # eTag is fake, otherwise it is md5(all attributes)
"generateSimpleUIDs":False, # if UID is faked, use simple method for generating
@@ -138,14 +138,14 @@
self.realmName = None # needed for super
- ### params for VCardResource()
+ ### params for ABDirectoryQueryResult()
self.fakeETag = fakeETag
self.generateSimpleUIDs = generateSimpleUIDs
self.appleInternalServer = appleInternalServer
super(LdapDirectoryBackingService, self).__init__(params)
- ### self.defaultNodeName used by VCardResource.
+ ### self.defaultNodeName used by ABDirectoryQueryResult.
# get this now once
hostname = getfqdn()
if hostname:
@@ -192,7 +192,7 @@
@inlineCallbacks
- def vCardResourcesForAddressBookQuery(self, addressBookFilter, addressBookQuery, maxResults ):
+ def doAddressBookQuery(self, addressBookFilter, addressBookQuery, maxResults ):
"""
Get vCards for a given addressBookFilter and addressBookQuery
"""
@@ -212,7 +212,7 @@
ldapAttrToDSAttrMap = queryMap["ldapAttrToDSAttrMap"]
allRecords, filterAttributes, dsFilter = dsFilterFromAddressBookFilter( addressBookFilter, vcardPropToLdapAttrMap );
- self.log_debug("vCardResourcesForAddressBookQuery: rdn=%s LDAP allRecords=%s, filterAttributes=%s, query=%s" % (rdn, allRecords, filterAttributes, "None" if dsFilter is None else dsFilter.generate(),))
+ self.log_debug("doAddressBookQuery: rdn=%s LDAP allRecords=%s, filterAttributes=%s, query=%s" % (rdn, allRecords, filterAttributes, "None" if dsFilter is None else dsFilter.generate(),))
if allRecords:
@@ -224,7 +224,7 @@
if not clear:
queryAttributes = self._ldapAttributesForAddressBookQuery( addressBookQuery, ldapAttrToDSAttrMap )
attributes = filterAttributes + queryAttributes if queryAttributes else None
- self.log_debug("vCardResourcesForAddressBookQuery: attributes=%s, queryAttributes=%s" % (attributes, queryAttributes,))
+ self.log_debug("doAddressBookQuery: attributes=%s, queryAttributes=%s" % (attributes, queryAttributes,))
#get all ldap attributes -- for debug
if queryMap.get("getAllAttributes"):
@@ -245,11 +245,11 @@
# can't resist also using a timeout, 1 sec per requested record for now
timeout = maxRecords
- self.log_debug("vCardResourcesForAddressBookQuery:LDAP query base=%s and filter=%s and attributes=%s timeout=%s resultLimit=%s" % (ldap.dn.dn2str(base), filterstr, attributes, timeout, maxRecords))
+ self.log_debug("doAddressBookQuery:LDAP query base=%s and filter=%s and attributes=%s timeout=%s resultLimit=%s" % (ldap.dn.dn2str(base), filterstr, attributes, timeout, maxRecords))
ldapSearchResult = (yield self.timedSearch(ldap.dn.dn2str(base), ldap.SCOPE_SUBTREE, filterstr=filterstr, attrlist=attributes, timeoutSeconds=timeout, resultLimit=maxRecords))
- self.log_debug("vCardResourcesForAddressBookQuery: ldapSearchResult=%s" % (ldapSearchResult,))
+ self.log_debug("doAddressBookQuery: ldapSearchResult=%s" % (ldapSearchResult,))
for dn, ldapAttributes in ldapSearchResult:
#dn = normalizeDNstr(dn)
@@ -274,7 +274,7 @@
for dsAttributeName in dsAttributeNames:
# base64 encode binary attributes
- if dsAttributeName in VCardResource.binaryDSAttributeStrs:
+ if dsAttributeName in ABDirectoryQueryResult.binaryDSAttributeStrs:
ldapAttributeValues = [attr.encode('base64') for attr in ldapAttributeValues]
# add to dsRecordAttributes
@@ -282,16 +282,16 @@
dsRecordAttributes[dsAttributeName] = list()
dsRecordAttributes[dsAttributeName] = list(set(dsRecordAttributes[dsAttributeName] + ldapAttributeValues))
- self.log_debug("vCardResourcesForAddressBookQuery: dsRecordAttributes[%s] = %s" % (dsAttributeName, dsRecordAttributes[dsAttributeName],))
+ self.log_debug("doAddressBookQuery: dsRecordAttributes[%s] = %s" % (dsAttributeName, dsRecordAttributes[dsAttributeName],))
# get a record for dsRecordAttributes
- dsRecord = VCardResource(self.directoryBackedAddressBook, dsRecordAttributes, defaultNodeName=None, generateSimpleUIDs=self.generateSimpleUIDs, appleInternalServer=self.appleInternalServer)
+ dsRecord = ABDirectoryQueryResult(self.directoryBackedAddressBook, dsRecordAttributes, defaultNodeName=None, generateSimpleUIDs=self.generateSimpleUIDs, appleInternalServer=self.appleInternalServer)
vCardText = dsRecord.vCardText()
except:
traceback.print_exc()
self.log_info("Could not get vcard for ds record %s" % (dsRecord,))
else:
- self.log_debug("vCardResourcesForAddressBookQuery: VCard text =\n%s" % (vCardText, ))
+ self.log_debug("doAddressBookQuery: VCard text =\n%s" % (vCardText, ))
queryRecords.append(dsRecord)
# only get requested number of record results
Modified: CalendarServer/branches/users/gaya/ldapdirectorybacker/twistedcaldav/directory/opendirectorybacker.py
===================================================================
--- CalendarServer/branches/users/gaya/ldapdirectorybacker/twistedcaldav/directory/opendirectorybacker.py 2012-03-22 00:41:39 UTC (rev 8921)
+++ CalendarServer/branches/users/gaya/ldapdirectorybacker/twistedcaldav/directory/opendirectorybacker.py 2012-03-22 19:14:48 UTC (rev 8922)
@@ -20,7 +20,7 @@
"""
__all__ = [
- "OpenDirectoryBackingService", "VCardResource",
+ "OpenDirectoryBackingService", "ABDirectoryQueryResult",
]
import traceback
@@ -160,17 +160,17 @@
# filter allows attributes, but make sure there are a minimum of attributes for functionality
if allowedAttributes:
self.allowedDSQueryAttributes = sorted(list(set(
- [attr for attr in VCardResource.allDSQueryAttributes
+ [attr for attr in ABDirectoryQueryResult.allDSQueryAttributes
if (isinstance(attr, str) and attr in allowedAttributes) or
(isinstance(attr, tuple) and attr[0] in allowedAttributes)] +
- VCardResource.dsqueryAttributesForProperty.get("X-INTERNAL-REQUIRED")
+ ABDirectoryQueryResult.dsqueryAttributesForProperty.get("X-INTERNAL-REQUIRED")
)))
- if (self.allowedDSQueryAttributes != VCardResource.allDSQueryAttributes):
+ if (self.allowedDSQueryAttributes != ABDirectoryQueryResult.allDSQueryAttributes):
self.log_info("Allowed DS query attributes = %r" % (self.allowedDSQueryAttributes, ))
else:
- self.allowedDSQueryAttributes = VCardResource.allDSQueryAttributes
+ self.allowedDSQueryAttributes = ABDirectoryQueryResult.allDSQueryAttributes
- #self.returnedAttributes = VCardResource.allDSQueryAttributes
+ #self.returnedAttributes = ABDirectoryQueryResult.allDSQueryAttributes
self.returnedAttributes = self.allowedDSQueryAttributes
@@ -232,7 +232,7 @@
self._dsLocalRecords = []
for (recordShortName, value) in results: #@UnusedVariable
- record = VCardResource(self.directoryBackedAddressBook, value, "/Local/Default")
+ record = ABDirectoryQueryResult(self.directoryBackedAddressBook, value, "/Local/Default")
if self.ignoreSystemRecords:
# remove system users and people
@@ -269,8 +269,8 @@
@inlineCallbacks
def _getDirectoryRecords(self, query=None, attributes=None, maxRecords=0 ):
"""
- Get a list of filtered VCardResource for the given query with the given attributes.
- query == None gets all records. attribute == None gets VCardResource.allDSQueryAttributes
+ Get a list of filtered ABDirectoryQueryResult for the given query with the given attributes.
+ query == None gets all records. attribute == None gets ABDirectoryQueryResult.allDSQueryAttributes
"""
limited = False
queryResults = (yield self._queryDirectory(query, attributes, maxRecords ))
@@ -285,7 +285,7 @@
for (recordShortName, value) in queryResults: #@UnusedVariable
- record = VCardResource(self.directoryBackedAddressBook, value, defaultNodeName=self.defaultNodeName,
+ record = ABDirectoryQueryResult(self.directoryBackedAddressBook, value, defaultNodeName=self.defaultNodeName,
generateSimpleUIDs=self.generateSimpleUIDs,
addDSAttrXProperties=self.addDSAttrXProperties,
appleInternalServer=self.appleInternalServer,
@@ -415,21 +415,21 @@
propertyNames.append("X-INTERNAL-MINIMUM-VCARD-PROPERTIES") # these properties are required to make a vCard
queryAttributes = []
for prop in propertyNames:
- if prop in VCardResource.dsqueryAttributesForProperty:
- #print("adding attributes %r" % VCardResource.dsqueryAttributesForProperty.get(prop))
- queryAttributes += VCardResource.dsqueryAttributesForProperty.get(prop)
+ if prop in ABDirectoryQueryResult.dsqueryAttributesForProperty:
+ #print("adding attributes %r" % ABDirectoryQueryResult.dsqueryAttributesForProperty.get(prop))
+ queryAttributes += ABDirectoryQueryResult.dsqueryAttributesForProperty.get(prop)
return list(set(queryAttributes).intersection(set(self.returnedAttributes)))
@inlineCallbacks
- def vCardResourcesForAddressBookQuery(self, addressBookFilter, addressBookQuery, maxResults ):
+ def doAddressBookQuery(self, addressBookFilter, addressBookQuery, maxResults ):
"""
Get vCards for a given addressBookFilter and addressBookQuery
"""
- allRecords, filterAttributes, dsFilter = dsFilterFromAddressBookFilter( addressBookFilter, vcardPropToLdapAttrMap=VCardResource.dsqueryAttributesForProperty, allowedAttributes=self.allowedDSQueryAttributes );
+ allRecords, filterAttributes, dsFilter = dsFilterFromAddressBookFilter( addressBookFilter, vcardPropToLdapAttrMap=ABDirectoryQueryResult.dsqueryAttributesForProperty, allowedAttributes=self.allowedDSQueryAttributes );
#print("allRecords = %s, query = %s" % (allRecords, "None" if dsFilter is None else dsFilter.generate(),))
# testing:
@@ -644,13 +644,13 @@
# special case UID's formed from node and record name
if propFilter.filter_name == "UID":
matchString = matchStrings[0]
- seperatorIndex = matchString.find(VCardResource.peopleUIDSeparator)
+ seperatorIndex = matchString.find(ABDirectoryQueryResult.peopleUIDSeparator)
if seperatorIndex > 1:
- recordNameStart = seperatorIndex + len(VCardResource.peopleUIDSeparator)
+ recordNameStart = seperatorIndex + len(ABDirectoryQueryResult.peopleUIDSeparator)
else:
- seperatorIndex = matchString.find(VCardResource.userUIDSeparator)
+ seperatorIndex = matchString.find(ABDirectoryQueryResult.userUIDSeparator)
if seperatorIndex > 1:
- recordNameStart = seperatorIndex + len(VCardResource.userUIDSeparator)
+ recordNameStart = seperatorIndex + len(ABDirectoryQueryResult.userUIDSeparator)
else:
recordNameStart = sys.maxint
@@ -702,7 +702,7 @@
# get attribute strings from dsqueryAttributesForProperty list
- #queryAttributes = list(set(VCardResource.dsqueryAttributesForProperty.get(propFilter.filter_name, [])).intersection(set(self.allowedDSQueryAttributes)))
+ #queryAttributes = list(set(ABDirectoryQueryResult.dsqueryAttributesForProperty.get(propFilter.filter_name, [])).intersection(set(self.allowedDSQueryAttributes)))
queryAttributes = vcardPropToLdapAttrMap.get(propFilter.filter_name, [])
if isinstance(queryAttributes, str):
queryAttributes = [queryAttributes,]
@@ -718,7 +718,7 @@
stringAttrStrs.append(attr)
allAttrStrings = stringAttrStrs + binaryAttrStrs
- constant = VCardResource.constantProperties.get(propFilter.filter_name)
+ constant = ABDirectoryQueryResult.constantProperties.get(propFilter.filter_name)
if not constant and not allAttrStrings:
return (False, [], [])
@@ -807,9 +807,9 @@
-class VCardResource(DAVPropertyMixIn, LoggingMixIn):
+class ABDirectoryQueryResult(DAVPropertyMixIn, LoggingMixIn):
"""
- Open Directory implementation of L{IDirectoryRecord}.
+ Result from ab query report or multiget on directory
"""
# od attributes that may contribute to vcard properties
@@ -999,7 +999,7 @@
#clean attributes
self.attributes = {}
for key, values in recordAttributes.items():
- if key in VCardResource.stringDSAttributeStrs:
+ if key in ABDirectoryQueryResult.stringDSAttributeStrs:
if isinstance(values, list):
self.attributes[key] = [removeControlChars(val).decode("utf8") for val in values]
else:
@@ -1019,9 +1019,9 @@
nodeUUIDStr = "%x" % abs(hash(node))
nameUUIDStr = "".join(self.firstValueForAttribute(dsattributes.kDSNAttrRecordName).encode("utf8").encode("base64").split("\n"))
if self.firstValueForAttribute(dsattributes.kDSNAttrRecordType) != dsattributes.kDSStdRecordTypePeople:
- guid = VCardResource.userUIDSeparator.join([nodeUUIDStr, nameUUIDStr,])
+ guid = ABDirectoryQueryResult.userUIDSeparator.join([nodeUUIDStr, nameUUIDStr,])
else:
- guid = VCardResource.peopleUIDSeparator.join([nodeUUIDStr, nameUUIDStr,])
+ guid = ABDirectoryQueryResult.peopleUIDSeparator.join([nodeUUIDStr, nameUUIDStr,])
self.attributes[dsattributes.kDS1AttrGeneratedUID] = guid
self.guid = guid
@@ -1179,13 +1179,13 @@
self.log_error("addPropertiesAndLabelsForPrefixedAttribute(): Trouble parsing attribute %s, with value \"%s\". Error = %s" % (attrType, attrValue, e,))
- #print("VCardResource.vCard")
+ #print("ABDirectoryQueryResult.vCard")
# create vCard
vcard = Component("VCARD")
groupCount = [0]
# add constant properties - properties that are the same regardless of the record attributes
- for key, value in VCardResource.constantProperties.items():
+ for key, value in ABDirectoryQueryResult.constantProperties.items():
vcard.addProperty(Property(key, value))
# 3.1 IDENTIFICATION TYPES http://tools.ietf.org/html/rfc2426#section-3.1
@@ -1619,25 +1619,25 @@
namespace, name = qname
- #print("VCardResource.readProperty: qname = %s" % (qname, ))
+ #print("ABDirectoryQueryResult.readProperty: qname = %s" % (qname, ))
if namespace == dav_namespace:
if name == "resourcetype":
result = davxml.ResourceType.empty #@UndefinedVariable
- #print("VCardResource.readProperty: qname = %s, result = %s" % (qname, result))
+ #print("ABDirectoryQueryResult.readProperty: qname = %s, result = %s" % (qname, result))
return result
elif name == "getetag":
result = davxml.GETETag( ETag(hashlib.md5(self.vCardText()).hexdigest()).generate() )
- #print("VCardResource.readProperty: qname = %s, result = %s" % (qname, result))
+ #print("ABDirectoryQueryResult.readProperty: qname = %s, result = %s" % (qname, result))
return result
elif name == "getcontenttype":
mimeType = MimeType('text', 'vcard', {})
result = davxml.GETContentType(generateContentType(mimeType))
- #print("VCardResource.readProperty: qname = %s, result = %s" % (qname, result))
+ #print("ABDirectoryQueryResult.readProperty: qname = %s, result = %s" % (qname, result))
return result
elif name == "getcontentlength":
result = davxml.GETContentLength.fromString(str(len(self.vCardText())))
- #print("VCardResource.readProperty: qname = %s, result = %s" % (qname, result))
+ #print("ABDirectoryQueryResult.readProperty: qname = %s, result = %s" % (qname, result))
return result
elif name == "getlastmodified":
if self.vCard().hasProperty("REV"):
@@ -1655,7 +1655,7 @@
t = modDatetime.time()
modDatetimeNoTZ = datetime.datetime(d.year, d.month, d.day, t.hour, t.minute, t.second, t.microsecond, None)
result = davxml.GETLastModified.fromDate(modDatetimeNoTZ)
- #print("VCardResource.readProperty: qname = %s, result = %s" % (qname, result))
+ #print("ABDirectoryQueryResult.readProperty: qname = %s, result = %s" % (qname, result))
return result
elif name == "creationdate":
creationDateString = self.isoDateStringForDateAttribute(dsattributes.kDS1AttrCreationTimestamp)
@@ -1666,22 +1666,22 @@
else:
creationDatetime = datetime.datetime.utcnow()
result = davxml.CreationDate.fromDate(creationDatetime)
- #print("VCardResource.readProperty: qname = %s, result = %s" % (qname, result))
+ #print("ABDirectoryQueryResult.readProperty: qname = %s, result = %s" % (qname, result))
return result
elif name == "displayname":
# AddressBook.app uses N. Use FN or UID instead?
result = davxml.DisplayName.fromString(self.vCard().propertyValue("N"))
- #print("VCardResource.readProperty: qname = %s, result = %s" % (qname, result))
+ #print("ABDirectoryQueryResult.readProperty: qname = %s, result = %s" % (qname, result))
return result
elif namespace == twisted_dav_namespace:
- return super(VCardResource, self).readProperty(property, request)
+ return super(ABDirectoryQueryResult, self).readProperty(property, request)
#return DAVPropertyMixIn.readProperty(self, property, request)
return self._directoryBackedAddressBook.readProperty(property, request)
def listProperties(self, request):
- #print("VCardResource.listProperties()")
+ #print("ABDirectoryQueryResult.listProperties()")
qnames = set(self.liveProperties())
# Add dynamic live properties that exist
@@ -1690,7 +1690,7 @@
(dav_namespace, "quota-used-bytes" ),
)
for dqname in dynamicLiveProperties:
- #print("VCardResource.listProperties: removing dqname=%s" % (dqname,))
+ #print("ABDirectoryQueryResult.listProperties: removing dqname=%s" % (dqname,))
qnames.remove(dqname)
for qname in self.deadProperties().list():
@@ -1698,7 +1698,7 @@
#print("listProperties: adding qname=%s" % (qname,))
qnames.add(qname)
- #for qn in qnames: print("VCardResource.listProperties: qn=%s" % (qn,))
+ #for qn in qnames: print("ABDirectoryQueryResult.listProperties: qn=%s" % (qn,))
yield qnames
Modified: CalendarServer/branches/users/gaya/ldapdirectorybacker/twistedcaldav/directory/test/test_opendirectorybacker.py
===================================================================
--- CalendarServer/branches/users/gaya/ldapdirectorybacker/twistedcaldav/directory/test/test_opendirectorybacker.py 2012-03-22 00:41:39 UTC (rev 8921)
+++ CalendarServer/branches/users/gaya/ldapdirectorybacker/twistedcaldav/directory/test/test_opendirectorybacker.py 2012-03-22 19:14:48 UTC (rev 8922)
@@ -14,7 +14,7 @@
# limitations under the License.
##
-from twistedcaldav.directory.opendirectorybacker import VCardResource
+from twistedcaldav.directory.opendirectorybacker import ABDirectoryQueryResult
from twistedcaldav.test.util import TestCase
class VCardResourceTestCase(TestCase):
@@ -22,7 +22,7 @@
def test_multiplePhoneNumbersAndEmailAddresses(self):
attributes={u'dsAttrTypeStandard:AppleMetaRecordName': ['uid=odtestamanda,cn=users,dc=dalek,dc=example,dc=com'], u'dsAttrTypeStandard:ModificationTimestamp': '20111017170937Z', u'dsAttrTypeStandard:PhoneNumber': ['408 555-1212', '415 555-1212'], u'dsAttrTypeStandard:RecordType': ['dsRecTypeStandard:Users'], u'dsAttrTypeStandard:AppleMetaNodeLocation': ['/LDAPv3/127.0.0.1'], u'dsAttrTypeStandard:RecordName': ['odtestamanda'], u'dsAttrTypeStandard:FirstName': 'Amanda', u'dsAttrTypeStandard:GeneratedUID': '9DC04A70-E6DD-11DF-9492-0800200C9A66', u'dsAttrTypeStandard:LastName': 'Test', u'dsAttrTypeStandard:CreationTimestamp': '20110927182945Z', u'dsAttrTypeStandard:EMailAddress': ['amanda at example.com', 'second at example.com'], u'dsAttrTypeStandard:RealName': 'Amanda Test'}
- vcardresource = VCardResource(None, attributes)
+ vcardresource = ABDirectoryQueryResult(None, attributes)
vcard = vcardresource.vCard()
properties = set([prop.value() for prop in vcard.properties("TEL")])
self.assertEquals(properties, set(["408 555-1212", "415 555-1212"]))
Modified: CalendarServer/branches/users/gaya/ldapdirectorybacker/twistedcaldav/directory/xmldirectorybacker.py
===================================================================
--- CalendarServer/branches/users/gaya/ldapdirectorybacker/twistedcaldav/directory/xmldirectorybacker.py 2012-03-22 00:41:39 UTC (rev 8921)
+++ CalendarServer/branches/users/gaya/ldapdirectorybacker/twistedcaldav/directory/xmldirectorybacker.py 2012-03-22 19:14:48 UTC (rev 8922)
@@ -38,7 +38,7 @@
from twistedcaldav.directory.directory import DirectoryRecord
from twistedcaldav.directory.xmlfile import XMLDirectoryService
-from twistedcaldav.directory.opendirectorybacker import VCardResource, dsFilterFromAddressBookFilter
+from twistedcaldav.directory.opendirectorybacker import ABDirectoryQueryResult, dsFilterFromAddressBookFilter
from calendarserver.platform.darwin.od import dsattributes, dsquery
@@ -121,7 +121,7 @@
super(XMLDirectoryBackingService, self).__init__(params)
- ### self.defaultNodeName used by VCardResource.
+ ### self.defaultNodeName used by ABDirectoryQueryResult.
# get this now once
hostname = getfqdn()
if hostname:
@@ -151,7 +151,7 @@
@inlineCallbacks
- def vCardResourcesForAddressBookQuery(self, addressBookFilter, addressBookQuery, maxResults ):
+ def doAddressBookQuery(self, addressBookFilter, addressBookQuery, maxResults ):
"""
Get vCards for a given addressBookFilter and addressBookQuery
"""
@@ -171,7 +171,7 @@
dirRecordAttrToDSAttrMap = queryMap["dirRecordAttrToDSAttrMap"]
allRecords, filterAttributes, dsFilter = dsFilterFromAddressBookFilter( addressBookFilter, vcardPropToDirRecordAttrMap );
- self.log_debug("vCardResourcesForAddressBookQuery: queryType=\"%s\" LDAP allRecords=%s, filterAttributes=%s, query=%s" % (queryType, allRecords, filterAttributes, "None" if dsFilter is None else dsFilter.generate(),))
+ self.log_debug("doAddressBookQuery: queryType=\"%s\" LDAP allRecords=%s, filterAttributes=%s, query=%s" % (queryType, allRecords, filterAttributes, "None" if dsFilter is None else dsFilter.generate(),))
if allRecords:
@@ -240,16 +240,16 @@
# walk the expression tree
xmlDirectoryRecords = (yield recordsForDSFilter(dsFilter, queryType))
- self.log_debug("vCardResourcesForAddressBookQuery: #xmlDirectoryRecords %s" % (len(xmlDirectoryRecords) if xmlDirectoryRecords is not None else xmlDirectoryRecords, ))
+ self.log_debug("doAddressBookQuery: #xmlDirectoryRecords %s" % (len(xmlDirectoryRecords) if xmlDirectoryRecords is not None else xmlDirectoryRecords, ))
if xmlDirectoryRecords is None:
xmlDirectoryRecords = (yield self.listRecords(queryType))
- self.log_debug("vCardResourcesForAddressBookQuery: all #xmlDirectoryRecords %s" % (len(xmlDirectoryRecords), ))
+ self.log_debug("doAddressBookQuery: all #xmlDirectoryRecords %s" % (len(xmlDirectoryRecords), ))
# apply limit
if len(xmlDirectoryRecords) > maxRecords:
xmlDirectoryRecords = set(list(xmlDirectoryRecords)[:maxRecords])
- self.log_debug("vCardResourcesForAddressBookQuery: #xmlDirectoryRecords after max %s" % (len(xmlDirectoryRecords), ))
+ self.log_debug("doAddressBookQuery: #xmlDirectoryRecords after max %s" % (len(xmlDirectoryRecords), ))
for xmlDirectoryRecord in xmlDirectoryRecords:
@@ -267,14 +267,14 @@
dsRecord = None
dsRecordAttributes = dsRecordAttributesFromDirectoryRecord( xmlDirectoryRecord )
try:
- dsRecord = VCardResource(self.directoryBackedAddressBook, dsRecordAttributes,)
+ dsRecord = ABDirectoryQueryResult(self.directoryBackedAddressBook, dsRecordAttributes,)
vCardText = dsRecord.vCardText()
except:
traceback.print_exc()
self.log_info("Could not get vcard for ds record %s" % (dsRecord,))
else:
- self.log_debug("vCardResourcesForAddressBookQuery: VCard text =\n%s" % (vCardText, ))
+ self.log_debug("doAddressBookQuery: VCard text =\n%s" % (vCardText, ))
queryRecords.append(dsRecord)
Modified: CalendarServer/branches/users/gaya/ldapdirectorybacker/twistedcaldav/method/report_addressbook_query.py
===================================================================
--- CalendarServer/branches/users/gaya/ldapdirectorybacker/twistedcaldav/method/report_addressbook_query.py 2012-03-22 00:41:39 UTC (rev 8921)
+++ CalendarServer/branches/users/gaya/ldapdirectorybacker/twistedcaldav/method/report_addressbook_query.py 2012-03-22 19:14:48 UTC (rev 8922)
@@ -159,8 +159,8 @@
def queryDirectoryBackedAddressBook(directoryBackedAddressBook, addressBookFilter):
"""
"""
- resources, limited[0] = (yield directoryBackedAddressBook.directory.vCardResourcesForAddressBookQuery( addressBookFilter, query, max_number_of_results[0] ))
- for vCardResource in resources:
+ results, limited[0] = (yield directoryBackedAddressBook.directory.doAddressBookQuery( addressBookFilter, query, max_number_of_results[0] ))
+ for vCardResource in results:
# match against original filter
if filter.match((yield vCardResource.vCard())):
Modified: CalendarServer/branches/users/gaya/ldapdirectorybacker/twistedcaldav/method/report_multiget_common.py
===================================================================
--- CalendarServer/branches/users/gaya/ldapdirectorybacker/twistedcaldav/method/report_multiget_common.py 2012-03-22 00:41:39 UTC (rev 8921)
+++ CalendarServer/branches/users/gaya/ldapdirectorybacker/twistedcaldav/method/report_multiget_common.py 2012-03-22 19:14:48 UTC (rev 8922)
@@ -275,7 +275,7 @@
#get vCards and filter
limit = config.DirectoryAddressBook.MaxQueryResults
- vCardResources, limited = (yield self.directory.vCardResourcesForAddressBookQuery( addressBookFilter, propertyreq, limit ))
+ results, limited = (yield self.directory.doAddressBookQuery( addressBookFilter, propertyreq, limit ))
if limited:
log.err("Too many results in multiget report: %d" % len(resources))
raise HTTPError(ErrorResponse(
@@ -286,7 +286,7 @@
for href in valid_hrefs:
matchingResource = None
- for vCardResource in vCardResources:
+ for vCardResource in results:
if href == vCardResource.hRef(): # might need to compare urls instead - also case sens ok?
matchingResource = vCardResource
break;
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20120322/cef08928/attachment-0001.html>
More information about the calendarserver-changes
mailing list