[libvirt] [PATCH python] Fix code for avoiding overrides of non-existant functions

Daniel P. Berrange berrange at redhat.com
Wed Nov 27 11:14:38 UTC 2013


From: "Daniel P. Berrange" <berrange at redhat.com>

When reading/writing a global variable from inside a method
it must be declared as a global, otherwise a local variable
by the same name will be used.

Special case the virConnectListDomainsID method which is
bizarrely renamed for no obvious reason.

Signed-off-by: Daniel P. Berrange <berrange at redhat.com>
---
 generator.py | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/generator.py b/generator.py
index cd857b4..e8d8ea9 100755
--- a/generator.py
+++ b/generator.py
@@ -187,16 +187,21 @@ class docParser(xml.sax.handler.ContentHandler):
 
 
 def function(name, desc, ret, args, file, module, cond):
+    global onlyOverrides
     if onlyOverrides and name not in functions:
         return
+    if name == "virConnectListDomains":
+        name = "virConnectListDomainsID"
     functions[name] = (desc, ret, args, file, module, cond)
 
 def qemu_function(name, desc, ret, args, file, module, cond):
+    global onlyOverrides
     if onlyOverrides and name not in qemu_functions:
         return
     qemu_functions[name] = (desc, ret, args, file, module, cond)
 
 def lxc_function(name, desc, ret, args, file, module, cond):
+    global onlyOverrides
     if onlyOverrides and name not in lxc_functions:
         return
     lxc_functions[name] = (desc, ret, args, file, module, cond)
@@ -786,6 +791,7 @@ def buildStubs(module, api_xml):
     global py_types
     global py_return_types
     global unknown_types
+    global onlyOverrides
 
     if module not in ["libvirt", "libvirt-qemu", "libvirt-lxc"]:
         print "ERROR: Unknown module type: %s" % module
-- 
1.8.3.1




More information about the libvir-list mailing list