UX Phase 1 follow-ups: state v2 + reset, window defaults + support, palette support; analysis JSON generation; tests for LIMIT/metadata; README updates
This commit is contained in:
parent
fab91d2e04
commit
6de85b7cc5
5 changed files with 193 additions and 16 deletions
|
@ -344,6 +344,34 @@ def _generate_global() -> None:
|
|||
typer.echo("Generated global reports")
|
||||
|
||||
|
||||
def _generate_analysis() -> None:
|
||||
"""Generate analysis JSON files consumed by the Analysis tab."""
|
||||
try:
|
||||
# Import lazily to avoid circulars and keep dependencies optional
|
||||
from scripts import analyze
|
||||
except Exception as exc: # pragma: no cover - defensive
|
||||
typer.echo(f"Failed to import analysis module: {exc}")
|
||||
return
|
||||
|
||||
# Ensure output root and icons present for parity
|
||||
_copy_icons()
|
||||
|
||||
# These commands write JSON files under output/analysis/
|
||||
try:
|
||||
analyze.check_missing_domains(json_output=True)
|
||||
except Exception as exc: # pragma: no cover - continue best-effort
|
||||
typer.echo(f"check_missing_domains failed: {exc}")
|
||||
try:
|
||||
analyze.suggest_cache(json_output=True)
|
||||
except Exception as exc: # pragma: no cover
|
||||
typer.echo(f"suggest_cache failed: {exc}")
|
||||
try:
|
||||
analyze.detect_threats()
|
||||
except Exception as exc: # pragma: no cover
|
||||
typer.echo(f"detect_threats failed: {exc}")
|
||||
typer.echo("Generated analysis JSON files")
|
||||
|
||||
|
||||
@app.command()
|
||||
def hourly(
|
||||
domain: Optional[str] = typer.Option(
|
||||
|
@ -414,6 +442,12 @@ def global_reports() -> None:
|
|||
_generate_global()
|
||||
|
||||
|
||||
@app.command()
|
||||
def analysis() -> None:
|
||||
"""Generate analysis JSON files for the Analysis tab."""
|
||||
_generate_analysis()
|
||||
|
||||
|
||||
@app.command()
|
||||
def index() -> None:
|
||||
"""Generate the root index page linking all reports."""
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue