import os import json import time from config import TEMP_DIR def meta_path(file_id): return os.path.join(TEMP_DIR, f"{file_id}.json") def video_path(file_id): return os.path.join(TEMP_DIR, f"{file_id}.mp4") def save_meta(file_id, filename, expires_at): """Simpan metadata file ke disk.""" with open(meta_path(file_id), "w") as f: json.dump({"filename": filename, "expires_at": expires_at}, f) def load_meta(file_id): """Baca metadata file dari disk. Return None jika tidak ada.""" p = meta_path(file_id) if not os.path.exists(p): return None try: with open(p) as f: return json.load(f) except Exception: return None def cleanup_expired(): """Hapus file temp (video + meta) yang sudah expired.""" now = time.time() for fname in os.listdir(TEMP_DIR): if not fname.endswith(".json"): continue fid = fname[:-5] meta = load_meta(fid) if meta and meta["expires_at"] < now: try: vp = video_path(fid) if os.path.exists(vp): os.remove(vp) os.remove(meta_path(fid)) except Exception: pass