#!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 from collections import defaultdict import re src = Path(r'E:\MediaArchive\Andreas\RawByDate') dest = Path(r'E:\MediaArchive\Andreas\RawByCamera\Sony a5100') dry_run = False for mrw in src.rglob("*.arw"): mo = re.match("ab-(?P
\S*-\S*).arw", mrw.name) if mo is None: print(f"skipped {mrw.name}, no match") continue md = mo.groupdict() try: mrwdt = dt.datetime.strptime(md['dt'],"%Y%m%d-%H%M%S") except: print(f"skipped {mrw.name}, unknown format") continue # move avi to raw Sony mrw_dir = dest / str(mrwdt.year) / f"{mrwdt:%Y%m%d}" mrw_n = mrw_dir / mrw.name if not mrw_dir.exists(): if not dry_run: print(f"creating {mrw_dir}") mrw_dir.mkdir(parents=True) print(mrw.name, "->", mrw_n) if not mrw_n.exists(): if not dry_run: mrw.rename(mrw_n) else: print(f"skipped {mrw.name}, {mrw_n}, already exists")