[libvirt] [PATCH python] Avoid generating the migrate methods in multiple classes

Daniel P. Berrange berrange at redhat.com
Tue Nov 26 17:00:35 UTC 2013


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

The python code generator tries to figure out what class a
method should be in by looking at the list of arguments for
any which are object types. Unfortunately missing break
statements meant that methods which have multiple object
arguments (eg migrate as a virDomainPtr followed by a
virConnectPtr) got added to multiple classes. The migrate
methods should only be visible in the virDomain class, and
the versions in the virConnect class have fubar arguments.

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

diff --git a/generator.py b/generator.py
index c769ed0..ab2a97f 100755
--- a/generator.py
+++ b/generator.py
@@ -1264,12 +1264,14 @@ def buildWrappers(module):
                 func = nameFixup(name, classe, type, file)
                 info = (0, func, name, ret, args, file, mod)
                 function_classes[classe].append(info)
+                break
             elif name[0:3] == "vir" and len(args) >= 2 and args[1][1] == type \
                 and file != "python_accessor" and not name in function_skip_index_one:
                 found = 1
                 func = nameFixup(name, classe, type, file)
                 info = (1, func, name, ret, args, file, mod)
                 function_classes[classe].append(info)
+                break
         if found == 1:
             continue
         func = nameFixup(name, "None", file, file)
-- 
1.8.3.1




More information about the libvir-list mailing list