Hello community,

here is the log from the commit of package libvirt-python for openSUSE:Factory 
checked in at 2014-11-11 09:59:57
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libvirt-python (Old)
 and      /work/SRC/openSUSE:Factory/.libvirt-python.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "libvirt-python"

Changes:
--------
--- /work/SRC/openSUSE:Factory/libvirt-python/libvirt-python.changes    
2014-10-06 12:06:28.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.libvirt-python.new/libvirt-python.changes       
2014-11-11 10:16:01.000000000 +0100
@@ -1,0 +2,6 @@
+Mon Nov  3 16:29:33 MST 2014 - jfeh...@suse.com
+
+- Update to 1.2.10
+  - Add all new APIs and constants in libvirt 1.2.10
+
+-------------------------------------------------------------------

Old:
----
  libvirt-python-1.2.9.tar.gz
  libvirt-python-1.2.9.tar.gz.asc

New:
----
  libvirt-python-1.2.10.tar.gz
  libvirt-python-1.2.10.tar.gz.asc

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ libvirt-python.spec ++++++
--- /var/tmp/diff_new_pack.T3zjyx/_old  2014-11-11 10:16:02.000000000 +0100
+++ /var/tmp/diff_new_pack.T3zjyx/_new  2014-11-11 10:16:02.000000000 +0100
@@ -18,7 +18,7 @@
 
 Name:           libvirt-python
 Url:            http://libvirt.org/
-Version:        1.2.9
+Version:        1.2.10
 Release:        0
 Summary:        Library providing a simple virtualization API
 License:        LGPL-2.1+

++++++ libvirt-python-1.2.9.tar.gz -> libvirt-python-1.2.10.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libvirt-python-1.2.9/AUTHORS 
new/libvirt-python-1.2.10/AUTHORS
--- old/libvirt-python-1.2.9/AUTHORS    2014-10-01 11:00:41.000000000 +0200
+++ new/libvirt-python-1.2.10/AUTHORS   2014-11-03 07:36:13.000000000 +0100
@@ -262,6 +262,7 @@
    Daniel Veillard <veill...@redhat.com>
    Daniel Veillard <veill...@redhat.com>
    Diego Elio Pettenò <flamee...@gmail.com>
+   Dmitry Guryanov <dgurya...@parallels.com>
    Don Dugger <donald.d.dug...@intel.com>
    Doug Goldstein <car...@cardoe.com>
    Doug Goldstein <car...@cardoe.com>
@@ -438,6 +439,8 @@
    Laine Stump <la...@laine.org>
    Lei Li <li...@linux.vnet.ibm.com>
    Lei Li <li...@linux.vnet.ibm.com>
+   Luyao Huang <lhu...@redhat.com>
+   Luyao Huang <lhu...@redhat.com>
    Marcelo Cerri <mhce...@linux.vnet.ibm.com>
    Marian Neagul <mar...@info.uvt.ro>
    Mark McLoughlin <mar...@redhat.com>
@@ -453,6 +456,9 @@
    Martin Kletzander <mklet...@redhat.com>
    Martin Kletzander <mklet...@redhat.com>
    Martin Kletzander <mklet...@redhat.com>
+   Martin Kletzander <mklet...@redhat.com>
+   Martin Kletzander <mklet...@redhat.com>
+   Martin Kletzander <mklet...@redhat.com>
    MATSUDA Daiki <matsuda...@intellilink.co.jp>
    MATSUDA Daiki <matsuda...@intellilink.co.jp>
    Matthias Bolte <matthias.bo...@googlemail.com>
@@ -521,6 +527,12 @@
    Pavel Hrdina <phrd...@redhat.com>
    Pavel Hrdina <phrd...@redhat.com>
    Pavel Hrdina <phrd...@redhat.com>
+   Pavel Hrdina <phrd...@redhat.com>
+   Pavel Hrdina <phrd...@redhat.com>
+   Pavel Hrdina <phrd...@redhat.com>
+   Pavel Hrdina <phrd...@redhat.com>
+   Peter Krempa <pkre...@redhat.com>
+   Peter Krempa <pkre...@redhat.com>
    Peter Krempa <pkre...@redhat.com>
    Peter Krempa <pkre...@redhat.com>
    Peter Krempa <pkre...@redhat.com>
@@ -538,6 +550,7 @@
    Philipp Hahn <h...@univention.de>
    Philipp Hahn <h...@univention.de>
    Philipp Hahn <h...@univention.de>
+   Pradipta Kr. Banerjee <pradipta.baner...@gmail.com>
    Richard W.M. Jones <rjo...@redhat.com>
    Richard W.M. Jones <rjo...@redhat.com>
    Richard W.M. Jones <rjo...@redhat.com>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libvirt-python-1.2.9/ChangeLog 
