On Tue, Mar 27, 2007 at 12:45:13PM +0100, Richard W.M. Jones wrote:
Following on from this thread:
https://www.redhat.com/archives/libvir-list/2007-March/thread.html#00341
The first attachment is a patch which changes the generated Python
bindings so that they always raise an exception when an underlying error
occurs in the C libvirt library.
The second attachment is for information only (not to be applied) - it
shows the differences in the generated file libvirtclass.py. I have
checked each of these changes by hand against both the libvirt.c
interface description and the C implementation of the Python bindings
(libvir.c and libvirt-py.c), and each change seems correct.
I have _not_ tested this against virt-manager. It is quite possible
that virt-manager will cease to work if it wasn't checking the return
values from affected functions carefully. I'll check this later today
and supply a patch (to virt-manager) if necessary.
I have some additional questions about the Python bindings, but I'll put
those in a separate thread.
That makes sense, my only worry is about the effect in applications, but
it's really cleaner from a Python viewpoint to raise exceptions there, and
fix application code when it's not too late. I guess someone using for example
RHEL5 and updating their libvirt would also update python-virtinst and
virt-manager accordingly.
Let's apply this, the earlier it's fixed the smaller the collateral damages !
thanks a lot, especially for going though the rather tortuous generator.py
code ...
Daniel
--
Red Hat Virtualization group
http://redhat.com/virtualization/
Daniel Veillard | virtualization library
http://libvirt.org/
veillard(a)redhat.com | libxml GNOME XML XSLT toolkit
http://xmlsoft.org/
http://veillard.com/ | Rpmfind RPM search engine
http://rpmfind.net/