[CalendarServer-changes] [12972] twext/trunk/twext/who/index.py

source_changes at macosforge.org source_changes at macosforge.org
Wed Mar 19 16:26:39 PDT 2014


Revision: 12972
          http://trac.calendarserver.org//changeset/12972
Author:   wsanchez at apple.com
Date:     2014-03-19 16:26:39 -0700 (Wed, 19 Mar 2014)
Log Message:
-----------
listRecords raises a better error when recordType is unknown.

Modified Paths:
--------------
    twext/trunk/twext/who/index.py

Modified: twext/trunk/twext/who/index.py
===================================================================
--- twext/trunk/twext/who/index.py	2014-03-19 19:17:18 UTC (rev 12971)
+++ twext/trunk/twext/who/index.py	2014-03-19 23:26:39 UTC (rev 12972)
@@ -28,7 +28,7 @@
 from twisted.internet.defer import succeed, inlineCallbacks, returnValue
 
 from .util import ConstantsContainer, uniqueResult
-from .idirectory import FieldName as BaseFieldName
+from .idirectory import FieldName as BaseFieldName, DirectoryServiceError
 from .expression import MatchExpression, MatchType, MatchFlags
 from .directory import (
     DirectoryService as BaseDirectoryService,
@@ -364,9 +364,18 @@
 
 
     def listRecords(self, recordType):
-        records = []
-        for record in self.index[self.fieldName.recordType][recordType]:
-            records.append(record)
+        recordTypeIndexes = self.index[self.fieldName.recordType]
+
+        try:
+            records = recordTypeIndexes[recordType]
+        except KeyError:
+            import pdb; pdb.set_trace()
+            raise DirectoryServiceError(
+                "Record type {} is not one of the indexed record types "
+                "for service {}: {}"
+                .format(recordType, self, recordTypeIndexes.keys())
+            )
+
         return succeed(records)
 
 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20140319/59afe080/attachment.html>


More information about the calendarserver-changes mailing list