close(), getmethodname(), cdata() are not standard methods from parent class ContentHandler and not being used anywhere in codes, so remove them. In docParser, actually, we are overloading three parent methods startElement(), endElement() and characters(), so I rename back three of these method names for example from start() to startElement() which makes it simpler to read. make other improvements in codes. --- python/generator.py | 53 ++++++++++++++++------------------------------------- 1 file changed, 16 insertions(+), 37 deletions(-) diff --git a/python/generator.py b/python/generator.py index 39e654b..7ccd471 100755 --- a/python/generator.py +++ b/python/generator.py @@ -30,41 +30,24 @@ def getparser(debug): target = docParser(debug) parser = make_parser() parser.setContentHandler(target) - return parser, target + return parser class docParser(ContentHandler): def __init__(self, debug = False): self.debug = debug; - self._methodname = None - self._data = [] + self.data = [] self.in_function = 0 - self.startElement = self.start - self.endElement = self.end - self.characters = self.data - - def close(self): - if self.debug: - print "close" - - def getmethodname(self): - return self._methodname - - def data(self, text): - if self.debug: - print "data %s" % text - self._data.append(text) - - def cdata(self, text): + def characters(self, text): if self.debug: print "data %s" % text - self._data.append(text) + self.data.append(text) - def start(self, tag, attrs): + def startElement(self, tag, attrs): if self.debug: print "start %s, %s" % (tag, attrs) if tag == 'function': - self._data = [] + self.data = [] self.in_function = 1 self.function = None self.function_cond = None @@ -80,9 +63,9 @@ class docParser(ContentHandler): if attrs.has_key('module'): self.function_module= attrs['module'] elif tag == 'cond': - self._data = [] + self.data = [] elif tag == 'info': - self._data = [] + self.data = [] elif tag == 'arg': if self.in_function == 1: self.function_arg_name = None @@ -117,7 +100,7 @@ class docParser(ContentHandler): elif attrs['file'] == "libvirt-qemu": qemu_enum(attrs['type'],attrs['name'],attrs['value']) - def end(self, tag): + def endElement(self, tag): if self.debug: print "end %s" % tag if tag == 'function': @@ -167,17 +150,13 @@ class docParser(ContentHandler): self.function_return_info, self.function_return_field] elif tag == 'info': - str = '' - for c in self._data: - str = str + c if self.in_function == 1: - self.function_descr = str + text = ''.join(self.data) + self.function_descr = text elif tag == 'cond': - str = '' - for c in self._data: - str = str + c if self.in_function == 1: - self.function_cond = str + text = ''.join(self.data) + self.function_cond = text def function(name, desc, ret, args, file, module, cond): @@ -792,14 +771,14 @@ def buildStubs(module, stubs_buiding_debug = False, xml_parsing_debug = False): try: f = open(os.path.join(srcPref,api_xml)) data = f.read() - (parser, target) = getparser(xml_parsing_debug) + parser = getparser(xml_parsing_debug) parser.feed(data) parser.close() except IOError, msg: try: f = open(os.path.join(srcPref,"..","docs",api_xml)) data = f.read() - (parser, target) = getparser(xml_parsing_debug) + parser = getparser(xml_parsing_debug) parser.feed(data) parser.close() except IOError, msg: @@ -816,7 +795,7 @@ def buildStubs(module, stubs_buiding_debug = False, xml_parsing_debug = False): try: f = open(os.path.join(srcPref, override_api_xml)) data = f.read() - (parser, target) = getparser(xml_parsing_debug) + parser = getparser(xml_parsing_debug) parser.feed(data) parser.close() except IOError, msg: -- 1.7.11.2 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list