Traceback (most recent call last): File "Cvet.py", line 70, in ? SaxParser.parse(GzipHandle) File "/usr/lib/python2.3/xml/sax/expatreader.py", line 107, in parse xmlreader.IncrementalParser.parse(self, source) File "/usr/lib/python2.3/xml/sax/xmlreader.py", line 123, in parse self.feed(buffer) File "/usr/lib/python2.3/xml/sax/expatreader.py", line 207, in feed self._parser.Parse(data, isFinal) File "/home/buildcentos/rpmbuild/BUILD/Python-2.3.4/Modules/pyexpat.c", line 453, in CharacterData TypeError: characters() takes exactly 4 arguments (2 given) ... class PrintItem(xml.sax.handler.ContentHandler): def startElement(self, name, attrs): if name == "item": Name = attrs.get('name', None) print Name CveList[Name] = self.Descr self.Descr = "" def characters(self, str, start, end): self.Descr = self.Descr + str[start:end] ... CveFile = UrlFetch.UrlGetIfModified(CveUrl, CveDir) GzipHandle = gzip.open(CveFile) CveHandler = PrintItem() SaxParser = xml.sax.make_parser() SaxParser.setContentHandler(CveHandler) SaxParser.parse(GzipHandle)