Skip to content
Snippets Groups Projects
test_lightweigh_cleaning.py 3.36 KiB
Newer Older
  • Learn to ignore specific revisions
  • #!/usr/bin/env python3
    
    import unittest
    import shutil
    import os
    
    
    from libmat2 import pdf, images, torrent
    
    
    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')
    
    
        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')
    
    
        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')