Files
colibre/src/backup/naming.py
T
Colin Maudry 48c0649a68 feat(backup): nommage horodaté des clés S3 (#89)
Ajoute les fonctions make_key() et parse_timestamp() pour gérer
le format des clés S3 avec horodatage UTC.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-24 17:02:47 +02:00

18 lines
546 B
Python

import re
from datetime import datetime, timezone
_TS_FMT = "%Y%m%dT%H%M%SZ"
_KEY_RE = re.compile(r"users-(\d{8}T\d{6}Z)\.sqlite\.gz\.enc$")
def make_key(prefix: str, ts: datetime) -> str:
stamp = ts.astimezone(timezone.utc).strftime(_TS_FMT)
return f"{prefix.rstrip('/')}/users-{stamp}.sqlite.gz.enc"
def parse_timestamp(key: str) -> datetime:
match = _KEY_RE.search(key)
if not match:
raise ValueError(f"clé non reconnue : {key}")
return datetime.strptime(match.group(1), _TS_FMT).replace(tzinfo=timezone.utc)