def dump (self): file = open(self.filepath, 'rb') strm = pptstream.PPTFile(file.read(), self.params) file.close() strm.printStreamInfo() strm.printHeader() strm.printDirectory() dirnames = strm.getDirectoryNames() result = True for dirname in dirnames: sdirname = globals.nulltrunc(dirname) if len(sdirname) == 0 or sdirname == b"Root Entry": continue try: dirstrm = strm.getDirectoryStreamByName(dirname) except Exception as err: error("getDirectoryStreamByName(%s): %s\n" % (dirname,str(err))) # The previous version was killed by the exception # here, so the equivalent is to break, but maybe there # is no reason to do so. break self.__printDirHeader(dirname, len(dirstrm.bytes)) if sdirname == b"PowerPoint Document": if not self.__readSubStream(dirstrm): result = False elif sdirname == b"Current User": if not self.__readSubStream(dirstrm): result = False elif sdirname == b"\x05DocumentSummaryInformation": strm = olestream.PropertySetStream(dirstrm.bytes) strm.read() else: globals.dumpBytes(dirstrm.bytes, 512) return result
def dump(self): file = open(self.filepath, 'rb') strm = pptstream.PPTFile(file.read(), self.params) file.close() strm.printStreamInfo() strm.printHeader() strm.printDirectory() dirnames = strm.getDirectoryNames() result = True for dirname in dirnames: sdirname = globals.nulltrunc(dirname) if len(sdirname) == 0 or sdirname == b"Root Entry": continue try: dirstrm = strm.getDirectoryStreamByName(dirname) except Exception as err: error("getDirectoryStreamByName(%s): %s\n" % (dirname, str(err))) # The previous version was killed by the exception # here, so the equivalent is to break, but maybe there # is no reason to do so. break self.__printDirHeader(dirname, len(dirstrm.bytes)) if sdirname == b"PowerPoint Document": if not self.__readSubStream(dirstrm): result = False elif sdirname == b"Current User": if not self.__readSubStream(dirstrm): result = False elif sdirname == b"\x05DocumentSummaryInformation": strm = olestream.PropertySetStream(dirstrm.bytes) strm.read() else: globals.dumpBytes(dirstrm.bytes, 512) return result