def test_libreoffice(self): p = office.LibreOfficeParser('./tests/data/dirty.odt') meta = p.get_meta() self.assertEqual(meta['meta.xml']['meta:initial-creator'], 'jvoisin ') self.assertEqual(meta['meta.xml']['meta:creation-date'], '2011-07-26T03:27:48') self.assertEqual( meta['meta.xml']['meta:generator'], 'LibreOffice/3.3$Unix LibreOffice_project/330m19$Build-202') p = office.LibreOfficeParser('./tests/data/weird_producer.odt') meta = p.get_meta() self.assertEqual(meta['mimetype']['create_system'], 'Windows') self.assertEqual(meta['mimetype']['comment'], b'YAY FOR COMMENTS')
def test_libreoffice(self): shutil.copy('./tests/data/dirty.odt', './tests/data/clean.odt') p = office.LibreOfficeParser('./tests/data/clean.odt') meta = p.get_meta() self.assertIsNotNone(meta) ret = p.remove_all() self.assertTrue(ret) p = office.LibreOfficeParser('./tests/data/clean.cleaned.odt') self.assertEqual(p.get_meta(), {}) self.assertTrue(p.remove_all()) os.remove('./tests/data/clean.odt') os.remove('./tests/data/clean.cleaned.odt') os.remove('./tests/data/clean.cleaned.cleaned.odt')
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['meta.xml']['dc:date'], '2018-04-23T00:26:59.385838550') ret = p.remove_all() self.assertTrue(ret) p = office.LibreOfficeParser('./tests/data/clean.cleaned.odg') self.assertEqual(p.get_meta(), {}) self.assertTrue(p.remove_all()) os.remove('./tests/data/clean.odg') os.remove('./tests/data/clean.cleaned.odg') os.remove('./tests/data/clean.cleaned.cleaned.odg')
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.xml']['meta:creation-date'], '2018-04-23T00:18:59.438231281') ret = p.remove_all() self.assertTrue(ret) p = office.LibreOfficeParser('./tests/data/clean.cleaned.odf') self.assertEqual(p.get_meta(), {}) self.assertTrue(p.remove_all()) os.remove('./tests/data/clean.odf') os.remove('./tests/data/clean.cleaned.odf') os.remove('./tests/data/clean.cleaned.cleaned.odf')
def test_libreoffice(self): with zipfile.ZipFile('./tests/data/revision.odt') as zipin: c = zipin.open('content.xml') r = c.read() self.assertIn(b'tracked-changes', r) shutil.copy('./tests/data/revision.odt', './tests/data/clean.odt') p = office.LibreOfficeParser('./tests/data/clean.odt') self.assertTrue(p.remove_all()) with zipfile.ZipFile('./tests/data/clean.cleaned.odt') as zipin: c = zipin.open('content.xml') r = c.read() self.assertNotIn(b'tracked-changes', r) os.remove('./tests/data/clean.odt') os.remove('./tests/data/clean.cleaned.odt')
def test_odt(self): shutil.copy('./tests/data/revision.odt', './tests/data/clean.odt') zipin = zipfile.ZipFile(os.path.abspath('./tests/data/clean.odt')) self.assertIn('Thumbnails/thumbnail.png', zipin.namelist()) zipin.close() p = office.LibreOfficeParser('./tests/data/clean.odt') self.assertTrue(p.remove_all()) zipin = zipfile.ZipFile( os.path.abspath('./tests/data/clean.cleaned.odt')) self.assertNotIn('Thumbnails/thumbnail.png', zipin.namelist()) zipin.close() os.remove('./tests/data/clean.cleaned.odt') os.remove('./tests/data/clean.odt')
def test_libreoffice(self): shutil.copy('./tests/data/dirty.odt', './tests/data/clean.odt') p = office.LibreOfficeParser('./tests/data/clean.odt') meta = p.get_meta() self.assertIsNotNone(meta) is_unordered = False with zipfile.ZipFile('./tests/data/clean.odt') as zin: previous_name = '' for item in zin.infolist(): if previous_name == '': if item.filename == 'mimetype': continue previous_name = item.filename continue elif item.filename < previous_name: is_unordered = True break self.assertTrue(is_unordered) ret = p.remove_all() self.assertTrue(ret) with zipfile.ZipFile('./tests/data/clean.cleaned.odt') as zin: previous_name = '' for item in zin.infolist(): if previous_name == '': if item.filename == 'mimetype': continue previous_name = item.filename continue self.assertGreaterEqual(item.filename, previous_name) os.remove('./tests/data/clean.odt') os.remove('./tests/data/clean.cleaned.odt')
def test_odt_with_py(self): shutil.copy('./tests/data/embedded.odt', './tests/data/clean.odt') p = office.LibreOfficeParser('./tests/data/clean.odt') self.assertFalse(p.remove_all()) os.remove('./tests/data/clean.odt')
def test_odg(self): shutil.copy('./tests/data/dirty.png', './tests/data/clean.odg') with self.assertRaises(ValueError): office.LibreOfficeParser('./tests/data/clean.odg') os.remove('./tests/data/clean.odg')