config manager reductions to reduce overhead

This commit is contained in:
Chuck
2025-09-12 17:15:45 -04:00
parent 32b1b8020a
commit bc3883df14
13 changed files with 39 additions and 22 deletions

View File

@@ -10,9 +10,15 @@ from src.display_manager import DisplayManager
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
class Clock: class Clock:
def __init__(self, display_manager: DisplayManager = None): def __init__(self, display_manager: DisplayManager = None, config: Dict[str, Any] = None):
self.config_manager = ConfigManager() if config is not None:
self.config = self.config_manager.load_config() # Use provided config
self.config = config
self.config_manager = None # Not needed when config is provided
else:
# Fallback: create ConfigManager and load config (for standalone usage)
self.config_manager = ConfigManager()
self.config = self.config_manager.load_config()
# Use the provided display_manager or create a new one if none provided # Use the provided display_manager or create a new one if none provided
self.display_manager = display_manager or DisplayManager(self.config.get('display', {})) self.display_manager = display_manager or DisplayManager(self.config.get('display', {}))
logger.info("Clock initialized with display_manager: %s", id(self.display_manager)) logger.info("Clock initialized with display_manager: %s", id(self.display_manager))

View File

@@ -56,7 +56,7 @@ class DisplayController:
# Initialize display modes # Initialize display modes
init_time = time.time() init_time = time.time()
self.clock = Clock(self.display_manager) if self.config.get('clock', {}).get('enabled', True) else None self.clock = Clock(self.display_manager, self.config) if self.config.get('clock', {}).get('enabled', True) else None
self.weather = WeatherManager(self.config, self.display_manager) if self.config.get('weather', {}).get('enabled', False) else None self.weather = WeatherManager(self.config, self.display_manager) if self.config.get('weather', {}).get('enabled', False) else None
self.stocks = StockManager(self.config, self.display_manager) if self.config.get('stocks', {}).get('enabled', False) else None self.stocks = StockManager(self.config, self.display_manager) if self.config.get('stocks', {}).get('enabled', False) else None
self.news = StockNewsManager(self.config, self.display_manager) if self.config.get('stock_news', {}).get('enabled', False) else None self.news = StockNewsManager(self.config, self.display_manager) if self.config.get('stock_news', {}).get('enabled', False) else None
@@ -66,7 +66,7 @@ class DisplayController:
self.youtube = YouTubeDisplay(self.display_manager, self.config) if self.config.get('youtube', {}).get('enabled', False) else None self.youtube = YouTubeDisplay(self.display_manager, self.config) if self.config.get('youtube', {}).get('enabled', False) else None
self.text_display = TextDisplay(self.display_manager, self.config) if self.config.get('text_display', {}).get('enabled', False) else None self.text_display = TextDisplay(self.display_manager, self.config) if self.config.get('text_display', {}).get('enabled', False) else None
self.of_the_day = OfTheDayManager(self.display_manager, self.config) if self.config.get('of_the_day', {}).get('enabled', False) else None self.of_the_day = OfTheDayManager(self.display_manager, self.config) if self.config.get('of_the_day', {}).get('enabled', False) else None
self.news_manager = NewsManager(self.config, self.display_manager) if self.config.get('news_manager', {}).get('enabled', False) else None self.news_manager = NewsManager(self.config, self.display_manager, self.config_manager) if self.config.get('news_manager', {}).get('enabled', False) else None
logger.info(f"Calendar Manager initialized: {'Object' if self.calendar else 'None'}") logger.info(f"Calendar Manager initialized: {'Object' if self.calendar else 'None'}")
logger.info(f"Text Display initialized: {'Object' if self.text_display else 'None'}") logger.info(f"Text Display initialized: {'Object' if self.text_display else 'None'}")
logger.info(f"OfTheDay Manager initialized: {'Object' if self.of_the_day else 'None'}") logger.info(f"OfTheDay Manager initialized: {'Object' if self.of_the_day else 'None'}")

View File

@@ -58,7 +58,8 @@ class LeaderboardManager:
# Initialize managers # Initialize managers
self.cache_manager = CacheManager() self.cache_manager = CacheManager()
self.config_manager = ConfigManager() # Store reference to config instead of creating new ConfigManager
self.config = config
# State variables # State variables
self.last_update = 0 self.last_update = 0

View File

