writerfilter/source/ooxml/fasttokens.py | 8 ++++++-- writerfilter/source/ooxml/gperffasttokenhandler.py | 8 ++++++-- 2 files changed, 12 insertions(+), 4 deletions(-)
New commits: commit 63cd667ccb35325a973cf4f98c5e1bf9db92b9b4 Author: Miklos Vajna <vmik...@collabora.co.uk> Date: Tue Jul 1 17:49:28 2014 +0200 writerfilter: characters() may be called multiple times for a single token Change-Id: Icdd3dc7740c5f3d82a45b2553fda65c6010ea4e4 diff --git a/writerfilter/source/ooxml/fasttokens.py b/writerfilter/source/ooxml/fasttokens.py index a364252..bcd0329 100644 --- a/writerfilter/source/ooxml/fasttokens.py +++ b/writerfilter/source/ooxml/fasttokens.py @@ -16,6 +16,7 @@ class ContentHandler(xml.sax.handler.ContentHandler): def __init__(self): self.inFasttoken = False self.counter = 0 + self.chars = [] def startElement(self, name, attrs): if name == "fasttoken": @@ -23,12 +24,15 @@ class ContentHandler(xml.sax.handler.ContentHandler): def endElement(self, name): if name == "fasttoken": + chars = "".join(self.chars) + print("const Token_t OOXML_%s = %s;" % (chars.replace('-', '_'), self.counter)) + self.chars = [] + self.counter += 1 self.inFasttoken = False def characters(self, characters): if self.inFasttoken: - print("const Token_t OOXML_%s = %s;" % (characters.replace('-', '_'), self.counter)) - self.counter += 1 + self.chars.append(characters) print(""" /* diff --git a/writerfilter/source/ooxml/gperffasttokenhandler.py b/writerfilter/source/ooxml/gperffasttokenhandler.py index 103a944..4fa34e7 100644 --- a/writerfilter/source/ooxml/gperffasttokenhandler.py +++ b/writerfilter/source/ooxml/gperffasttokenhandler.py @@ -15,6 +15,7 @@ import sys class ContentHandler(xml.sax.handler.ContentHandler): def __init__(self): self.inFasttoken = False + self.chars = [] def startElement(self, name, attrs): if name == "fasttoken": @@ -22,12 +23,15 @@ class ContentHandler(xml.sax.handler.ContentHandler): def endElement(self, name): if name == "fasttoken": + chars = "".join(self.chars) + token = chars.replace('-', '_') + print("%s, OOXML_%s" % (token, token)) + self.chars = [] self.inFasttoken = False def characters(self, characters): if self.inFasttoken: - token = characters.replace('-', '_') - print("%s, OOXML_%s" % (token, token)) + self.chars.append(characters) print(""" %{ _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits