Files
boehmitools-training/plugins/trainingstracker/analysis_store.py
T
2026-07-24 21:37:03 +02:00

25 lines
832 B
Python

# -*- coding: utf-8 -*-
from __future__ import annotations
import re
from pathlib import Path
from typing import Any
def current_filename(record: dict[str, Any]) -> str:
if record.get("type") == "week":
return f"week-{int(record.get('week') or 0):02d}.json"
return "overall.json"
def cleanup_legacy_files(directory: Path, record: dict[str, Any], keep: str) -> None:
if record.get("type") == "week":
week = int(record.get("week") or 0)
pattern = re.compile(rf"^week[-_]?0?{week}(?:[-_].*)?\.json$", re.I)
else:
pattern = re.compile(r"^overall(?:[-_].*)?\.json$", re.I)
for path in directory.glob("*.json"):
if path.name in {"index.json", "state.json", keep}: continue
if pattern.match(path.name):
try: path.unlink()
except OSError: pass