@@ -29,7 +29,8 @@ class BaseMLBManager:
def __init__(self, config: Dict[str, Any], display_manager, cache_manager: CacheManager): def __init__(self, config: Dict[str, Any], display_manager, cache_manager: CacheManager):
self.config = config self.config = config
self.display_manager = display_manager self.display_manager = display_manager
self.config_manager = ConfigManager() # Store reference to config instead of creating new ConfigManager
self.config_manager = None # Not used in this class
self.mlb_config = config.get('mlb', {}) self.mlb_config = config.get('mlb', {})
self.show_odds = self.mlb_config.get("show_odds", False) self.show_odds = self.mlb_config.get("show_odds", False)
self.favorite_teams = self.mlb_config.get('favorite_teams', []) self.favorite_teams = self.mlb_config.get('favorite_teams', [])

View File

@@ -43,10 +43,11 @@ class BaseNBAManager:
def __init__(self, config: Dict[str, Any], display_manager: DisplayManager, cache_manager: CacheManager): def __init__(self, config: Dict[str, Any], display_manager: DisplayManager, cache_manager: CacheManager):
self.display_manager = display_manager self.display_manager = display_manager
self.config_manager = ConfigManager() # Store reference to config instead of creating new ConfigManager
self.config_manager = None # Not used in this class
self.config = config self.config = config
self.cache_manager = cache_manager self.cache_manager = cache_manager
self.odds_manager = OddsManager(self.cache_manager, self.config_manager) self.odds_manager = OddsManager(self.cache_manager, None)
self.logger = logging.getLogger(__name__) self.logger = logging.getLogger(__name__)
self.nba_config = config.get("nba_scoreboard", {}) self.nba_config = config.get("nba_scoreboard", {})
self.is_enabled = self.nba_config.get("enabled", False) self.is_enabled = self.nba_config.get("enabled", False)

View File

@@ -24,7 +24,8 @@ class BaseNCAABaseballManager:
def __init__(self, config: Dict[str, Any], display_manager, cache_manager: CacheManager): def __init__(self, config: Dict[str, Any], display_manager, cache_manager: CacheManager):
self.config = config self.config = config
self.display_manager = display_manager self.display_manager = display_manager
self.config_manager = ConfigManager() # Store reference to config instead of creating new ConfigManager
self.config_manager = None # Not used in this class
self.ncaa_baseball_config = config.get('ncaa_baseball_scoreboard', {}) self.ncaa_baseball_config = config.get('ncaa_baseball_scoreboard', {})
self.show_odds = self.ncaa_baseball_config.get('show_odds', False) self.show_odds = self.ncaa_baseball_config.get('show_odds', False)
self.show_records = self.ncaa_baseball_config.get('show_records', False) self.show_records = self.ncaa_baseball_config.get('show_records', False)

View File

@@ -43,10 +43,11 @@ class BaseNCAAMBasketballManager:
def __init__(self, config: Dict[str, Any], display_manager: DisplayManager, cache_manager: CacheManager): def __init__(self, config: Dict[str, Any], display_manager: DisplayManager, cache_manager: CacheManager):
self.display_manager = display_manager self.display_manager = display_manager
self.config_manager = ConfigManager() # Store reference to config instead of creating new ConfigManager
self.config_manager = None # Not used in this class
self.config = config self.config = config
self.cache_manager = cache_manager self.cache_manager = cache_manager
self.odds_manager = OddsManager(self.cache_manager, self.config_manager) self.odds_manager = OddsManager(self.cache_manager, None)
self.logger = logging.getLogger(__name__) self.logger = logging.getLogger(__name__)
self.ncaam_basketball_config = config.get("ncaam_basketball_scoreboard", {}) self.ncaam_basketball_config = config.get("ncaam_basketball_scoreboard", {})
self.is_enabled = self.ncaam_basketball_config.get("enabled", False) self.is_enabled = self.ncaam_basketball_config.get("enabled", False)

View File

@@ -29,9 +29,10 @@ logging.basicConfig(level=logging.INFO)
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
class NewsManager: class NewsManager:
def __init__(self, config: Dict[str, Any], display_manager): def __init__(self, config: Dict[str, Any], display_manager, config_manager=None):
self.config = config self.config = config
self.config_manager = ConfigManager() # Use provided config_manager or create a new one if none provided
self.config_manager = config_manager or ConfigManager()
self.display_manager = display_manager self.display_manager = display_manager
self.news_config = config.get('news_manager', {}) self.news_config = config.get('news_manager', {})
self.last_update = time.time() # Initialize to current time self.last_update = time.time() # Initialize to current time

View File

