src/docstream.py | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-)
New commits: commit 004efbd436d0b520517eca847e270bdfa6cd08b6 Author: Miklos Vajna <[email protected]> Date: Mon May 13 18:08:26 2013 +0200 doc: don't hang when v6 is passed instead of v8 diff --git a/src/docstream.py b/src/docstream.py index 195c0e4..6747084 100644 --- a/src/docstream.py +++ b/src/docstream.py @@ -10,6 +10,7 @@ import struct from docdirstream import DOCDirStream import docrecord import globals +import sys class DOCFile: """Represents the whole word file - feed will all bytes.""" @@ -18,8 +19,16 @@ class DOCFile: self.size = len(self.chars) self.params = params - self.header = ole.Header(self.chars, self.params) - self.pos = self.header.parse() + if ord(self.chars[0]) == 0xD0 and ord(self.chars[1]) == 0xCF and ord(self.chars[2]) == 0x11 and ord(self.chars[3]) == 0xE0: + self.header = ole.Header(self.chars, self.params) + self.pos = self.header.parse() + else: + print '<?xml version="1.0"?>' + if ord(self.chars[0]) == 0xDB and ord(self.chars[1]) == 0xA5: + print '<todo what="handle v6 of the doc format"/>' + else: + print '<todo what="unhandled magic"/>' + sys.exit(0) def __getDirectoryObj(self): obj = self.header.getDirectory() _______________________________________________ Libreoffice-commits mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
