diff options
| -rw-r--r-- | src/images.py | 14 | ||||
| -rw-r--r-- | tests/data/dirty.bmp | bin | 0 -> 5746 bytes | |||
| -rw-r--r-- | tests/test_libmat2.py | 15 |
3 files changed, 29 insertions, 0 deletions
diff --git a/src/images.py b/src/images.py index 06f3e22..707207b 100644 --- a/src/images.py +++ b/src/images.py | |||
| @@ -75,3 +75,17 @@ class TiffParser(GdkPixbufAbstractParser): | |||
| 75 | 'FileTypeExtension', 'ImageHeight', 'ImageSize', 'ImageWidth', | 75 | 'FileTypeExtension', 'ImageHeight', 'ImageSize', 'ImageWidth', |
| 76 | 'MIMEType', 'Megapixels', 'SourceFile'} | 76 | 'MIMEType', 'Megapixels', 'SourceFile'} |
| 77 | 77 | ||
| 78 | |||
| 79 | class BMPParser(GdkPixbufAbstractParser): | ||
| 80 | mimetypes = {'image/bmp', 'image/x-ms-bmp'} | ||
| 81 | meta_whitelist = {'SourceFile', 'ExifToolVersion', 'FileName', 'Directory', | ||
| 82 | 'FileSize', 'FileModifyDate', 'FileAccessDate', | ||
| 83 | 'FileInodeChangeDate', 'FilePermissions', 'FileType', | ||
| 84 | 'FileTypeExtension', 'MIMEType', 'BMPVersion', 'ImageWidth', | ||
| 85 | 'ImageHeight', 'Planes', 'BitDepth', 'Compression', 'ImageLength', | ||
| 86 | 'PixelsPerMeterX', 'PixelsPerMeterY', 'NumColors', | ||
| 87 | 'NumImportantColors', 'RedMask', 'GreenMask', 'BlueMask', | ||
| 88 | 'AlphaMask', 'ColorSpace', 'RedEndpoint', 'GreenEndpoint', | ||
| 89 | 'BlueEndpoint', 'GammaRed', 'GammaGreen', 'GammaBlue', 'ImageSize', | ||
| 90 | 'Megapixels'} | ||
| 91 | |||
diff --git a/tests/data/dirty.bmp b/tests/data/dirty.bmp new file mode 100644 index 0000000..be9094d --- /dev/null +++ b/tests/data/dirty.bmp | |||
| Binary files differ | |||
diff --git a/tests/test_libmat2.py b/tests/test_libmat2.py index 34f7301..ae04dc2 100644 --- a/tests/test_libmat2.py +++ b/tests/test_libmat2.py | |||
| @@ -307,3 +307,18 @@ class TestCleaning(unittest.TestCase): | |||
| 307 | self.assertEqual(p.get_meta(), {}) | 307 | self.assertEqual(p.get_meta(), {}) |
| 308 | 308 | ||
| 309 | os.remove('./tests/data/clean.tiff') | 309 | os.remove('./tests/data/clean.tiff') |
| 310 | |||
| 311 | def test_bmp(self): | ||
| 312 | shutil.copy('./tests/data/dirty.bmp', './tests/data/clean.bmp') | ||
| 313 | p = images.BMPParser('./tests/data/clean.bmp') | ||
| 314 | |||
| 315 | meta = p.get_meta() | ||
| 316 | self.assertEqual(meta, {}) # bmp has no meta :) | ||
| 317 | |||
| 318 | ret = p.remove_all() | ||
| 319 | self.assertTrue(ret) | ||
| 320 | |||
| 321 | p = images.BMPParser('./tests/data/clean.bmp.cleaned') | ||
| 322 | self.assertEqual(p.get_meta(), {}) | ||
| 323 | |||
| 324 | os.remove('./tests/data/clean.bmp') | ||