new/libvirt-python-1.2.10/ChangeLog
--- old/libvirt-python-1.2.9/ChangeLog  2014-10-01 11:00:41.000000000 +0200
+++ new/libvirt-python-1.2.10/ChangeLog 2014-11-03 07:36:13.000000000 +0100
@@ -1,3 +1,125 @@
+2014-10-28 Dmitry Guryanov  <dgurya...@parallels.com>
+    
+    fix libvirt headers list
+    Since libvirt.h has been split out, generator.py
+    should be fixed accordingly. So add full list of header
+    files.
+    
+    
+    
+2014-10-22 Pavel Hrdina  <phrd...@redhat.com>
+    
+    virDomainBlockCopy: initialize flags to 0
+    An optional argument if not passed isn't modified by the
+    PyArg_ParseTuple function.
+    
+    
+    
+2014-10-22 Pavel Hrdina  <phrd...@redhat.com>
+    
+    flags cannot get right value for blockCopy function
+    When use blockCopy, flags cannot get a right value, because
+    PyArg_ParseTuple want to get 6 parameters and blockCopy only
+    pass 5. Flags will get a unpredictable value, this will make
+    the function fail with error:
+    
+    unsupported flags (0x7f6c) in function qemuDomainBlockCopy
+    
+    
+    
+2014-10-22 Peter Krempa  <pkre...@redhat.com>
+    
+    Fix rest of unsigned integer handling
+    As in the previous patch, fix all places where 'flags' is converted as a
+    signed argument to unsigned including the python code generator.
+    
+    
+2014-10-22 Luyao Huang  <lhu...@redhat.com>
+    
+    Fix parsing of 'flags' argument for bulk stats functions
+    When 'flags' is set to
+    'libvirt.VIR_CONNECT_GET_ALL_DOMAINS_STATS_ENFORCE_STATS,
+    python will report a  error:
+    
+    OverflowError: signed integer is greater than maximum
+    
+    as VIR_CONNECT_GET_ALL_DOMAINS_STATS_ENFORCE_STATS is defined as 1<<31.
+    This happens as PyArg_ParseTuple's formatting string containing 'i' as a
+    modifier expects a signed integer.
+    
+    With python >= 2.3, 'I' means unsigned int and 'i' means int so we
+    should use 'I' in the formatting string.
+    
+    See: https://docs.python.org/2/c-api/arg.html
+    
+    
+    
+2014-10-22 Peter Krempa  <pkre...@redhat.com>
+    
+    Fix function name when parsing arguments in libvirt_virNodeAllocPages
+    The override function was copied&pasted from virConnectGetAllDomainStats
+    and the function name after the colon was not changed. Fix the issue as
+    an invalid name would appear in the error message.
+    
+    
+2014-10-20 Luyao Huang  <lhu...@redhat.com>
+    
+    Improve error output when use getTime with a nonzero flags.
+    When give a nonzero flags to getTime, c_retval will get -1 and goto
+    cleanup. But py_retval still is NULL, so set py_retval =  VIR_PY_NONE.
+    This will make the output message more correct.
+    
+    
+    
+2014-10-16 Pradipta Kr. Banerjee  <pradipta.baner...@gmail.com>
+    
+    Change the comment in getPyNodeCPUCount method reflecting correct called 
methods
+    Comment mentions virGetNodeCPUMap whereas the actual method is
+    virNodeGetCPUMap. Similarly comment mentions virGetNodeInfo whereas the 
actual
+    method is virNodeGetInfo
+    
+    
+    
+2014-10-07 Pavel Hrdina  <phrd...@redhat.com>
+    
+    setup.py: fix rpm build to return 1 on error
+    
+    
+2014-10-07 Martin Kletzander  <mklet...@redhat.com>
+    
+    sanitytest: define long for python version >= 3
+    Commit c58c7f362aab37e4961407c2efc8a74925ed9c37 fixed 32-bit python
+    build but broke build with python3 due to the lack of 'long' in the
+    newer version of python.  This patch aims to fix it with a simple
+    string comparison of sys.version and '3'.
+    
+    
+    
+2014-10-07 Martin Kletzander  <mklet...@redhat.com>
+    
+    sanitytest: count with the fact that large enums can be long
+    On 32-bit systems, one new flag that has the value of 1 << 31, namely
+    VIR_CONNECT_GET_ALL_DOMAINS_STATS_ENFORCE_STATS, fails to fit into an
+    'int' on python and is therefore of type 'long'.  Fix sanitytest to
+    count with such fact in order to avoid build failures on 32-bit systems.
+    
+    
+    
+2014-10-06 Martin Kletzander  <mklet...@redhat.com>
+    
+    sanitytest: check for exported enums
+    We are already collecting list of enums exported and list of enums we
+    want to have available.  Event though there was an issue with one enum
+    fixed with 014d9bbaf368b33a881f1d6b2fd8a5dd285a4f71, there was no test
+    for it and this commit tries to fix that.
+    
+    
+    
+2014-10-02 Pavel Hrdina  <phrd...@redhat.com>
+    
+    Post-release version bump for new dev cycle
+    
+    
 2014-09-30 Pavel Hrdina  <phrd...@redhat.com>
     
     implement new tunable event
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libvirt-python-1.2.9/PKG-INFO 
new/libvirt-python-1.2.10/PKG-INFO
--- old/libvirt-python-1.2.9/PKG-INFO   2014-10-01 11:00:42.000000000 +0200
+++ new/libvirt-python-1.2.10/PKG-INFO  2014-11-03 07:36:13.000000000 +0100
@@ -1,6 +1,6 @@
 Metadata-Version: 1.0
 Name: libvirt-python
-Version: 1.2.9
+Version: 1.2.10
 Summary: The libvirt virtualization API
 Home-page: http://www.libvirt.org
 Author: Libvirt Maintainers
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libvirt-python-1.2.9/generator.py 
new/libvirt-python-1.2.10/generator.py
--- old/libvirt-python-1.2.9/generator.py       2014-10-01 09:59:22.000000000 
+0200
+++ new/libvirt-python-1.2.10/generator.py      2014-11-03 07:35:28.000000000 
+0100
@@ -29,6 +29,21 @@
 debug = 0
 onlyOverrides = False
 
+libvirt_headers = [
+    "libvirt",
+    "libvirt-domain",
+    "libvirt-domain-snapshot",
+    "libvirt-event",
+    "libvirt-host",
+    "libvirt-interface",
+    "libvirt-network",
+    "libvirt-nodedev",
+    "libvirt-nwfilter",
+    "libvirt-secret",
+    "libvirt-storage",
+    "libvirt-stream",
+]
+
 def getparser():
     # Attach parser to an unmarshalling object. return both objects.
     target = docParser()
@@ -112,9 +127,7 @@
                     self.function_return_field = attrs['field']
         elif tag == 'enum':
             # enums come from header files, hence virterror.h
-            if (attrs['file'] == "libvirt" or
-                attrs['file'] == "virterror" or
-                attrs['file'] == "virerror"):
+            if attrs['file'] in libvirt_headers + ["virerror", "virterror"]:
                 enum(attrs['type'],attrs['name'],attrs['value'])
             elif attrs['file'] == "libvirt-lxc":
                 lxc_enum(attrs['type'],attrs['name'],attrs['value'])
@@ -127,11 +140,8 @@
         if tag == 'function':
             # fuctions come from source files, hence 'virerror.c'
             if self.function is not None:
