Re: [PATCH] python: fix about some of python binding APIs don't raise and exception

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 03/01/2013 06:03 PM, Guannan Ren wrote:
For example:
  >>> dom.memoryStats()
  libvir: QEMU Driver error : Requested operation is not valid:\
          domain is not running

There are six such python API functions like so.
The root reason is that generator.py script checks the type of return
value of a python stub function defined in libvirt-api.xml or
libvirt-override-api.xml to see whether adding the raise clause or not
in python wrapper code in libvirt.py.

The type of return value is supposed to be C types.
For those stub functions which return python non-integer data type like
string, list, tuple, dictionary, the existing type in functions varies
from each other which leads problem like this.

Currently, in generator.py, it maintains a buggy whitelist for stub functions
returning a list type. I think it is easy to forget adding new function name
in the whitelist.

This patch makes the value of type consistent with C type "char *"
in libvirt-override-api.xml. For python, any of types could be printed
as string, so I choose "char *"in this case. And the comment in xml
could explain it when adding new function definition.

       <function name='virNodeGetCPUStats' file='python'>
         ...
  -      <return type='virNodeCPUStats' info='...'/>
  +      <return type='char *' info='...'/>
         ...
       </function>
---
  python/generator.py             |  10 ++--
  python/libvirt-override-api.xml | 116 +++++++++++++++++++++-------------------
  2 files changed, 66 insertions(+), 60 deletions(-)



    Any guy would like to review this bug-fixing patch?
    Thanks in advance.

    Guannan

--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list


[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]