Add root index generation
This commit is contained in:
parent
02f6b400ac
commit
21762bf1bd
3 changed files with 94 additions and 0 deletions
|
@ -128,6 +128,26 @@ def _generate_all_domains(interval: str) -> None:
|
|||
_generate_interval(interval, domain)
|
||||
|
||||
|
||||
def _generate_root_index() -> None:
|
||||
"""Render the top-level index listing all intervals and domains."""
|
||||
intervals = [p.name for p in OUTPUT_DIR.iterdir() if p.is_dir() and p.name != "domains"]
|
||||
intervals.sort()
|
||||
|
||||
domains_dir = OUTPUT_DIR / "domains"
|
||||
domains: List[str] = []
|
||||
if domains_dir.is_dir():
|
||||
domains = [p.name for p in domains_dir.iterdir() if p.is_dir()]
|
||||
domains.sort()
|
||||
|
||||
env = Environment(loader=FileSystemLoader(TEMPLATE_DIR))
|
||||
template = env.get_template("index.html")
|
||||
|
||||
OUTPUT_DIR.mkdir(parents=True, exist_ok=True)
|
||||
out_path = OUTPUT_DIR / "index.html"
|
||||
out_path.write_text(template.render(intervals=intervals, domains=domains))
|
||||
typer.echo(f"Generated root index at {out_path}")
|
||||
|
||||
|
||||
@app.command()
|
||||
def hourly(
|
||||
domain: Optional[str] = typer.Option(
|
||||
|
@ -192,5 +212,11 @@ def monthly(
|
|||
_generate_interval("monthly", domain)
|
||||
|
||||
|
||||
@app.command()
|
||||
def index() -> None:
|
||||
"""Generate the root index page linking all reports."""
|
||||
_generate_root_index()
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
app()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue