initial commit
This commit is contained in:
43
ren_finepix.py
Normal file
43
ren_finepix.py
Normal file
@@ -0,0 +1,43 @@
|
||||
#!python3
|
||||
|
||||
# https://github.com/hMatoba/Piexif
|
||||
# http://ce3wiki.theturninggate.net/doku.php?id=file_name_convention
|
||||
# destination: <BASE>/<year>/<YYYYMMDD> <Event>/ab-<YYYYMMDD>-<Event>-<nnnn>.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)
|
||||
Reference in New Issue
Block a user