2018-10-23 16:14:21 +02:00
|
|
|
#!/usr/bin/env python3
|
|
|
|
|
|
|
|
import unittest
|
|
|
|
import shutil
|
|
|
|
import os
|
|
|
|
|
2018-10-24 19:35:07 +02:00
|
|
|
from libmat2 import pdf, images, torrent
|
2018-10-23 16:14:21 +02:00
|
|
|
|
|
|
|
class TestLightWeightCleaning(unittest.TestCase):
|
|
|
|
def test_pdf(self):
|
|
|
|
shutil.copy('./tests/data/dirty.pdf', './tests/data/clean.pdf')
|
|
|
|
p = pdf.PDFParser('./tests/data/clean.pdf')
|
|
|
|
|
|
|
|
meta = p.get_meta()
|
|
|
|
self.assertEqual(meta['producer'], 'pdfTeX-1.40.14')
|
|
|
|
|
|
|
|
p.lightweight_cleaning = True
|
|
|
|
ret = p.remove_all()
|
|
|
|
self.assertTrue(ret)
|
|
|
|
|
|
|
|
p = pdf.PDFParser('./tests/data/clean.cleaned.pdf')
|
|
|
|
expected_meta = {'creation-date': -1, 'format': 'PDF-1.5', 'mod-date': -1}
|
|
|
|
self.assertEqual(p.get_meta(), expected_meta)
|
|
|
|
|
|
|
|
os.remove('./tests/data/clean.pdf')
|
|
|
|
os.remove('./tests/data/clean.cleaned.pdf')
|
|
|
|
|
|
|
|
def test_png(self):
|
|
|
|
shutil.copy('./tests/data/dirty.png', './tests/data/clean.png')
|
|
|
|
p = images.PNGParser('./tests/data/clean.png')
|
|
|
|
|
|
|
|
meta = p.get_meta()
|
|
|
|
self.assertEqual(meta['Comment'], 'This is a comment, be careful!')
|
|
|
|
|
|
|
|
p.lightweight_cleaning = True
|
|
|
|
ret = p.remove_all()
|
|
|
|
self.assertTrue(ret)
|
|
|
|
|
|
|
|
p = images.PNGParser('./tests/data/clean.cleaned.png')
|
|
|
|
self.assertEqual(p.get_meta(), {})
|
|
|
|
|
|
|
|
p = images.PNGParser('./tests/data/clean.png')
|
|
|
|
p.lightweight_cleaning = True
|
|
|
|
ret = p.remove_all()
|
|
|
|
self.assertTrue(ret)
|
|
|
|
|
|
|
|
os.remove('./tests/data/clean.png')
|
|
|
|
os.remove('./tests/data/clean.cleaned.png')
|
|
|
|
|
|
|
|
def test_jpg(self):
|
|
|
|
shutil.copy('./tests/data/dirty.jpg', './tests/data/clean.jpg')
|
|
|
|
p = images.JPGParser('./tests/data/clean.jpg')
|
|
|
|
|
|
|
|
meta = p.get_meta()
|
|
|
|
self.assertEqual(meta['Comment'], 'Created with GIMP')
|
|
|
|
|
|
|
|
p.lightweight_cleaning = True
|
|
|
|
ret = p.remove_all()
|
|
|
|
self.assertTrue(ret)
|
|
|
|
|
|
|
|
p = images.JPGParser('./tests/data/clean.cleaned.jpg')
|
|
|
|
self.assertEqual(p.get_meta(), {})
|
|
|
|
|
|
|
|
os.remove('./tests/data/clean.jpg')
|
|
|
|
os.remove('./tests/data/clean.cleaned.jpg')
|
2018-10-24 19:35:07 +02:00
|
|
|
|
|
|
|
def test_torrent(self):
|
|
|
|
shutil.copy('./tests/data/dirty.torrent', './tests/data/clean.torrent')
|
|
|
|
p = torrent.TorrentParser('./tests/data/clean.torrent')
|
|
|
|
|
|
|
|
meta = p.get_meta()
|
|
|
|
self.assertEqual(meta['created by'], b'mktorrent 1.0')
|
|
|
|
|
|
|
|
p.lightweight_cleaning = True
|
|
|
|
ret = p.remove_all()
|
|
|
|
self.assertTrue(ret)
|
|
|
|
|
|
|
|
p = torrent.TorrentParser('./tests/data/clean.cleaned.torrent')
|
|
|
|
self.assertEqual(p.get_meta(), {})
|
|
|
|
|
|
|
|
os.remove('./tests/data/clean.torrent')
|
|
|
|
os.remove('./tests/data/clean.cleaned.torrent')
|
2018-10-24 20:19:36 +02:00
|
|
|
|
|
|
|
def test_tiff(self):
|
|
|
|
shutil.copy('./tests/data/dirty.tiff', './tests/data/clean.tiff')
|
|
|
|
p = images.TiffParser('./tests/data/clean.tiff')
|
|
|
|
|
|
|
|
meta = p.get_meta()
|
|
|
|
self.assertEqual(meta['ImageDescription'], 'OLYMPUS DIGITAL CAMERA ')
|
|
|
|
|
|
|
|
p.lightweight_cleaning = True
|
|
|
|
ret = p.remove_all()
|
|
|
|
self.assertTrue(ret)
|
|
|
|
|
|
|
|
p = images.TiffParser('./tests/data/clean.cleaned.tiff')
|
|
|
|
self.assertEqual(p.get_meta(),
|
|
|
|
{
|
|
|
|
'Orientation': 'Horizontal (normal)',
|
|
|
|
'ResolutionUnit': 'inches',
|
|
|
|
'XResolution': 72,
|
|
|
|
'YResolution': 72
|
|
|
|
}
|
|
|
|
)
|
|
|
|
|
|
|
|
os.remove('./tests/data/clean.tiff')
|
|
|
|
os.remove('./tests/data/clean.cleaned.tiff')
|