-                if (self.function_module == "libvirt" or
-                    self.function_module == "event" or
-                    self.function_module == "virevent" or
-                    self.function_module == "virerror" or
-                    self.function_module == "virterror"):
+                if self.function_module in libvirt_headers + \
+                            ["event", "virevent", "virerror", "virterror"]:
                     function(self.function, self.function_descr,
                              self.function_return, self.function_args,
                              self.function_file, self.function_module,
@@ -292,7 +302,7 @@
     'int':  ('i', None, "int", "int"),
     'long':  ('l', None, "long", "long"),
     'double':  ('d', None, "double", "double"),
-    'unsigned int':  ('i', None, "int", "int"),
+    'unsigned int':  ('I', None, "int", "int"),
     'unsigned long':  ('l', None, "long", "long"),
     'long long':  ('L', None, "longlong", "long long"),
     'unsigned long long':  ('L', None, "longlong", "long long"),
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libvirt-python-1.2.9/libvirt-lxc-override.c 
new/libvirt-python-1.2.10/libvirt-lxc-override.c
--- old/libvirt-python-1.2.9/libvirt-lxc-override.c     2014-08-05 
09:41:49.000000000 +0200
+++ new/libvirt-python-1.2.10/libvirt-lxc-override.c    2014-10-27 
17:38:00.000000000 +0100
@@ -71,7 +71,7 @@
     int *fdlist = NULL;
     size_t i;
 
-    if (!PyArg_ParseTuple(args, (char *)"Oi:virDomainLxcOpenNamespace",
+    if (!PyArg_ParseTuple(args, (char *)"OI:virDomainLxcOpenNamespace",
                           &pyobj_domain, &flags))
         return NULL;
     domain = (virDomainPtr) PyvirDomain_Get(pyobj_domain);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libvirt-python-1.2.9/libvirt-override.c 
new/libvirt-python-1.2.10/libvirt-override.c
--- old/libvirt-python-1.2.9/libvirt-override.c 2014-10-01 09:59:22.000000000 
+0200
+++ new/libvirt-python-1.2.10/libvirt-override.c        2014-10-27 
17:38:00.000000000 +0100
@@ -437,10 +437,10 @@
 
 /*
  * Utility function to retrieve the number of node CPUs present.
- * It first tries virGetNodeCPUMap, which will return the
+ * It first tries virNodeGetCPUMap, which will return the
  * number reliably, if available.
  * As a fallback and for compatibility with backlevel libvirt
- * versions virGetNodeInfo will be called to calculate the
+ * versions virNodeGetInfo will be called to calculate the
  * CPU number, which has the potential to return a too small
  * number if some host CPUs are offline.
  */
@@ -521,7 +521,7 @@
     virTypedParameterPtr params;
     const char *path;
 
-    if (!PyArg_ParseTuple(args, (char *)"Ozi:virDomainBlockStatsFlags",
+    if (!PyArg_ParseTuple(args, (char *)"OzI:virDomainBlockStatsFlags",
                           &pyobj_domain, &path, &flags))
         return NULL;
     domain = (virDomainPtr) PyvirDomain_Get(pyobj_domain);
@@ -571,7 +571,7 @@
     bool totalflag;
     virTypedParameterPtr params = NULL, cpuparams;
 
-    if (!PyArg_ParseTuple(args, (char *)"OOi:virDomainGetCPUStats",
+    if (!PyArg_ParseTuple(args, (char *)"OOI:virDomainGetCPUStats",
                           &pyobj_domain, &totalbool, &flags))
         return NULL;
     domain = (virDomainPtr) PyvirDomain_Get(pyobj_domain);
@@ -888,7 +888,7 @@
     unsigned int flags;
     virTypedParameterPtr params;
 
-    if (!PyArg_ParseTuple(args, (char 
*)"Oi:virDomainGetScedulerParametersFlags",
+    if (!PyArg_ParseTuple(args, (char 
*)"OI:virDomainGetScedulerParametersFlags",
                           &pyobj_domain, &flags))
         return NULL;
     domain = (virDomainPtr) PyvirDomain_Get(pyobj_domain);
@@ -1012,7 +1012,7 @@
     virTypedParameterPtr params, new_params = NULL;
 
     if (!PyArg_ParseTuple(args,
-                          (char *)"OOi:virDomainSetScedulerParametersFlags",
+                          (char *)"OOI:virDomainSetScedulerParametersFlags",
                           &pyobj_domain, &info, &flags))
         return NULL;
     domain = (virDomainPtr) PyvirDomain_Get(pyobj_domain);
@@ -1087,7 +1087,7 @@
     virTypedParameterPtr params = NULL, new_params = NULL;
 
     if (!PyArg_ParseTuple(args,
-                          (char *)"OOi:virDomainSetBlkioParameters",
+                          (char *)"OOI:virDomainSetBlkioParameters",
                           &pyobj_domain, &info, &flags))
         return NULL;
     domain = (virDomainPtr) PyvirDomain_Get(pyobj_domain);
@@ -1159,7 +1159,7 @@
     unsigned int flags;
     virTypedParameterPtr params;
 
-    if (!PyArg_ParseTuple(args, (char *)"Oi:virDomainGetBlkioParameters",
+    if (!PyArg_ParseTuple(args, (char *)"OI:virDomainGetBlkioParameters",
                           &pyobj_domain, &flags))
         return NULL;
     domain = (virDomainPtr) PyvirDomain_Get(pyobj_domain);
@@ -1207,7 +1207,7 @@
     virTypedParameterPtr params = NULL, new_params = NULL;
 
     if (!PyArg_ParseTuple(args,
-                          (char *)"OOi:virDomainSetMemoryParameters",
+                          (char *)"OOI:virDomainSetMemoryParameters",
                           &pyobj_domain, &info, &flags))
         return NULL;
     domain = (virDomainPtr) PyvirDomain_Get(pyobj_domain);
@@ -1279,7 +1279,7 @@
     unsigned int flags;
     virTypedParameterPtr params;
 
-    if (!PyArg_ParseTuple(args, (char *)"Oi:virDomainGetMemoryParameters",
+    if (!PyArg_ParseTuple(args, (char *)"OI:virDomainGetMemoryParameters",
                           &pyobj_domain, &flags))
         return NULL;
     domain = (virDomainPtr) PyvirDomain_Get(pyobj_domain);
@@ -1327,7 +1327,7 @@
     virTypedParameterPtr params = NULL, new_params = NULL;
 
     if (!PyArg_ParseTuple(args,
-                          (char *)"OOi:virDomainSetNumaParameters",
+                          (char *)"OOI:virDomainSetNumaParameters",
                           &pyobj_domain, &info, &flags))
         return NULL;
     domain = (virDomainPtr) PyvirDomain_Get(pyobj_domain);
@@ -1399,7 +1399,7 @@
     unsigned int flags;
     virTypedParameterPtr params;
 
-    if (!PyArg_ParseTuple(args, (char *)"Oi:virDomainGetNumaParameters",
+    if (!PyArg_ParseTuple(args, (char *)"OI:virDomainGetNumaParameters",
                           &pyobj_domain, &flags))
         return NULL;
     domain = (virDomainPtr) PyvirDomain_Get(pyobj_domain);
@@ -1448,7 +1448,7 @@
     virTypedParameterPtr params = NULL, new_params = NULL;
 
     if (!PyArg_ParseTuple(args,
-                          (char *)"OzOi:virDomainSetInterfaceParameters",
+                          (char *)"OzOI:virDomainSetInterfaceParameters",
                           &pyobj_domain, &device, &info, &flags))
         return NULL;
     domain = (virDomainPtr) PyvirDomain_Get(pyobj_domain);
@@ -1757,7 +1757,7 @@
     unsigned int flags;
     int i_retval;
 
-    if (!PyArg_ParseTuple(args, (char *)"OiOi:virDomainPinVcpuFlags",
+    if (!PyArg_ParseTuple(args, (char *)"OiOI:virDomainPinVcpuFlags",
                           &pyobj_domain, &vcpu, &pycpumap, &flags))
         return NULL;
     domain = (virDomainPtr) PyvirDomain_Get(pyobj_domain);
@@ -1819,7 +1819,7 @@
     unsigned int flags;
     int i_retval, cpunum;
 
-    if (!PyArg_ParseTuple(args, (char *)"Oi:virDomainGetVcpuPinInfo",
+    if (!PyArg_ParseTuple(args, (char *)"OI:virDomainGetVcpuPinInfo",
                           &pyobj_domain, &flags))
         return NULL;
     domain = (virDomainPtr) PyvirDomain_Get(pyobj_domain);
@@ -1886,7 +1886,7 @@
     int i_retval;
     unsigned int flags;
 
-    if (!PyArg_ParseTuple(args, (char *)"OOi:virDomainPinVcpu",
+    if (!PyArg_ParseTuple(args, (char *)"OOI:virDomainPinVcpu",
                           &pyobj_domain, &pycpumap, &flags))
         return NULL;
 
@@ -1953,7 +1953,7 @@
     int ret;
     int cpunum;
 
-    if (!PyArg_ParseTuple(args, (char *)"Oi:virDomainEmulatorPinInfo",
+    if (!PyArg_ParseTuple(args, (char *)"OI:virDomainEmulatorPinInfo",
                           &pyobj_domain, &flags))
         return NULL;
 
@@ -2232,7 +2232,7 @@
     virConnectAuth auth;
 
     memset(&auth, 0, sizeof(auth));
-    if (!PyArg_ParseTuple(args, (char *)"zOi:virConnectOpenAuth", &name, 
&pyauth, &flags))
+    if (!PyArg_ParseTuple(args, (char *)"zOI:virConnectOpenAuth", &name, 
&pyauth, &flags))
         return NULL;
 
     pycredtype = PyList_GetItem(pyauth, 0);
@@ -2336,7 +2336,7 @@
     int flags = 0;
     const char *arch = NULL;
 
-    if (!PyArg_ParseTuple(args, (char *)"Osi:virConnectGetCPUModelNames",
+    if (!PyArg_ParseTuple(args, (char *)"OsI:virConnectGetCPUModelNames",
                           &pyobj_conn, &arch, &flags))
         return NULL;
     conn = (virConnectPtr) PyvirConnect_Get(pyobj_conn);
@@ -2461,7 +2461,7 @@
     size_t i;
     unsigned int flags;
 
-    if (!PyArg_ParseTuple(args, (char *)"Oi:virConnectListAllDomains",
+    if (!PyArg_ParseTuple(args, (char *)"OI:virConnectListAllDomains",
                           &pyobj_conn, &flags))
         return NULL;
     conn = (virConnectPtr) PyvirConnect_Get(pyobj_conn);
@@ -2554,7 +2554,7 @@
     PyObject *pyobj_snap;
     unsigned int flags;
 
-    if (!PyArg_ParseTuple(args, (char *)"Oi:virDomainSnapshotListNames",
+    if (!PyArg_ParseTuple(args, (char *)"OI:virDomainSnapshotListNames",
                           &pyobj_dom, &flags))
         return NULL;
     dom = (virDomainPtr) PyvirDomain_Get(pyobj_dom);
@@ -2612,7 +2612,7 @@
     unsigned int flags;
     PyObject *pyobj_snap;
 
-    if (!PyArg_ParseTuple(args, (char *)"Oi:virDomainListAllSnapshots",
+    if (!PyArg_ParseTuple(args, (char *)"OI:virDomainListAllSnapshots",
                           &pyobj_dom, &flags))
         return NULL;
     dom = (virDomainPtr) PyvirDomain_Get(pyobj_dom);
@@ -2658,7 +2658,7 @@
     PyObject *pyobj_snap;
     unsigned int flags;
 
-    if (!PyArg_ParseTuple(args, (char 
*)"Oi:virDomainSnapshotListChildrenNames",
+    if (!PyArg_ParseTuple(args, (char 
*)"OI:virDomainSnapshotListChildrenNames",
                           &pyobj_snap, &flags))
         return NULL;
     snap = (virDomainSnapshotPtr) PyvirDomainSnapshot_Get(pyobj_snap);
@@ -2715,7 +2715,7 @@
     unsigned int flags;
     PyObject *pyobj_snap;
 
-    if (!PyArg_ParseTuple(args, (char *)"Oi:virDomainSnapshotListAllChildren",
+    if (!PyArg_ParseTuple(args, (char *)"OI:virDomainSnapshotListAllChildren",
                           &pyobj_parent, &flags))
         return NULL;
     parent = (virDomainSnapshotPtr) PyvirDomainSnapshot_Get(pyobj_parent);
@@ -2758,7 +2758,7 @@
     PyObject *pyobj_dom;
     unsigned int flags;
 
-    if (!PyArg_ParseTuple(args, (char *)"OOi:virDomainRevertToSnapshot", 
&pyobj_dom, &pyobj_snap, &flags))
+    if (!PyArg_ParseTuple(args, (char *)"OOI:virDomainRevertToSnapshot", 
&pyobj_dom, &pyobj_snap, &flags))
         return NULL;
     snap = (virDomainSnapshotPtr) PyvirDomainSnapshot_Get(pyobj_snap);
 
@@ -2809,7 +2809,7 @@
     int reason;
     unsigned int flags;
 
-    if (!PyArg_ParseTuple(args, (char *)"Oi:virDomainGetState",
+    if (!PyArg_ParseTuple(args, (char *)"OI:virDomainGetState",
                           &pyobj_domain, &flags))
         return NULL;
 
@@ -2836,7 +2836,7 @@
     virDomainControlInfo info;
     unsigned int flags;
 
-    if (!PyArg_ParseTuple(args, (char *)"Oi:virDomainGetControlInfo",
+    if (!PyArg_ParseTuple(args, (char *)"OI:virDomainGetControlInfo",
                           &pyobj_domain, &flags))
         return NULL;
     domain = (virDomainPtr) PyvirDomain_Get(pyobj_domain);
@@ -2863,7 +2863,7 @@
     const char *path;
     unsigned int flags;
 
-    if (!PyArg_ParseTuple(args, (char *)"Ozi:virDomainGetInfo", &pyobj_domain, 
&path, &flags))
+    if (!PyArg_ParseTuple(args, (char *)"OzI:virDomainGetInfo", &pyobj_domain, 
&path, &flags))
         return NULL;
     domain = (virDomainPtr) PyvirDomain_Get(pyobj_domain);
 
@@ -3166,7 +3166,7 @@
     size_t i;
     unsigned int flags;
 
-    if (!PyArg_ParseTuple(args, (char *)"Oi:virConnectListAllNetworks",
+    if (!PyArg_ParseTuple(args, (char *)"OI:virConnectListAllNetworks",
                           &pyobj_conn, &flags))
         return NULL;
     conn = (virConnectPtr) PyvirConnect_Get(pyobj_conn);
@@ -3374,7 +3374,7 @@
     int nparams = 0;
     virNodeCPUStatsPtr stats = NULL;
 
-    if (!PyArg_ParseTuple(args, (char *)"Oii:virNodeGetCPUStats", &pyobj_conn, 
&cpuNum, &flags))
+    if (!PyArg_ParseTuple(args, (char *)"OiI:virNodeGetCPUStats", &pyobj_conn, 
&cpuNum, &flags))
         return ret;
     conn = (virConnectPtr)(PyvirConnect_Get(pyobj_conn));
 
@@ -3438,7 +3438,7 @@
     int nparams = 0;
     virNodeMemoryStatsPtr stats = NULL;
 
-    if (!PyArg_ParseTuple(args, (char *)"Oii:virNodeGetMemoryStats", 
&pyobj_conn, &cellNum, &flags))
+    if (!PyArg_ParseTuple(args, (char *)"OiI:virNodeGetMemoryStats", 
&pyobj_conn, &cellNum, &flags))
         return ret;
     conn = (virConnectPtr)(PyvirConnect_Get(pyobj_conn));
 
@@ -3609,7 +3609,7 @@
     size_t i;
     unsigned int flags;
 
-    if (!PyArg_ParseTuple(args, (char *)"Oi:virConnectListAllStoragePools",
+    if (!PyArg_ParseTuple(args, (char *)"OI:virConnectListAllStoragePools",
                           &pyobj_conn, &flags))
         return NULL;
     conn = (virConnectPtr) PyvirConnect_Get(pyobj_conn);
@@ -3711,7 +3711,7 @@
     unsigned int flags;
     PyObject *pyobj_pool;
 
-    if (!PyArg_ParseTuple(args, (char *)"Oi:virStoragePoolListAllVolumes",
+    if (!PyArg_ParseTuple(args, (char *)"OI:virStoragePoolListAllVolumes",
                           &pyobj_pool, &flags))
         return NULL;
 
@@ -3918,7 +3918,7 @@
     char *cap;
     unsigned int flags;
 
-    if (!PyArg_ParseTuple(args, (char *)"Ozi:virNodeListDevices",
+    if (!PyArg_ParseTuple(args, (char *)"OzI:virNodeListDevices",
                           &pyobj_conn, &cap, &flags))
         return NULL;
     conn = (virConnectPtr) PyvirConnect_Get(pyobj_conn);
@@ -3967,7 +3967,7 @@
     size_t i;
     unsigned int flags;
 
-    if (!PyArg_ParseTuple(args, (char *)"Oi:virConnectListAllNodeDevices",
+    if (!PyArg_ParseTuple(args, (char *)"OI:virConnectListAllNodeDevices",
                           &pyobj_conn, &flags))
         return NULL;
     conn = (virConnectPtr) PyvirConnect_Get(pyobj_conn);
@@ -4180,7 +4180,7 @@
     size_t i;
     unsigned int flags;
 
-    if (!PyArg_ParseTuple(args, (char *)"Oi:virConnectListAllSecrets",
+    if (!PyArg_ParseTuple(args, (char *)"OI:virConnectListAllSecrets",
                           &pyobj_conn, &flags))
         return NULL;
     conn = (virConnectPtr) PyvirConnect_Get(pyobj_conn);
@@ -4225,7 +4225,7 @@
     PyObject *pyobj_secret;
     unsigned int flags;
 
-    if (!PyArg_ParseTuple(args, (char *)"Oi:virSecretGetValue", &pyobj_secret,
+    if (!PyArg_ParseTuple(args, (char *)"OI:virSecretGetValue", &pyobj_secret,
                           &flags))
         return NULL;
     secret = (virSecretPtr) PyvirSecret_Get(pyobj_secret);
@@ -4254,7 +4254,7 @@
     int size;
     unsigned int flags;
 
-    if (!PyArg_ParseTuple(args, (char *)"Oz#i:virSecretSetValue", 
&pyobj_secret,
+    if (!PyArg_ParseTuple(args, (char *)"Oz#I:virSecretSetValue", 
&pyobj_secret,
                           &value, &size, &flags))
         return NULL;
     secret = (virSecretPtr) PyvirSecret_Get(pyobj_secret);
@@ -4402,7 +4402,7 @@
     size_t i;
     unsigned int flags;
 
-    if (!PyArg_ParseTuple(args, (char *)"Oi:virConnectListAllNWFilters",
+    if (!PyArg_ParseTuple(args, (char *)"OI:virConnectListAllNWFilters",
                           &pyobj_conn, &flags))
         return NULL;
     conn = (virConnectPtr) PyvirConnect_Get(pyobj_conn);
@@ -4560,7 +4560,7 @@
     size_t i;
     unsigned int flags;
 
-    if (!PyArg_ParseTuple(args, (char *)"Oi:virConnectListAllInterfaces",
+    if (!PyArg_ParseTuple(args, (char *)"OI:virConnectListAllInterfaces",
                           &pyobj_conn, &flags))
         return NULL;
     conn = (virConnectPtr) PyvirConnect_Get(pyobj_conn);
@@ -4608,7 +4608,7 @@
     PyObject *pybase_cpu;
     size_t i, j;
 
-    if (!PyArg_ParseTuple(args, (char *)"OOi:virConnectBaselineCPU",
+    if (!PyArg_ParseTuple(args, (char *)"OOI:virConnectBaselineCPU",
                           &pyobj_conn, &list, &flags))
         return NULL;
     conn = (virConnectPtr) PyvirConnect_Get(pyobj_conn);
@@ -4697,7 +4697,7 @@
     PyObject *dict = NULL;
     int rc;
 
-    if (!PyArg_ParseTuple(args, (char *) "Oi:virDomainGetJobStats",
+    if (!PyArg_ParseTuple(args, (char *) "OI:virDomainGetJobStats",
                           &pyobj_domain, &flags))
         goto cleanup;
     domain = (virDomainPtr) PyvirDomain_Get(pyobj_domain);
@@ -4740,7 +4740,7 @@
     PyObject *type = NULL, *bandwidth = NULL, *cur = NULL, *end = NULL;
     PyObject *dict;
 
-    if (!PyArg_ParseTuple(args, (char *)"Ozi:virDomainGetBlockJobInfo",
+    if (!PyArg_ParseTuple(args, (char *)"OzI:virDomainGetBlockJobInfo",
                           &pyobj_domain, &path, &flags))
         return NULL;
     domain = (virDomainPtr) PyvirDomain_Get(pyobj_domain);
@@ -4804,7 +4804,7 @@
     unsigned int flags;
     virTypedParameterPtr params = NULL, new_params = NULL;
 
-    if (!PyArg_ParseTuple(args, (char *)"OzOi:virDomainSetBlockIoTune",
+    if (!PyArg_ParseTuple(args, (char *)"OzOI:virDomainSetBlockIoTune",
                           &pyobj_domain, &disk, &info, &flags))
         return NULL;
     domain = (virDomainPtr) PyvirDomain_Get(pyobj_domain);
@@ -4877,7 +4877,7 @@
     unsigned int flags;
     virTypedParameterPtr params;
 
-    if (!PyArg_ParseTuple(args, (char *)"Ozi:virDomainGetBlockIoTune",
+    if (!PyArg_ParseTuple(args, (char *)"OzI:virDomainGetBlockIoTune",
                           &pyobj_domain, &disk, &flags))
         return NULL;
     domain = (virDomainPtr) PyvirDomain_Get(pyobj_domain);
@@ -4924,7 +4924,7 @@
     int count;
     size_t i;
 
-    if (!PyArg_ParseTuple(args, (char *) "Oi:virDomainGetDiskErrors",
+    if (!PyArg_ParseTuple(args, (char *) "OI:virDomainGetDiskErrors",
                           &pyobj_domain, &flags))
         return NULL;
 
@@ -7131,7 +7131,7 @@
     unsigned int keycodes[VIR_DOMAIN_SEND_KEY_MAX_KEYS];
     unsigned int nkeycodes;
 
-    if (!PyArg_ParseTuple(args, (char *)"OiiOii:virDomainSendKey",
+    if (!PyArg_ParseTuple(args, (char *)"OiiOiI:virDomainSendKey",
                           &pyobj_domain, &codeset, &holdtime, &pyobj_list,
                           &nkeycodes, &flags)) {
         DEBUG("%s failed to parse tuple\n", __FUNCTION__);
@@ -7174,7 +7174,7 @@
     int rc;
 
     if (!PyArg_ParseTuple(args,
-                          (char *) "Oi:virDomainMigrateGetCompressionCache",
+                          (char *) "OI:virDomainMigrateGetCompressionCache",
                           &pyobj_domain, &flags))
         return VIR_PY_NONE;
 
@@ -7200,7 +7200,7 @@
     PyObject *pyobj_domain;
     unsigned int flags = 0;
 
-    if (!PyArg_ParseTuple(args, (char *)"Oi:virDomainMigrateGetMaxSpeed",
+    if (!PyArg_ParseTuple(args, (char *)"OI:virDomainMigrateGetMaxSpeed",
                           &pyobj_domain, &flags))
         return NULL;
 
@@ -7231,7 +7231,7 @@
     int nparams;
     virDomainPtr ddom = NULL;
 
-    if (!PyArg_ParseTuple(args, (char *) "OOOi:virDomainMigrate3",
+    if (!PyArg_ParseTuple(args, (char *) "OOOI:virDomainMigrate3",
                           &pyobj_domain, &pyobj_dconn, &dict, &flags))
         return NULL;
 
@@ -7262,7 +7262,7 @@
     int nparams;
     int ret = -1;
 
-    if (!PyArg_ParseTuple(args, (char *) "OzOi:virDomainMigrate3",
+    if (!PyArg_ParseTuple(args, (char *) "OzOI:virDomainMigrate3",
                           &pyobj_domain, &dconnuri, &dict, &flags))
         return NULL;
 
@@ -7293,7 +7293,7 @@
     char *buf;
     unsigned int flags;
 
-    if (!PyArg_ParseTuple(args, (char *)"OzLni:virDomainBlockPeek", 
&pyobj_domain,
+    if (!PyArg_ParseTuple(args, (char *)"OzLnI:virDomainBlockPeek", 
&pyobj_domain,
                           &disk, &offset, &size, &flags))
         return NULL;
 
@@ -7330,7 +7330,7 @@
     char *buf;
     unsigned int flags;
 
-    if (!PyArg_ParseTuple(args, (char *)"OLni:virDomainMemoryPeek", 
&pyobj_domain,
+    if (!PyArg_ParseTuple(args, (char *)"OLnI:virDomainMemoryPeek", 
&pyobj_domain,
                           &start, &size, &flags))
         return NULL;
 
@@ -7370,7 +7370,7 @@
     virTypedParameterPtr params, new_params = NULL;
 
     if (!PyArg_ParseTuple(args,
-                          (char *)"OOi:virNodeSetMemoryParameters",
+                          (char *)"OOI:virNodeSetMemoryParameters",
                           &pyobj_conn, &info, &flags))
         return NULL;
     conn = (virConnectPtr) PyvirConnect_Get(pyobj_conn);
@@ -7442,7 +7442,7 @@
     unsigned int flags;
     virTypedParameterPtr params;
 
-    if (!PyArg_ParseTuple(args, (char *)"Oi:virNodeGetMemoryParameters",
+    if (!PyArg_ParseTuple(args, (char *)"OI:virNodeGetMemoryParameters",
                           &pyobj_conn, &flags))
         return NULL;
     conn = (virConnectPtr) PyvirConnect_Get(pyobj_conn);
@@ -7495,7 +7495,7 @@
     unsigned int flags;
     size_t i;
 
-    if (!PyArg_ParseTuple(args, (char *)"Oi:virNodeGetCPUMap",
+    if (!PyArg_ParseTuple(args, (char *)"OI:virNodeGetCPUMap",
                           &pyobj_conn, &flags))
         return NULL;
     conn = (virConnectPtr) PyvirConnect_Get(pyobj_conn);
@@ -7562,7 +7562,7 @@
     int *files = NULL;
     size_t i;
 
-    if (!PyArg_ParseTuple(args, (char *)"OOi:virDomainCreateWithFiles",
+    if (!PyArg_ParseTuple(args, (char *)"OOI:virDomainCreateWithFiles",
                           &pyobj_domain, &pyobj_files, &flags))
         return NULL;
     domain = (virDomainPtr) PyvirDomain_Get(pyobj_domain);
@@ -7608,7 +7608,7 @@
     int *files = NULL;
     size_t i;
 
-    if (!PyArg_ParseTuple(args, (char *)"OzOi:virDomainCreateXMLWithFiles",
+    if (!PyArg_ParseTuple(args, (char *)"OzOI:virDomainCreateXMLWithFiles",
                           &pyobj_conn, &xmlDesc, &pyobj_files, &flags))
         return NULL;
     conn = (virConnectPtr) PyvirConnect_Get(pyobj_conn);
@@ -7655,7 +7655,7 @@
     char **mountpoints = NULL;
     size_t i = 0, j;
 
-    if (!PyArg_ParseTuple(args, (char *)"OOi:virDomainFSFreeze",
+    if (!PyArg_ParseTuple(args, (char *)"OOI:virDomainFSFreeze",
                           &pyobj_domain, &pyobj_list, &flags))
         return NULL;
     domain = (virDomainPtr) PyvirDomain_Get(pyobj_domain);
@@ -7701,7 +7701,7 @@
     char **mountpoints = NULL;
     size_t i = 0, j;
 
-    if (!PyArg_ParseTuple(args, (char *)"OOi:virDomainFSThaw",
+    if (!PyArg_ParseTuple(args, (char *)"OOI:virDomainFSThaw",
                           &pyobj_domain, &pyobj_list, &flags))
         return NULL;
     domain = (virDomainPtr) PyvirDomain_Get(pyobj_domain);
@@ -7745,7 +7745,7 @@
     unsigned int flags;
     int c_retval;
 
-    if (!PyArg_ParseTuple(args, (char*)"Oi:virDomainGetTime",
+    if (!PyArg_ParseTuple(args, (char*)"OI:virDomainGetTime",
                           &pyobj_domain, &flags))
         return NULL;
     domain = (virDomainPtr) PyvirDomain_Get(pyobj_domain);
@@ -7757,8 +7757,10 @@
     c_retval = virDomainGetTime(domain, &seconds, &nseconds, flags);
     LIBVIRT_END_ALLOW_THREADS;
 
-    if (c_retval < 0)
+    if (c_retval < 0) {
+        py_retval = VIR_PY_NONE;
         goto cleanup;
+    }
 
     if (!(pyobj_seconds = libvirt_longlongWrap(seconds)) ||
         PyDict_SetItemString(dict, "seconds", pyobj_seconds) < 0)
@@ -7790,7 +7792,7 @@
     ssize_t py_dict_size;
     int c_retval;
 
-    if (!PyArg_ParseTuple(args, (char*)"OOi:virDomainSetTime",
+    if (!PyArg_ParseTuple(args, (char*)"OOI:virDomainSetTime",
                           &pyobj_domain, &py_dict, &flags))
         return NULL;
     domain = (virDomainPtr) PyvirDomain_Get(pyobj_domain);
@@ -7846,7 +7848,7 @@
     int c_retval;
     ssize_t pyobj_pagesize_size, i, j;
 
-    if (!PyArg_ParseTuple(args, (char *)"OOiii:virNodeGetFreePages",
+    if (!PyArg_ParseTuple(args, (char *)"OOiiI:virNodeGetFreePages",
                           &pyobj_conn, &pyobj_pagesize, &startCell,
                           &cellCount, &flags))
         return NULL;
@@ -7946,7 +7948,7 @@
     char *mac = NULL;
     size_t i;
 
-    if (!PyArg_ParseTuple(args, (char *) "Ozi:virNetworkDHCPLeasePtr",
+    if (!PyArg_ParseTuple(args, (char *) "OzI:virNetworkDHCPLeasePtr",
                           &pyobj_network, &mac, &flags))
         return NULL;
 
@@ -8088,7 +8090,7 @@
     unsigned int flags;
     unsigned int stats;
 
-    if (!PyArg_ParseTuple(args, (char *)"Oii:virConnectGetAllDomainStats",
+    if (!PyArg_ParseTuple(args, (char *)"OII:virConnectGetAllDomainStats",
                           &pyobj_conn, &stats, &flags))
         return NULL;
     conn = (virConnectPtr) PyvirConnect_Get(pyobj_conn);
@@ -8124,7 +8126,7 @@
     unsigned int flags;
     unsigned int stats;
 
-    if (!PyArg_ParseTuple(args, (char *)"OOii:virDomainListGetStats",
+    if (!PyArg_ParseTuple(args, (char *)"OOII:virDomainListGetStats",
                           &pyobj_conn, &py_domlist, &stats, &flags))
         return NULL;
 
@@ -8169,12 +8171,11 @@
     char *destxml = NULL;
     virTypedParameterPtr params = NULL;
     int nparams = 0;
-    unsigned int flags;
+    unsigned int flags = 0;
     int c_retval;
 
-    if (!PyArg_ParseTuple(args, (char *) "Ozz|Oi:virDomainBlockCopy",
-                          &pyobj_dom, &disk, &destxml, &pyobj_dict, &params,
-                          &flags))
+    if (!PyArg_ParseTuple(args, (char *) "Ozz|OI:virDomainBlockCopy",
+                          &pyobj_dom, &disk, &destxml, &pyobj_dict, &flags))
         return VIR_PY_INT_FAIL;
 
     if (PyDict_Check(pyobj_dict)) {
@@ -8212,7 +8213,7 @@
     unsigned int flags = VIR_NODE_ALLOC_PAGES_ADD;
     int c_retval;
 
-    if (!PyArg_ParseTuple(args, (char *)"OOiii:virConnectGetAllDomainStats",
+    if (!PyArg_ParseTuple(args, (char *)"OOiiI:virNodeAllocPages",
                           &pyobj_conn, &pyobj_pages,
                           &startCell, &cellCount, &flags))
         return NULL;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libvirt-python-1.2.9/libvirt-python.spec 
new/libvirt-python-1.2.10/libvirt-python.spec
--- old/libvirt-python-1.2.9/libvirt-python.spec        2014-10-01 
11:00:41.000000000 +0200
+++ new/libvirt-python-1.2.10/libvirt-python.spec       2014-11-03 
07:36:12.000000000 +0100
@@ -6,7 +6,7 @@
 
 Summary: The libvirt virtualization API python2 binding
 Name: libvirt-python
-Version: 1.2.9
+Version: 1.2.10
 Release: 1%{?dist}%{?extra_release}
 Source0: http://libvirt.org/sources/python/%{name}-%{version}.tar.gz
 Url: http://libvirt.org
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libvirt-python-1.2.9/libvirt-qemu-override.c 
new/libvirt-python-1.2.10/libvirt-qemu-override.c
--- old/libvirt-python-1.2.9/libvirt-qemu-override.c    2014-09-02 
09:10:06.000000000 +0200
+++ new/libvirt-python-1.2.10/libvirt-qemu-override.c   2014-10-27 
17:38:00.000000000 +0100
@@ -141,7 +141,7 @@
     char *cmd;
     int c_retval;
 
-    if (!PyArg_ParseTuple(args, (char *)"Ozi:virDomainQemuMonitorCommand",
+    if (!PyArg_ParseTuple(args, (char *)"OzI:virDomainQemuMonitorCommand",
                           &pyobj_domain, &cmd, &flags))
         return NULL;
     domain = (virDomainPtr) PyvirDomain_Get(pyobj_domain);
@@ -172,7 +172,7 @@
     unsigned int flags;
     char *cmd;
 
-    if (!PyArg_ParseTuple(args, (char *)"Ozii:virDomainQemuAgentCommand",
+    if (!PyArg_ParseTuple(args, (char *)"OziI:virDomainQemuAgentCommand",
                           &pyobj_domain, &cmd, &timeout, &flags))
         return NULL;
     domain = (virDomainPtr) PyvirDomain_Get(pyobj_domain);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libvirt-python-1.2.9/sanitytest.py 
new/libvirt-python-1.2.10/sanitytest.py
--- old/libvirt-python-1.2.9/sanitytest.py      2014-09-02 09:10:06.000000000 
+0200
+++ new/libvirt-python-1.2.10/sanitytest.py     2014-10-27 17:38:00.000000000 
+0100
@@ -9,6 +9,9 @@
 sys.path.insert(0, sys.argv[1])
 import libvirt
 
+if sys.version > '3':
+    long = int
+
 # Path to the libvirt API XML file
 xml = sys.argv[2]
 
@@ -16,7 +19,10 @@
 tree = lxml.etree.parse(f)
 
 verbose = False
+fail = False
 
+enumvals = {}
+second_pass = []
 wantenums = []
 wantfunctions = []
 
@@ -25,11 +31,51 @@
 for n in set:
     wantfunctions.append(n)
 
+set = tree.xpath('/api/symbols/enum')
+for n in set:
+    typ = n.attrib['type']
+    name = n.attrib['name']
+    val = n.attrib['value']
+
+    if typ not in enumvals:
+        enumvals[typ] = {}
+
+    # If the value cannot be converted to int, it is reference to
+    # another enum and needs to be sorted out later on
+    try:
+        val = int(val)
+    except ValueError:
+        second_pass.append(n)
+        continue
+
+    enumvals[typ][name] = int(val)
+
+for n in second_pass:
+    typ = n.attrib['type']
+    name = n.attrib['name']
+    val = n.attrib['value']
+
+    for v in enumvals.values():
+        if val in v:
+            val = int(v[val])
+            break
+
+    if type(val) != int:
+        fail = True
+        print("Cannot get a value of enum %s (originally %s)" % (val, name))
+    enumvals[typ][name] = val
+
 set = tree.xpath('/api/files/file/exports[@type="enum"]/@symbol')
 for n in set:
+    for enumval in enumvals.values():
+        if n in enumval:
+            enum = enumval
+            break
+    # Eliminate sentinels
+    if n.endswith('_LAST') and enum[n] == max(enum.values()):
+        continue
     wantenums.append(n)
 
-
 # Phase 2: Identify all classes and methods in the 'libvirt' python module
 gotenums = []
 gottypes = []
@@ -41,7 +87,7 @@
     thing = getattr(libvirt, name)
     # Special-case libvirtError to deal with python 2.4 difference
     # in Exception class type reporting.
-    if type(thing) == int:
+    if type(thing) in (int, long):
         gotenums.append(name)
     elif type(thing) == type or name == "libvirtError":
         gottypes.append(name)
@@ -51,6 +97,13 @@
     else:
        pass
 
+for enum in wantenums:
+    if enum not in gotenums:
+        fail = True
+        for typ, enumval in enumvals.items():
+            if enum in enumval:
+                print("FAIL Missing exported enum %s of type %s" % (enum, typ))
+
 for klassname in gottypes:
     klassobj = getattr(libvirt, klassname)
     for name in dir(klassobj):
@@ -241,7 +294,6 @@
 
 
 # Phase 5: Validate sure that every C API is mapped to a python API
-fail = False
 usedfunctions = {}
 for name in sorted(finalklassmap):
     klass = finalklassmap[name][0]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libvirt-python-1.2.9/setup.py 
new/libvirt-python-1.2.10/setup.py
--- old/libvirt-python-1.2.9/setup.py   2014-09-25 11:42:15.000000000 +0200
+++ new/libvirt-python-1.2.10/setup.py  2014-10-27 17:38:00.000000000 +0100
@@ -245,8 +245,8 @@
         """
 
         self.run_command('sdist')
-        os.system('rpmbuild -ta --clean dist/libvirt-python-%s.tar.gz' %
-                  self.distribution.get_version())
+        self.spawn(["/usr/bin/rpmbuild", "-ta", "--clean",
+            "dist/libvirt-python-%s.tar.gz" % self.distribution.get_version()])
 
 class my_test(Command):
     user_options = [
@@ -309,7 +309,7 @@
 _c_modules, _py_modules = get_module_lists()
 
 setup(name = 'libvirt-python',
-      version = '1.2.9',
+      version = '1.2.10',
       url = 'http://www.libvirt.org',
       maintainer = 'Libvirt Maintainers',
       maintainer_email = 'libvir-l...@redhat.com',

-- 
To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org
For additional commands, e-mail: opensuse-commit+h...@opensuse.org

Reply via email to