#!/usr/bin/python3 import sys import piexif as x import datetime as dt offset = '+02:00' print('Override offset with', offset) if len(sys.argv) <= 1: print(sys.argv[0], 'img1.jpg img2.jpg') quit() def codesOfLabelsContaining(value: str): codes = [] for (k, v) in x.TAGS['Exif'].items(): if value in v['name']: codes.append(k) return codes timeCodes = codesOfLabelsContaining('Time') offsetCodes = codesOfLabelsContaining('OffsetTime') filenames = sys.argv[1:] def overrideOffset(exifDict): e = exifDict['Exif'] offsetBytes = offset.encode() for k in offsetCodes: e[k] = offsetBytes return exifDict for filename in filenames: print(filename) exifDict = x.load(filename) exifDict = overrideOffset(exifDict) exifBytes = x.dump(exifDict) x.insert(exifBytes, filename)