summaryrefslogtreecommitdiff
path: root/generator.py
diff options
context:
space:
mode:
authorPhilipp Hahn <hahn@univention.de>2018-11-20 12:07:44 +0100
committerJano Tomko <jtomko@redhat.com>2020-09-01 13:26:01 +0000
commit06de635ed27dfdf40afca360a6394f530294012c (patch)
tree54a6f0a7da5eaac29a11e45aa5e80df8c7ba2987 /generator.py
parent4d06f2b2fb68b2bdf0fd1649f33222111c40cfaf (diff)
downloadlibvirt-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-xgenerator.py18
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)