53 lines
2.0 KiB
Python
53 lines
2.0 KiB
Python
from ._colors import _c
|
||||
|
|
from .models import NormResult
|
|||
|
|
|
|||
|
|
|
|||
|
|
def print_report(results: dict[str, NormResult], dry_run: bool):
|
|||
|
|
mode = _c("yellow", "[DRY-RUN] ") if dry_run else ""
|
|||
|
|
print()
|
|||
|
|
print(_c("bold", f"{'─'*65}"))
|
|||
|
|
print(_c("bold", f" {mode}Rapport de normalisation"))
|
|||
|
|
print(_c("bold", f"{'─'*65}"))
|
|||
|
|
|
|||
|
|
total_done = total_skip = total_err = 0
|
|||
|
|
|
|||
|
|
for env_name, result in results.items():
|
|||
|
|
done = len(result.actions_done)
|
|||
|
|
skip = len(result.actions_skipped)
|
|||
|
|
err = len(result.errors)
|
|||
|
|
total_done += done
|
|||
|
|
total_skip += skip
|
|||
|
|
total_err += err
|
|||
|
|
|
|||
|
|
status = _c("green", "✅") if err == 0 else _c("red", "❌")
|
|||
|
|
print(f"\n {status} {_c('bold', env_name)}")
|
|||
|
|
print(f" Actions {'simulées' if dry_run else 'effectuées'} : {_c('green', str(done))}")
|
|||
|
|
print(f" Déjà présents (skip) : {_c('cyan', str(skip))}")
|
|||
|
|
print(f" Erreurs / avertissements : {_c('red', str(err)) if err else _c('green', '0')}")
|
|||
|
|
|
|||
|
|
if result.actions_done:
|
|||
|
|
print(f" {'─'*50}")
|
|||
|
|
for a in result.actions_done:
|
|||
|
|
icon = {"create_org": "🏢", "create_app": "📱", "grant_api": "🔗"}.get(a.kind, "•")
|
|||
|
|
prefix = " ~ " if dry_run else " + "
|
|||
|
|
print(f" {prefix}{icon} {a.description}")
|
|||
|
|
|
|||
|
|
if result.errors:
|
|||
|
|
print(f" {'─'*50}")
|
|||
|
|
for e in result.errors:
|
|||
|
|
print(f" ⚠️ {_c('red', e)}")
|
|||
|
|
|
|||
|
|
print()
|
|||
|
|
print(_c("bold", f"{'─'*65}"))
|
|||
|
|
print(
|
|||
|
|
f" Total — {'simulé' if dry_run else 'effectué'}: {_c('green', str(total_done))} | "
|
|||
|
|
f"skip: {_c('cyan', str(total_skip))} | "
|
|||
|
|
f"erreurs: {_c('red', str(total_err)) if total_err else _c('green', '0')}"
|
|||
|
|
)
|
|||
|
|
print(_c("bold", f"{'─'*65}"))
|
|||
|
|
if dry_run:
|
|||
|
|
print(_c("yellow", "\n ℹ️ Mode DRY-RUN : aucun changement appliqué."))
|
|||
|
|
print(_c("yellow", " Relancez sans --dry-run pour appliquer les modifications.\n"))
|
|||
|
|
else:
|
|||
|
|
print()
|