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():