mirror of
https://git.ianrenton.com/ian/spothole.git
synced 2026-02-04 01:04:33 +00:00
28 lines
997 B
Python
28 lines
997 B
Python
from datetime import datetime
|
|
|
|
import pytz
|
|
import tornado
|
|
|
|
from core.config import ALLOW_SPOTTING, WEB_UI_OPTIONS
|
|
from core.constants import SOFTWARE_VERSION
|
|
from core.prometheus_metrics_handler import page_requests_counter
|
|
|
|
|
|
# Handler for all HTML pages generated from templates
|
|
class PageTemplateHandler(tornado.web.RequestHandler):
|
|
def initialize(self, template_name, web_server_metrics):
|
|
self.template_name = template_name
|
|
self.web_server_metrics = web_server_metrics
|
|
|
|
def get(self):
|
|
# Metrics
|
|
self.web_server_metrics["last_page_access_time"] = datetime.now(pytz.UTC)
|
|
self.web_server_metrics["page_access_counter"] += 1
|
|
self.web_server_metrics["status"] = "OK"
|
|
page_requests_counter.inc()
|
|
|
|
# Load named template, and provide variables used in templates
|
|
self.render(self.template_name + ".html", software_version=SOFTWARE_VERSION, allow_spotting=ALLOW_SPOTTING,
|
|
web_ui_options=WEB_UI_OPTIONS)
|
|
|