[CalendarServer-changes] [3097] CalendarServer/trunk/twistedcaldav/directory/appleopendirectory.py

source_changes at macosforge.org source_changes at macosforge.org
Wed Oct 1 11:40:28 PDT 2008


Revision: 3097
          http://trac.macosforge.org/projects/calendarserver/changeset/3097
Author:   sagen at apple.com
Date:     2008-10-01 11:40:28 -0700 (Wed, 01 Oct 2008)
Log Message:
-----------
Return existing records rather than synthesizing new ones

Modified Paths:
--------------
    CalendarServer/trunk/twistedcaldav/directory/appleopendirectory.py

Modified: CalendarServer/trunk/twistedcaldav/directory/appleopendirectory.py
===================================================================
--- CalendarServer/trunk/twistedcaldav/directory/appleopendirectory.py	2008-10-01 01:59:13 UTC (rev 3096)
+++ CalendarServer/trunk/twistedcaldav/directory/appleopendirectory.py	2008-10-01 18:40:28 UTC (rev 3097)
@@ -515,57 +515,15 @@
                     dsquery.expression(operand, expressions).generate(),
                     caseless,
                     recordType,
-                    [
-                        dsattributes.kDS1AttrGeneratedUID,
-                        dsattributes.kDS1AttrFirstName,
-                        dsattributes.kDS1AttrLastName,
-                        dsattributes.kDSNAttrEMailAddress,
-                        dsattributes.kDS1AttrDistinguishedName,
-                        dsattributes.kDSNAttrMetaNodeLocation,
-                    ]
+                    [ dsattributes.kDS1AttrGeneratedUID ]
                 )
                 self.log_info("Got back %d records from OD" % (len(results),))
                 for key, val in results.iteritems():
                     self.log_debug("OD result: %s %s" % (key, val))
-
-                    try:
-
-                        # Email field from OD can either be a string or a list
-                        emailAddresses = set()
-                        addrs = val.get(dsattributes.kDSNAttrEMailAddress, None)
-                        if isinstance(addrs, str):
-                            emailAddresses.add(addrs.lower())
-                        elif isinstance(addrs, list):
-                            for addr in addrs:
-                                emailAddresses.add(addr.lower())
-
-                        # TODO: Review this code...
-                        calendarUserAddresses = set()
-                        enabledForCalendaring = False
-                        if val.has_key(dsattributes.kDSNAttrEMailAddress):
-                            enabledForCalendaring = True
-                            calendarUserAddresses.add(val[dsattributes.kDSNAttrEMailAddress])
-                        rec = OpenDirectoryRecord(
-                            service = self,
-                            recordType = self._fromODRecordTypes[recordType],
-                            guid = val[dsattributes.kDS1AttrGeneratedUID],
-                            nodeName = val[dsattributes.kDSNAttrMetaNodeLocation],
-                            shortName = key,
-                            fullName = val.get(dsattributes.kDS1AttrDistinguishedName, ""),
-                            firstName = val.get(dsattributes.kDS1AttrFirstName, ""),
-                            lastName = val.get(dsattributes.kDS1AttrLastName, ""),
-                            emailAddresses = emailAddresses,
-                            calendarUserAddresses = calendarUserAddresses,
-                            autoSchedule = False,
-                            enabledForCalendaring = enabledForCalendaring,
-                            memberGUIDs = (),
-                            proxyGUIDs = (),
-                            readOnlyProxyGUIDs = (),
-                        )
+                    guid = val[dsattributes.kDS1AttrGeneratedUID]
+                    rec = self.recordWithGUID(guid)
+                    if rec:
                         yield rec
-                    except Exception, e:
-                        self.log_error("Failed to convert OD result into record: %s %s" % (val, e))
-                        raise
 
             except Exception, e:
                 self.log_error("OD search failed: %s" % (e,))
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20081001/a79663f2/attachment.html 


More information about the calendarserver-changes mailing list