feat: preferred sessions are now external
This commit is contained in:
42
session_config.py
Normal file
42
session_config.py
Normal file
@@ -0,0 +1,42 @@
|
||||
import json
|
||||
import logging
|
||||
from typing import List, Tuple
|
||||
|
||||
# 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()
|
||||
Reference in New Issue
Block a user