]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
Use libvirt error message for python exceptions
authorDaniel P. Berrange <berrange@redhat.com>
Fri, 22 Aug 2008 10:50:18 +0000 (10:50 +0000)
committerDaniel P. Berrange <berrange@redhat.com>
Fri, 22 Aug 2008 10:50:18 +0000 (10:50 +0000)
ChangeLog
python/libvir.py

index 54644cd7de2eb566a9c0cabb7130ea8992025e5d..e13e72e01e7b850c14bca383ab99af0b758e9583 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Fri Aug 22 11:49:42 BST 2008 Daniel P. Berrange <berrange@redhat.com>
+
+       * python/libvir.py: Use libvirt error message as exception
+       message for improved diagnostics
+
 Fri Aug 22 10:30:42 CEST 2008 Jim Meyering <meyering@redhat.com>
 
        configure.in: link with -lpthread when necessary
index 784152abec8c985dd294a82822c575b6fda589b1..cf5e776987eeb971c978c6c192d5d97811ccafc6 100644 (file)
@@ -15,8 +15,7 @@ import types
 
 # The root of all libvirt errors.
 class libvirtError(Exception):
-    def __init__(self, msg, conn=None, dom=None, net=None, pool=None, vol=None):
-        Exception.__init__(self, msg)
+    def __init__(self, defmsg, conn=None, dom=None, net=None, pool=None, vol=None):
 
         if dom is not None:
             conn = dom._conn
@@ -28,9 +27,17 @@ class libvirtError(Exception):
             conn = vol._conn
 
         if conn is None:
-            self.err = virGetLastError()
+            err = virGetLastError()
+        else:
+            err = conn.virConnGetLastError()
+        if err is None:
+            msg = defmsg
         else:
-            self.err = conn.virConnGetLastError()
+            msg = err[2]
+
+        Exception.__init__(self, msg)
+
+        self.err = err
 
     def get_error_code(self):
         if self.err is None:
@@ -77,12 +84,6 @@ class libvirtError(Exception):
             return None
         return self.err[8]
 
-    def __str__(self):
-        if self.get_error_message() is None:
-            return Exception.__str__(self)
-        else:
-            return Exception.__str__(self) + " " + self.get_error_message()
-
 #
 # register the libvirt global error handler
 #