def _open(self): # read the OLE directory and see if this is a likely # to be a Microsoft Image Composer file try: self.ole = OleFileIO(self.fp) except IOError: raise SyntaxError("not an MIC file; invalid OLE file") # find ACI subfiles with Image members (maybe not the # best way to identify MIC files, but what the... ;-) self.images = [] for file in self.ole.listdir(): if file[1:] and file[0][-4:] == ".ACI" and file[1] == "Image": self.images.append(file) # if we didn't find any images, this is probably not # an MIC file. if not self.images: raise SyntaxError("not an MIC file; no image entries") self.__fp = self.fp self.frame = 0 if len(self.images) > 1: self.category = Image.CONTAINER self.seek(0)
def test_get_rootentry_name(self): # Arrange ole_file = "Tests/images/test-ole-file.doc" ole = OleFileIO.OleFileIO(ole_file) # Act root = ole.get_rootentry_name() # Assert self.assertEqual(root, "Root Entry") ole.close()
def test_get_size(self): # Arrange ole_file = "Tests/images/test-ole-file.doc" ole = OleFileIO.OleFileIO(ole_file) # Act size = ole.get_size('worddocument') # Assert self.assertGreater(size, 0) ole.close()
def test_get_type(self): # Arrange ole_file = "Tests/images/test-ole-file.doc" ole = OleFileIO.OleFileIO(ole_file) # Act type = ole.get_type('worddocument') # Assert self.assertEqual(type, OleFileIO.STGTY_STREAM) ole.close()
def test_exists_no_vba_macros(self): # Arrange ole_file = "Tests/images/test-ole-file.doc" ole = OleFileIO.OleFileIO(ole_file) # Act exists = ole.exists('macros/vba') # Assert self.assertFalse(exists) ole.close()
def test_exists_worddocument(self): # Arrange ole_file = "Tests/images/test-ole-file.doc" ole = OleFileIO.OleFileIO(ole_file) # Act exists = ole.exists('worddocument') # Assert self.assertTrue(exists) ole.close()
def test_listdir(self): # Arrange ole_file = "Tests/images/test-ole-file.doc" ole = OleFileIO.OleFileIO(ole_file) # Act dirlist = ole.listdir() # Assert self.assertIn(['WordDocument'], dirlist) ole.close()
def test_meta(self): # Arrange ole_file = "Tests/images/test-ole-file.doc" ole = OleFileIO.OleFileIO(ole_file) # Act meta = ole.get_metadata() # Assert self.assertEqual(meta.author, b"Laurence Ipsum") self.assertEqual(meta.num_pages, 1) ole.close()
def _open(self): # # read the OLE directory and see if this is a likely # to be a FlashPix file try: self.ole = OleFileIO(self.fp) except IOError: raise SyntaxError("not an FPX file; invalid OLE file") if self.ole.root.clsid != "56616700-C154-11CE-8553-00AA00A1F95B": raise SyntaxError("not an FPX file; bad root CLSID") self._open_index(1)
def test_gettimes(self): # Arrange ole_file = "Tests/images/test-ole-file.doc" ole = OleFileIO.OleFileIO(ole_file) root_entry = ole.direntries[0] # Act ctime = root_entry.getctime() mtime = root_entry.getmtime() # Assert self.assertIsNone(ctime) self.assertIsInstance(mtime, datetime.datetime) self.assertEqual(mtime.year, 2014) ole.close()
def test_gettimes(): # Arrange ole_file = "Tests/images/test-ole-file.doc" ole = OleFileIO.OleFileIO(ole_file) root_entry = ole.direntries[0] # Act ctime = root_entry.getctime() mtime = root_entry.getmtime() # Assert assert_is_instance(ctime, type(None)) assert_is_instance(mtime, datetime.datetime) assert_equal(ctime, None) assert_equal(mtime.year, 2014) ole.close()
def test_debug(self): # Arrange ole_file = "Tests/images/test-ole-file.doc" ole = OleFileIO.OleFileIO(ole_file) meta = ole.get_metadata() # Act OleFileIO.set_debug_mode(True) ole.dumpdirectory() meta.dump() OleFileIO.set_debug_mode(False) ole.dumpdirectory() meta.dump() # Assert # No assert, just check they run ok ole.close()
def test_debug(): # Arrange print("ignore_all_except_last_line") ole_file = "Tests/images/test-ole-file.doc" ole = OleFileIO.OleFileIO(ole_file) meta = ole.get_metadata() # Act OleFileIO.set_debug_mode(True) ole.dumpdirectory() meta.dump() OleFileIO.set_debug_mode(False) ole.dumpdirectory() meta.dump() # Assert # No assert, just check they run ok print("ok") ole.close()