diff --git a/src/office.py b/src/office.py index 11692c3..5509c6e 100644 --- a/src/office.py +++ b/src/office.py @@ -107,7 +107,8 @@ class LibreOfficeParser(ArchiveBasedAbstractParser): 'application/vnd.oasis.opendocument.spreadsheet', 'application/vnd.oasis.opendocument.presentation', 'application/vnd.oasis.opendocument.graphics', - 'application/vnd.oasis.opendocument.chart' + 'application/vnd.oasis.opendocument.chart', + 'application/vnd.oasis.opendocument.formula', } def get_meta(self): diff --git a/tests/data/dirty.odf b/tests/data/dirty.odf new file mode 100644 index 0000000..49da2bc Binary files /dev/null and b/tests/data/dirty.odf differ diff --git a/tests/test_libmat2.py b/tests/test_libmat2.py index ff5c196..6efaf31 100644 --- a/tests/test_libmat2.py +++ b/tests/test_libmat2.py @@ -328,7 +328,6 @@ class TestCleaning(unittest.TestCase): os.remove('./tests/data/clean.bmp') - def test_torrent(self): shutil.copy('./tests/data/dirty.torrent', './tests/data/clean.torrent') p = torrent.TorrentParser('./tests/data/clean.torrent') @@ -343,3 +342,18 @@ class TestCleaning(unittest.TestCase): self.assertEqual(p.get_meta(), {}) os.remove('./tests/data/clean.torrent') + + def test_odf(self): + shutil.copy('./tests/data/dirty.odf', './tests/data/clean.odf') + p = office.LibreOfficeParser('./tests/data/clean.odf') + + meta = p.get_meta() + self.assertEqual(meta['meta:creation-date'], '2018-04-23T00:18:59.438231281') + + ret = p.remove_all() + self.assertTrue(ret) + + p = office.LibreOfficeParser('./tests/data/clean.odf.cleaned') + self.assertEqual(p.get_meta(), {}) + + os.remove('./tests/data/clean.odf')