[CalendarServer-changes] [8666] CalendarServer/trunk/calendarserver/platform/darwin/od/opendirectory .py

source_changes at macosforge.org source_changes at macosforge.org
Mon Feb 13 14:01:00 PST 2012


Revision: 8666
          http://trac.macosforge.org/projects/calendarserver/changeset/8666
Author:   sagen at apple.com
Date:     2012-02-13 14:01:00 -0800 (Mon, 13 Feb 2012)
Log Message:
-----------
Pull code and description out of NSErrors and store them in e.message tuple to match what PyOpenDirectory did.

Modified Paths:
--------------
    CalendarServer/trunk/calendarserver/platform/darwin/od/opendirectory.py

Modified: CalendarServer/trunk/calendarserver/platform/darwin/od/opendirectory.py
===================================================================
--- CalendarServer/trunk/calendarserver/platform/darwin/od/opendirectory.py	2012-02-13 18:20:24 UTC (rev 8665)
+++ CalendarServer/trunk/calendarserver/platform/darwin/od/opendirectory.py	2012-02-13 22:01:00 UTC (rev 8666)
@@ -108,7 +108,7 @@
     details, error = record.recordDetailsForAttributes_error_(None, None)
     if error:
         log.error(error)
-        raise ODError(error)
+        raise ODNSError(error)
     result = {}
     for key, value in details.iteritems():
         encoding = encodings.get(key, None)
@@ -180,7 +180,7 @@
             break
 
     log.error(error)
-    raise ODError(error)
+    raise ODNSError(error)
 
 
 
@@ -213,7 +213,7 @@
             break
 
     log.error(error)
-    raise ODError(error)
+    raise ODNSError(error)
 
 
 @autoPooled
@@ -262,7 +262,7 @@
             break
 
     log.error(error)
-    raise ODError(error)
+    raise ODNSError(error)
 
 
 @autoPooled
@@ -316,7 +316,7 @@
             break
 
     log.error(error)
-    raise ODError(error)
+    raise ODNSError(error)
 
 
 @autoPooled
@@ -369,7 +369,7 @@
             break
 
     log.error(error)
-    raise ODError(error)
+    raise ODNSError(error)
 
 
 def getUserRecord(directory, user):
@@ -401,7 +401,7 @@
             break
 
     log.error(error)
-    raise ODError(error)
+    raise ODNSError(error)
 
 
 @autoPooled
@@ -417,7 +417,7 @@
     """
     record = getUserRecord(directory, user)
     if record is None:
-        raise ODError("Record not found")
+        raise ODError("Record not found", 0)
 
     tries = NUM_TRIES
     while tries:
@@ -445,7 +445,7 @@
             break
 
     log.error(error)
-    raise ODError(error)
+    raise ODNSError(error)
 
 
 @autoPooled
@@ -463,7 +463,7 @@
     """
     record = getUserRecord(directory, user)
     if record is None:
-        raise ODError("Record not found")
+        raise ODError("Record not found", 0)
 
     tries = NUM_TRIES
     while tries:
@@ -496,10 +496,24 @@
             break
 
     log.error(error)
-    raise ODError(error)
+    raise ODNSError(error)
 
 
 class ODError(Exception):
     """
     Exceptions from DirectoryServices errors.
     """
+    def __init__(self, msg, code):
+        self.message = (msg, code)
+
+    def __str__(self):
+        return "<OD Error %s %d>" % (self.message[0], self.message[1])
+
+
+class ODNSError(ODError):
+    """
+    Converts an NSError.
+    """
+    def __init__(self, error):
+        super(ODNSError, self).__init__(error.localizedDescription(),
+            error.code())
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20120213/3cf6141c/attachment.html>


More information about the calendarserver-changes mailing list