unknown
This commit is contained in:
40
set_mtime_from_filename.py
Normal file
40
set_mtime_from_filename.py
Normal file
@@ -0,0 +1,40 @@
|
||||
#!python
|
||||
|
||||
# set mtime for handbrake mp4 files from filename
|
||||
|
||||
# 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 re
|
||||
import os
|
||||
|
||||
DRY_RUN = False
|
||||
|
||||
def rename(old, new):
|
||||
print(old.name, "->", new.name)
|
||||
if not DRY_RUN:
|
||||
if not new.exists():
|
||||
old.rename(new)
|
||||
else:
|
||||
print(f"skipped {old.name}, {new.name}, already exists")
|
||||
|
||||
# src = Path(r'D:\Videos')
|
||||
src = Path(r"D:\MediaLibrary\Pictures\2022\20220831 Urlaub Cote d'Azur")
|
||||
|
||||
for raw in src.glob("*pano.jpg"):
|
||||
mo = re.match("(?P<author>[^-]*)-(?P<dt>\S*)-(?P<model>[^-]*)(-\S+)?.jpg", raw.name)
|
||||
if mo is None:
|
||||
print(f"skipped {raw.name}, no match")
|
||||
continue
|
||||
md = mo.groupdict()
|
||||
rawdt = dt.datetime.strptime(md['dt'],"%Y%m%d-%H%M%S")
|
||||
mtime = rawdt.timestamp()
|
||||
atime = raw.stat().st_atime
|
||||
print(f"setting {raw.name} to {rawdt}")
|
||||
if not DRY_RUN:
|
||||
os.utime(raw, (atime, mtime))
|
||||
# fn = f"{md['author'].lower()}-{md['dt']}-{md['model']}{raw.suffix}"
|
||||
# rename(raw, raw.parent / fn)
|
||||
Reference in New Issue
Block a user