diff options
author | Philipp Hahn <hahn@univention.de> | 2018-11-20 12:07:44 +0100 |
---|---|---|
committer | Jano Tomko <jtomko@redhat.com> | 2020-09-01 13:26:01 +0000 |
commit | 06de635ed27dfdf40afca360a6394f530294012c (patch) | |
tree | 54a6f0a7da5eaac29a11e45aa5e80df8c7ba2987 /generator.py | |
parent | 4d06f2b2fb68b2bdf0fd1649f33222111c40cfaf (diff) | |
download | libvirt-python-06de635ed27dfdf40afca360a6394f530294012c.tar.gz |
generator: Refactor parser creation
to use closing context manager.
Signed-off-by: Philipp Hahn <hahn@univention.de>
Diffstat (limited to 'generator.py')
-rwxr-xr-x | generator.py | 18 |
1 files changed, 7 insertions, 11 deletions
diff --git a/generator.py b/generator.py index 75195e1..e53a18e 100755 --- a/generator.py +++ b/generator.py @@ -7,6 +7,7 @@ import os import re import sys import xml.sax +from contextlib import closing functions = {} lxc_functions = {} @@ -47,12 +48,11 @@ libvirt_headers = [ ] -def getparser(): - # Attach parser to an unmarshalling object. return both objects. +def parse(data): target = docParser() - parser = xml.sax.make_parser() - parser.setContentHandler(target) - return parser, target + with closing(xml.sax.make_parser()) as parser: + parser.setContentHandler(target) + parser.parse(data) class docParser(xml.sax.handler.ContentHandler): @@ -907,9 +907,7 @@ def buildStubs(module, api_xml): with open(api_xml) as stream: data = stream.read() onlyOverrides = False - (parser, target) = getparser() - parser.feed(data) - parser.close() + parse(data) except IOError as msg: print(api_xml, ":", msg) sys.exit(1) @@ -925,9 +923,7 @@ def buildStubs(module, api_xml): with open(override_api_xml) as stream: data = stream.read() onlyOverrides = True - (parser, target) = getparser() - parser.feed(data) - parser.close() + parse(data) except IOError as msg: print(override_api_xml, ":", msg) |