diff --git a/src/office.py b/src/office.py index 5509c6e6358dcf083857b888f4ecfc7baf92a11a..da6168ecdefc98d3399ad8b5451631105d1d4f6a 100644 --- a/src/office.py +++ b/src/office.py @@ -109,6 +109,7 @@ class LibreOfficeParser(ArchiveBasedAbstractParser): 'application/vnd.oasis.opendocument.graphics', 'application/vnd.oasis.opendocument.chart', 'application/vnd.oasis.opendocument.formula', + 'application/vnd.oasis.opendocument.image', } def get_meta(self): diff --git a/tests/data/dirty.odg b/tests/data/dirty.odg new file mode 100644 index 0000000000000000000000000000000000000000..8605c9cdae7602019dd3ebe5005d7a93ae981bbd Binary files /dev/null and b/tests/data/dirty.odg differ diff --git a/tests/test_libmat2.py b/tests/test_libmat2.py index 6efaf3102a8e21a6ad03ec1be25cc05482a35ec7..31a314360d0b95bcb29771090a8efc1c5ccfd365 100644 --- a/tests/test_libmat2.py +++ b/tests/test_libmat2.py @@ -357,3 +357,19 @@ class TestCleaning(unittest.TestCase): self.assertEqual(p.get_meta(), {}) os.remove('./tests/data/clean.odf') + + + def test_odg(self): + shutil.copy('./tests/data/dirty.odg', './tests/data/clean.odg') + p = office.LibreOfficeParser('./tests/data/clean.odg') + + meta = p.get_meta() + self.assertEqual(meta['dc:date'], '2018-04-23T00:26:59.385838550') + + ret = p.remove_all() + self.assertTrue(ret) + + p = office.LibreOfficeParser('./tests/data/clean.odg.cleaned') + self.assertEqual(p.get_meta(), {}) + + os.remove('./tests/data/clean.odg')