switched from prints to loggers with log levels

This commit is contained in:
2026-08-11 16:09:17 +02:00
parent 6fe9874360
commit 4f884306e7
2 changed files with 18 additions and 10 deletions
+10 -5
View File
@@ -1,5 +1,7 @@
from flask import Flask, jsonify, render_template
import logging
import os, sys, threading, time
from src.parser import (
get_this_semesters_sessions,
calculate_totals,
@@ -9,19 +11,22 @@ from src.parser import (
from src.cache import Cache
app = Flask(__name__)
logging.basicConfig(level=logging.INFO)
sessions_cache = Cache()
REFETCH_MINUTES = os.environ.get("REFETCH_INTERVAL_MINUTES", "5")
if not REFETCH_MINUTES.isdigit():
print("Invalid refetch interval")
app.logger.error("Invalid refetch interval")
sys.exit(1)
REFETCH_SECONDS = int(REFETCH_MINUTES) * 60
# initial data fetch (required to work)
try:
sessions_cache.set(get_this_semesters_sessions())
sessions = get_this_semesters_sessions()
sessions_cache.set(sessions)
app.logger.info(f"Fetched {len(sessions)} sessions from calDAV server")
except Exception:
print("Failed to fetch from calDAV server.")
app.logger.exception("Failed to fetch from calDAV server.")
sys.exit(1)
# web ui
@@ -55,9 +60,9 @@ def fetch_job():
time.sleep(REFETCH_SECONDS)
try:
sessions_cache.set(get_this_semesters_sessions())
print("Successfully fetched data from calDAV")
app.logger.info(f"Fetched {len(sessions)} sessions from calDAV server")
except Exception:
print("Failed to refresh from calDAV server, keeping old data.")
app.logger.warning("Failed to fetch from calDAV server, keeping old data")
if __name__ == "__main__":
if os.environ.get("WERKZEUG_RUN_MAIN") == "true" or not app.debug:
+8 -5
View File
@@ -1,9 +1,13 @@
import logging
from dotenv import load_dotenv
from datetime import datetime, timedelta, date, time as dtime
from zoneinfo import ZoneInfo
import caldav, os, random
logger = logging.getLogger(__name__)
# load settings from .env
try:
load_dotenv()
@@ -14,7 +18,7 @@ try:
SEMESTER_STARTS = os.environ["SEMESTER_STARTS"]
if SEMESTER_STARTS: SEMESTER_STARTS = SEMESTER_STARTS.split(",")
except Exception:
print("Failed to read settings from .env!\nTake a look at .env.example for the required structure!")
logger.error("Failed to read settings from .env!\nTake a look at .env.example for the required structure!")
client = caldav.DAVClient(
url=CALDAV_URL,
@@ -52,7 +56,7 @@ def get_all_sessions() -> list:
def get_this_semesters_sessions() -> list:
sessions = get_all_sessions()
semester_start = get_current_semester_start()
print(f"grabbing sessions since {str(semester_start)}")
logger.info(f"keeping sessions after semester start [{str(semester_start)}]")
if not semester_start:
# no semester starts given, just pass all sessions
@@ -67,7 +71,6 @@ def get_this_semesters_sessions() -> list:
# or return None if no semesters were specified
def get_current_semester_start() -> date:
if not SEMESTER_STARTS: # array of MM-DD strings
print("no starts")
return None
# first check if one the dates was previously this year
@@ -76,7 +79,7 @@ def get_current_semester_start() -> date:
try:
dates = [datetime.strptime(str(today.year)+"-"+date_str, "%Y-%m-%d").date() for date_str in SEMESTER_STARTS]
except Exception:
print("Failed to parse semester start date. Falling back to None!")
logger.warning("Failed to parse semester start date. Falling back to None!")
return None
for date in dates:
@@ -93,7 +96,7 @@ def get_current_semester_start() -> date:
try:
last_year_dates = [date.replace(year=date.year - 1) for date in dates]
except Exception:
print("Failed to parse semester start date. Falling back to None!")
logger.warning("Failed to parse semester start date. Falling back to None!")
return None
return max(last_year_dates)