From: "Daniel P. Berrange" <berrange(a)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(a)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