summaryrefslogtreecommitdiff
path: root/lib/images.py
blob: 236d56658bd4677cb9d8c77ed8f240d138a4d5a3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
'''
    Takes care about pictures formats
'''

import parser


class JpegStripper(parser.GenericParser):
    '''
        represents a jpeg file
    '''
    def _should_remove(self, field):
        '''
            return True if the field is compromizing
        '''
        field_list = frozenset(['start_image', 'app0', 'start_frame',
                'start_scan', 'data', 'end_image'])
        if field.name in field_list:
            return False
        elif field.name.startswith('quantization['):
            return False
        elif field.name.startswith('huffman['):
            return False
        return True


class PngStripper(parser.GenericParser):
    '''
        represents a png file
        see : http://www.sno.phy.queensu.ca/~phil/exiftool/TagNames/PNG.html
    '''
    def _should_remove(self, field):
        '''
            return True if the field is compromizing
        '''
        field_list = frozenset(['id', 'header', 'physical', 'end'])
        if field.name in field_list:
            return False
        if field.name.startswith('data['):
            return False
        return True