41 lines
1.6 KiB
Python
41 lines
1.6 KiB
Python
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() |