Revision
3567
Author
cdaboo@apple.com
Date
2008-12-23 10:50:17 -0800 (Tue, 23 Dec 2008)

Log Message

Some record types don't support certain attributes. Don't allow that error to cause cache fault failure.

Modified Paths

Diff

Modified: CalendarServer/trunk/twistedcaldav/directory/appleopendirectory.py (3566 => 3567)


--- CalendarServer/trunk/twistedcaldav/directory/appleopendirectory.py	2008-12-22 20:22:10 UTC (rev 3566)
+++ CalendarServer/trunk/twistedcaldav/directory/appleopendirectory.py	2008-12-23 18:50:17 UTC (rev 3567)
@@ -307,8 +307,15 @@
                 if value in self._storage(recordType)[disabledKey]:
                     continue
 
-                self.reloadCache(recordType, lookup=(lookupKey, value,))
-                record = lookup()
+                try:
+                    self.reloadCache(recordType, lookup=(lookupKey, value,))
+                    record = lookup()
+                except opendirectory.ODError, e:
+                    if e.message[1] == -14140:
+                        # Unsupported attribute on record - don't fail
+                        record = None
+                    else:
+                        raise
 
                 if record is None:
                     self._storage(recordType)[disabledKey].add(value)