diff --git a/src/main/resources/scripts/photophetch-ios-helper.py b/src/main/resources/scripts/photophetch-ios-helper.py index 6e83324..4833b7c 100644 --- a/src/main/resources/scripts/photophetch-ios-helper.py +++ b/src/main/resources/scripts/photophetch-ios-helper.py @@ -94,22 +94,13 @@ async def cmd_list_photos(): print(f'DEBUG stat: {dict(info)}', file=sys.stderr) debug_logged = True size_bytes = int(info.get('st_size', 0)) - # pymobiledevice3 returns 'datetime' as a tuple: - # (year, month, day, hour, minute, second, microsecond) + # Use 'datetime' tuple: (year, month, day, hour, minute, second, microsecond) dt = info.get('datetime') - if dt is not None: - if hasattr(dt, 'isoformat'): - date_iso = dt.isoformat() - elif isinstance(dt, (list, tuple)) and len(dt) >= 6: - date_iso = datetime(int(dt[0]), int(dt[1]), int(dt[2]), - int(dt[3]), int(dt[4]), int(dt[5])).isoformat() - else: - # Fallback: try st_mtime as integer timestamp - mtime_raw = int(info.get('st_mtime', 0)) - if mtime_raw > 1_000_000_000_000_000: - mtime_raw = mtime_raw // 1_000_000_000 - if mtime_raw > 1_000_000_000: - date_iso = datetime.fromtimestamp(float(mtime_raw)).isoformat() + if dt is not None and isinstance(dt, (list, tuple)) and len(dt) >= 6: + date_iso = datetime(int(dt[0]), int(dt[1]), int(dt[2]), + int(dt[3]), int(dt[4]), int(dt[5])).isoformat() + elif dt is not None and hasattr(dt, 'isoformat'): + date_iso = dt.isoformat() except Exception: pass