improved code

This commit is contained in:
2026-01-22 19:38:44 +01:00
parent 42d2758ba5
commit b56fe56f84
5 changed files with 10 additions and 8 deletions

View File

@@ -10,7 +10,7 @@ def grab_calendar(ics_url: str):
return None
try:
calendar = Calendar(response.text)
calendar = Calendar(response.content.decode("utf-8"))
except Exception:
logger.warning("Unable to parse calendar")
return None

View File

@@ -18,11 +18,11 @@ def generate_class(response_callback):
query = urllib.parse_qs(url.query)
if method != "GET" or path != "/calendar.ics":
logger.info("Invalid " + method + " request on " + path + " from " + host)
logger.info(f"Invalid {method} request on {path} from {host}")
self._send_error(404, "Invalid endpoint")
return
logger.info("Received calendar request from " + host)
logger.info(f"Received calendar request from {host}")
td_group = (query.get("td") or ["all"])[0]
sh_group = (query.get("sh") or ["all"])[0]
@@ -32,7 +32,7 @@ def generate_class(response_callback):
self._send_error(500, "Unable to generate calendar")
return
logger.info("Generated calendar for " + host)
logger.info(f"Generated calendar for {host}")
self.send_response(200)
self.send_header("Content-Type", "text/calendar")

View File

@@ -1,11 +1,13 @@
import sys
import threading
from datetime import datetime
_console_lock = threading.Lock()
def _log(prefix: str, message: str):
time = datetime.now().strftime("[%H:%M:%S]")
with _console_lock:
print(prefix + ": " + message)
print(f"{time} {prefix} {message}")
def info(message: str):
_log("INFO", message)

View File

@@ -12,7 +12,7 @@ def _get_environment_variable(key: str) -> str:
value = os.getenv(key)
if not value:
logger.error("Environment variable '" + key + "' must be set")
logger.error(f"Environment variable '{key}' must be set")
return value
@@ -20,7 +20,7 @@ def _parse_environment_variable(key: str, value: str) -> int | None:
try:
return int(value)
except ValueError:
logger.error("Environment variable '" + key + "' must be an integer")
logger.error(f"Environment variable '{key}' must be an integer")
def main():
signal.signal(signal.SIGTERM, _handle_exit)

View File

@@ -36,5 +36,5 @@ class Server:
def serve(self):
handler_class = handler.generate_class(self._response_callback)
server = HTTPServer((self._host, self._port), handler_class)
logger.info("Listening on " + self._host + ":" + str(self._port))
logger.info(f"Listening on {self._host}:{self._port}")
server.serve_forever()