from pathlib import Path
from dataclasses import dataclass
from jinja2 import Environment
+from time import time
GET_PATTERN = r"^([^ ]+) ([^ ]+) - \[(.*)\] \"GET ([^ ]*)"
<p>
Logs start at {{ logs_start_date }} ({{ logs_days_ago }} days ago)
</p>
- <h2>Most visited pages</h2>
+ <p>
+ Stats generated in {{ seconds }}s
+ </p>
<p>
Total visits: {{ total_visits }}
</p>
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()
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,