Пример #1
0
    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)
Пример #2
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()
Пример #3
0
    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()
Пример #4
0
    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()
Пример #5
0
    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()
Пример #6
0
    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()
Пример #7
0
    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()
Пример #8
0
    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()
Пример #9
0
    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)
Пример #10
0
    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()
Пример #11
0
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()
Пример #12
0
    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()
Пример #13
0
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()