26 lines
928 B
Python
26 lines
928 B
Python
"""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())
|