Finalising tweaks before deployment.

This commit is contained in:
2026-06-10 15:40:48 +01:00
parent bd2d0aeee6
commit 45472e055f
2 changed files with 11 additions and 5 deletions
+1 -1
View File
@@ -18,7 +18,7 @@ def fares_query(
toc: str | None = None,
) -> list[dict[str, dict[str, str]]]:
url = f"https://fares.ballast-data.co.uk/fares?origin={origin}&destination={destination}"
url += f"&toc={toc}" if toc is not None else ""
url += f"&toc={toc.upper()}" if toc is not None else ""
response = requests.get(
url=url,
auth=(
+10 -4
View File
@@ -35,6 +35,8 @@ COLUMN_RENAMES = {
"restriction_code": "Restriction",
}
VALID_QUERY_TERMS = ["origin", "destination", "toc"]
DEFAULT_TEMPLATE_PATH = Path(__file__).parents[2] / "media/template.html"
logger: Logger = Logger(name=__name__, level=INFO)
@@ -46,10 +48,10 @@ class FaresHandler(BaseHTTPRequestHandler):
text = self.requestline.split(" ")[1].split("?")
if len(text) == 1:
return {}
text = text[1]
return {
(_s := s.split("="))[0]: _s[-1] if _s[-1] != "" else None
for s in text.split("&")
_s[0]: _s[-1] if _s[-1] != "" else None
for s in text[1].split("&")
if (_s := s.split("="))[0] in VALID_QUERY_TERMS
}
def content_of_GET(self, template_path: Path = DEFAULT_TEMPLATE_PATH) -> str:
@@ -76,6 +78,7 @@ class FaresHandler(BaseHTTPRequestHandler):
text = "No Fares Found."
with open(template_path, "r") as rf:
return rf.read().replace("<!-- Content -->", text)
text = '<table style="margin-left: auto; margin-right: auto;">'
text += (
'<tr style="font-size: 1.6em;"> <th> Flow </th> <th> Fares </th> </tr>\n'
@@ -119,9 +122,11 @@ class FaresHandler(BaseHTTPRequestHandler):
self.end_headers()
_ = self.wfile.write(content.encode())
return None
except ConnectionError as ex:
logger.warning(f"{type(ex)} | {ex}")
self.send_response(503, "Upstream API refused to respond.")
self.send_response(503, "Our upstream API refused to respond.")
except Exception as ex:
logger.critical(f"{type(ex)} | {ex}")
self.send_response(
@@ -129,6 +134,7 @@ class FaresHandler(BaseHTTPRequestHandler):
"Something abnormal occured, apologies. It has been logged with importance.",
)
raise ex
self.end_headers()