diff options
author | Daniel P. Berrange <berrange@redhat.com> | 2013-11-22 14:09:55 +0000 |
---|---|---|
committer | Daniel P. Berrange <berrange@redhat.com> | 2013-11-22 14:21:44 +0000 |
commit | a60a5bc957814343fc36f26f6ce89a4be47ebdf6 (patch) | |
tree | 4da6df4cb9720499b96d27737524d08565d578f1 /generator.py | |
parent | 6900340b151d3a265ca5b89345fc07e6531ae62b (diff) | |
download | libvirt-python-v7-master.tar.gz libvirt-python-v7-master.tar.xz libvirt-python-v7-master.zip |
Entries in the -overrides.xml files should only be recorded
if the API also exists in the main API XML file.
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
Diffstat (limited to 'generator.py')
-rwxr-xr-x | generator.py | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/generator.py b/generator.py index 00ef45a..224c886 100755 --- a/generator.py +++ b/generator.py @@ -27,6 +27,7 @@ import os import xml.sax debug = 0 +onlyOverrides = False def getparser(): # Attach parser to an unmarshalling object. return both objects. @@ -183,12 +184,18 @@ class docParser(xml.sax.handler.ContentHandler): def function(name, desc, ret, args, file, module, cond): + if onlyOverrides and name not in functions: + return functions[name] = (desc, ret, args, file, module, cond) def qemu_function(name, desc, ret, args, file, module, cond): + 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): + if onlyOverrides and name not in lxc_functions: + return lxc_functions[name] = (desc, ret, args, file, module, cond) def enum(type, name, value): @@ -213,16 +220,22 @@ def enum(type, name, value): elif value == 'VIR_DOMAIN_AFFECT_CONFIG': value = 2 if name[-5:] != '_LAST': + if onlyOverrides and name not in enums[type]: + return enums[type][name] = value def lxc_enum(type, name, value): if not lxc_enums.has_key(type): lxc_enums[type] = {} + if onlyOverrides and name not in lxc_enums[type]: + return lxc_enums[type][name] = value def qemu_enum(type, name, value): if not qemu_enums.has_key(type): qemu_enums[type] = {} + if onlyOverrides and name not in qemu_enums[type]: + return qemu_enums[type][name] = value @@ -790,6 +803,7 @@ def buildStubs(module, api_xml): f = open(api_xml) data = f.read() f.close() + onlyOverrides = False (parser, target) = getparser() parser.feed(data) parser.close() @@ -808,6 +822,7 @@ def buildStubs(module, api_xml): f = open(override_api_xml) data = f.read() f.close() + onlyOverrides = True (parser, target) = getparser() parser.feed(data) parser.close() |