#!/usr/bin/env python3
"""Ringkas aktivitas: job cron bermasalah + yang jalan hari ini. Keluaran sengaja pendek."""
import json
from datetime import datetime, timezone

BERKAS = "/home/mantapman/.hermes/profiles/atun/cron/jobs.json"
d = json.load(open(BERKAS))
daftar = d if isinstance(d, list) else d.get("jobs", d)
if isinstance(daftar, dict):
    daftar = list(daftar.values())

aktif = [j for j in daftar if j.get("enabled")]
print(f"cron: {len(daftar)} terdaftar · {len(aktif)} aktif")

gagal = [j for j in aktif if str(j.get("last_status") or "").lower() not in ("ok", "none", "")]
print(f"\nbermasalah ({len(gagal)}):")
for j in gagal[:8]:
    print(f"   {str(j.get('name'))[:32]:<34} {str(j.get('last_status'))[:18]} · {str(j.get('last_error'))[:60]}")

print("\njalan berikutnya (7 terdekat):")
urut = sorted([j for j in aktif if j.get("next_run_at")], key=lambda x: str(x.get("next_run_at")))
for j in urut[:7]:
    print(f"   {str(j.get('next_run_at'))[:16]:<18} {str(j.get('name'))[:36]}")

terakhir = sorted([j for j in aktif if j.get("last_run_at")], key=lambda x: str(x.get("last_run_at")), reverse=True)
print("\nbaru saja jalan (5 terakhir):")
for j in terakhir[:5]:
    print(f"   {str(j.get('last_run_at'))[:16]:<18} {str(j.get('name'))[:32]:<34} {str(j.get('last_status'))[:10]}")