@@ -37,10 +37,11 @@ class BaseNFLManager: # Renamed class
def __init__(self, config: Dict[str, Any], display_manager: DisplayManager, cache_manager: CacheManager): def __init__(self, config: Dict[str, Any], display_manager: DisplayManager, cache_manager: CacheManager):
self.display_manager = display_manager self.display_manager = display_manager
self.config_manager = ConfigManager() # Store reference to config instead of creating new ConfigManager
self.config_manager = None # Not used in this class
self.config = config self.config = config
self.cache_manager = cache_manager self.cache_manager = cache_manager
self.odds_manager = OddsManager(self.cache_manager, self.config_manager) self.odds_manager = OddsManager(self.cache_manager, None)
self.logger = logging.getLogger(__name__) self.logger = logging.getLogger(__name__)
self.nfl_config = config.get("nfl_scoreboard", {}) # Changed config key self.nfl_config = config.get("nfl_scoreboard", {}) # Changed config key
self.is_enabled = self.nfl_config.get("enabled", False) self.is_enabled = self.nfl_config.get("enabled", False)

View File

@@ -42,10 +42,11 @@ class BaseNHLManager:
def __init__(self, config: Dict[str, Any], display_manager: DisplayManager, cache_manager: CacheManager): def __init__(self, config: Dict[str, Any], display_manager: DisplayManager, cache_manager: CacheManager):
self.display_manager = display_manager self.display_manager = display_manager
self.config_manager = ConfigManager() # Store reference to config instead of creating new ConfigManager
self.config_manager = None # Not used in this class
self.config = config self.config = config
self.cache_manager = cache_manager self.cache_manager = cache_manager
self.odds_manager = OddsManager(self.cache_manager, self.config_manager) self.odds_manager = OddsManager(self.cache_manager, None)
self.logger = logging.getLogger(__name__) self.logger = logging.getLogger(__name__)
self.nhl_config = config.get("nhl_scoreboard", {}) self.nhl_config = config.get("nhl_scoreboard", {})
self.is_enabled = self.nhl_config.get("enabled", False) self.is_enabled = self.nhl_config.get("enabled", False)

View File

@@ -107,7 +107,8 @@ class OddsTickerManager:
# Initialize managers # Initialize managers
self.cache_manager = CacheManager() self.cache_manager = CacheManager()
self.odds_manager = OddsManager(self.cache_manager, ConfigManager()) # OddsManager doesn't actually use the config_manager parameter, so pass None
self.odds_manager = OddsManager(self.cache_manager, None)
# State variables # State variables
self.last_update = 0 self.last_update = 0

View File

@@ -61,12 +61,13 @@ class BaseSoccerManager:
def __init__(self, config: Dict[str, Any], display_manager: DisplayManager, cache_manager: CacheManager): def __init__(self, config: Dict[str, Any], display_manager: DisplayManager, cache_manager: CacheManager):
self.display_manager = display_manager self.display_manager = display_manager
self.config_manager = ConfigManager() # Store reference to config instead of creating new ConfigManager
self.config_manager = None # Not used in this class
self.config = config self.config = config
self.soccer_config = config.get("soccer_scoreboard", {}) # Use 'soccer_scoreboard' config self.soccer_config = config.get("soccer_scoreboard", {}) # Use 'soccer_scoreboard' config
BaseSoccerManager._soccer_config_shared = self.soccer_config # Store for class methods BaseSoccerManager._soccer_config_shared = self.soccer_config # Store for class methods
self.cache_manager = cache_manager self.cache_manager = cache_manager
self.odds_manager = OddsManager(self.cache_manager, self.config_manager) self.odds_manager = OddsManager(self.cache_manager, None)
self.is_enabled = self.soccer_config.get("enabled", False) self.is_enabled = self.soccer_config.get("enabled", False)
self.show_odds = self.soccer_config.get("show_odds", False) self.show_odds = self.soccer_config.get("show_odds", False)
self.test_mode = self.soccer_config.get("test_mode", False) self.test_mode = self.soccer_config.get("test_mode", False)

View File

@@ -29,7 +29,8 @@ logger = logging.getLogger(__name__)
class StockNewsManager: class StockNewsManager:
def __init__(self, config: Dict[str, Any], display_manager): def __init__(self, config: Dict[str, Any], display_manager):
self.config = config self.config = config
self.config_manager = ConfigManager() # Store reference to config instead of creating new ConfigManager
self.config_manager = None # Not used in this class
self.display_manager = display_manager self.display_manager = display_manager
self.stocks_config = config.get('stocks', {}) self.stocks_config = config.get('stocks', {})
self.stock_news_config = config.get('stock_news', {}) self.stock_news_config = config.get('stock_news', {})