From b2ad5e2050e7b99e3ae5cade74c9559d3da2bdfc Mon Sep 17 00:00:00 2001 From: John Turner Date: Tue, 15 Jul 2025 21:05:25 -0400 Subject: [PATCH] stats.py: include runtime in output --- stats.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/stats.py b/stats.py index 012765f..544e8fa 100755 --- a/stats.py +++ b/stats.py @@ -5,6 +5,7 @@ from datetime import datetime from pathlib import Path from dataclasses import dataclass from jinja2 import Environment +from time import time GET_PATTERN = r"^([^ ]+) ([^ ]+) - \[(.*)\] \"GET ([^ ]*)" @@ -22,7 +23,9 @@ TEMPLATE="""

Logs start at {{ logs_start_date }} ({{ logs_days_ago }} days ago)

-

Most visited pages

+

+ Stats generated in {{ seconds }}s +

Total visits: {{ total_visits }}

@@ -43,6 +46,8 @@ class Get: dest: str url: str +start_time = time() + logs_dir = Path(os.environ.get("LOGS_DIR", "/var/log/lighttpd")) log_files = [log for log in logs_dir.iterdir() @@ -83,9 +88,12 @@ most_visited_site = sorted(urls.items(), key=lambda item: item[1])[-1][0] environment = Environment() template = environment.from_string(TEMPLATE) +seconds = round(time() - start_time, 3) + print("Content-Type: text/html\r\n") print(template.render( + seconds=seconds, logs_start_date=logs_start_date.ctime(), logs_days_ago=logs_days_ago, total_visits=total_visits, -- 2.39.5