src/docrecord.py | 27 +++++++++++++++++++++++++++ src/docstream.py | 5 ++++- 2 files changed, 31 insertions(+), 1 deletion(-)
New commits: commit 81b1156dba0f77787ad0171be85e4f5c59b751de Author: Miklos Vajna <vmik...@suse.cz> Date: Thu Jan 10 12:32:25 2013 +0100 dump PlcfGram diff --git a/src/docrecord.py b/src/docrecord.py index 6dccd2d..d5742f7 100644 --- a/src/docrecord.py +++ b/src/docrecord.py @@ -2358,4 +2358,31 @@ class PlcfSpl(DOCDirStream, PLC): print '</aCP>' print '</plcfSpl>' +class PlcfGram(DOCDirStream, PLC): + """The PlcfGram structure is a Plc structure whose data elements are GrammarSpls structures.""" + def __init__(self, mainStream): + DOCDirStream.__init__(self, mainStream.doc.getDirectoryStreamByName("1Table").bytes, mainStream = mainStream) + PLC.__init__(self, mainStream.lcbPlcfGram, 2) # 2 is defined by 2.8.21 + self.pos = mainStream.fcPlcfGram + self.size = mainStream.lcbPlcfGram + + def dump(self): + print '<plcfGram type="PlcfGram" offset="%d" size="%d bytes">' % (self.pos, self.size) + offset = self.mainStream.fcMin + pos = self.pos + for i in range(self.getElements()): + # aCp + start = self.getuInt32(pos = pos) + end = self.getuInt32(pos = pos + 4) + print '<aCP index="%d" start="%d" end="%d">' % (i, start, end) + pos += 4 + + # aGrammarSpls + aGrammarSpls = SPLS("GrammarSpls", self, self.getOffset(self.pos, i)) + aGrammarSpls.dump() + + print '<transformed value="%s"/>' % self.quoteAttr(self.mainStream.retrieveText(offset + start, offset + end, logicalLength = True)) + print '</aCP>' + print '</plcfGram>' + # vim:set filetype=python shiftwidth=4 softtabstop=4 expandtab: diff --git a/src/docstream.py b/src/docstream.py index a690b8d..c5c9fcc 100644 --- a/src/docstream.py +++ b/src/docstream.py @@ -384,7 +384,7 @@ class WordDocumentStream(DOCDirStream): ["fcPlcfAsumy"], ["lcbPlcfAsumy"], ["fcPlcfGram"], - ["lcbPlcfGram"], + ["lcbPlcfGram", self.handleLcbPlcfGram], ["fcSttbListNames"], ["lcbSttbListNames"], ["fcSttbfUssr"], @@ -515,6 +515,9 @@ class WordDocumentStream(DOCDirStream): def handleLcbPlcfSpl(self): docrecord.PlcfSpl(self).dump() + def handleLcbPlcfGram(self): + docrecord.PlcfGram(self).dump() + def dumpFibRgFcLcb97(self, name): print '<%s type="FibRgFcLcb97" size="744 bytes">' % name self.__dumpFibRgFcLcb97() _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits