[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