"""Natlig medie-oprydningskørsel (systemd-timer). Genberegner kandidater, vedligeholder karens-listen og sletter udløbne (hvis sletning er slået til i /admin/media). Sender ntfy.""" import asyncio import mediaclean as mc async def main(): if not mc.configured(): print("media_job: ikke konfigureret (mangler EMBY/RADARR/SONARR env) — springer over") return res = await mc.run_cycle(dry_run=False) if res.get("error"): print("media_job FEJL:", res["error"]) return print(f"media_job: kandidater={res['candidates']} nye={len(res['new'])} " f"fjernet={len(res['removed'])} slettet={len(res['deleted'])} " f"frigjort={mc._human(res['freed'])} throttled={res['throttled']} " f"sletning={'til' if res['enabled'] else 'fra(dry)'}") for e in res.get("errors", []): print(" fejl:", e) if __name__ == "__main__": asyncio.run(main())