import json import logging # Class to handle session configuration class SessionConfig: """ Class to handle loading and managing preferred sessions configuration. """ @staticmethod def load_preferred_sessions(): """ Load preferred sessions from a JSON file. Returns: List[Tuple[int, str, str]]: List of preferred sessions in the format (day_of_week, start_time, session_name_contains) """ preferred_sessions = [] try: with open("preferred_sessions.json", "r") as f: data = json.load(f) for item in data: day_of_week = item.get("day_of_week", 0) start_time = item.get("start_time", "00:00") session_name_contains = item.get("session_name_contains", "") preferred_sessions.append((day_of_week, start_time, session_name_contains)) except (FileNotFoundError, json.JSONDecodeError) as e: logging.warning(f"Failed to load preferred sessions from file: {str(e)}") # Fall back to default hardcoded sessions # preferred_sessions = [ # (2, "18:30", "CONDITIONING"), # Wednesday 18:30 CONDITIONING # (4, "17:00", "WEIGHTLIFTING"), # Friday 17:00 WEIGHTLIFTING # (5, "12:30", "HYROX"), # Saturday 12:30 HYROX # ] return preferred_sessions # Load preferred sessions using the SessionConfig class PREFERRED_SESSIONS = SessionConfig.load_preferred_sessions()