aboutsummaryrefslogtreecommitdiff
path: root/autoJPEG.py
blob: 6297dacd9868597833f5247620fe2132404723e8 (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
42
43
44
45
46
47
48
49
50
51
from os import listdir
from os.path import isfile, join


ORIG_FILES = '/var/spool/sms/inbox/'
DEST_FILES = '/var/spool/sms/mms/'

JPEG_TAG = b'\xFF\xD8\xFF\xE0\x00\x10JFIF'


def listMMS():
    return sorted([f for f in listdir(ORIG_FILES) if
                   isfile(join(ORIG_FILES, f)) and f.endswith('.bin')])[::-1]

def listNewMMS():
    mmss = listMMS()

    listFile = [f[:f.rfind('_')] for f in listdir(DEST_FILES) if
                   isfile(join(DEST_FILES, f)) and f.rfind('_') > 0]

    for mms in mmss:
        mmsTitle = mms[:-4]
        if mmsTitle not in listFile:
            yield mms


def extractJPG(mmsFile, name):
    i = 1

    fileOut = None

    with open('mmsFile', 'rb') as f:
        for line in f:
            if JPEG_TAG in line:
                index = line.index(JPEG_TAG)
                if fileOut is not None:
                    fileOut.write(line[:index])
                    fileOut.close()
                fileOut = open(DEST_FILES + name + '_' + str(i) + '.jpg', 'wb')
                i += 1
                fileOut.write(line[index:])
            else:
                if fileOut is not None:
                    fileOut.write(line)


if __name__ == "__main__":
    for f in listNewMMS():
        print(f)
    extractJPG('./mmsFile3', 'romane2')
    # listMMS = listMMS():