#!python3 # https://github.com/hMatoba/Piexif # http://ce3wiki.theturninggate.net/doku.php?id=file_name_convention # destination: // /ab---.jpg from pathlib import Path import datetime as dt import piexif import re SRC = r'E:\RawByUser\Andreas\Fuji Finepix 3D W3\Adjusted' # DEST = r'E:\VideoByDateArchive' src = Path(SRC) for raw in src.glob("*.mpo"): fn = raw.name if not raw.is_file(): print(f"skipped {fn}") continue try: exif_dict = piexif.load(str(raw)) idto = exif_dict["Exif"][piexif.ExifIFD.DateTimeOriginal].decode("ascii") rawdt = dt.datetime.strptime(idto,"%Y:%m:%d %H:%M:%S") except: # print(f'skipped {fn}, using file date') mtime = raw.stat().st_mtime rawdt = dt.datetime.fromtimestamp(mtime) year = rawdt.year day = f"{rawdt:%Y%m%d}" ts = f"{rawdt:%H%M%S}" stem = f"ab-{day}-{ts}" destdir = raw.parent # destdir = Path(DEST, f"{year}",f"{day}") # if not destdir.exists(): # print(f'creating {destdir}') # destdir.mkdir(parents=True) destfn = destdir / f"{stem}{raw.suffix}" # if destfn.exists(): # print(f'skipped {destfn}, already exists') # continue print(f"{fn}", "->", destfn) raw.rename(destfn)