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__)
class Clock:
def __init__(self, display_manager: DisplayManager = None):
self.config_manager = ConfigManager()
self.config = self.config_manager.load_config()
def __init__(self, display_manager: DisplayManager = None, config: Dict[str, Any] = None):
if config is not None:
# 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
self.display_manager = display_manager or DisplayManager(self.config.get('display', {}))
logger.info("Clock initialized with display_manager: %s", id(self.display_manager))

View File

@@ -56,7 +56,7 @@ class DisplayController:
# Initialize display modes
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.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
@@ -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.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.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"Text Display initialized: {'Object' if self.text_display 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
self.cache_manager = CacheManager()
self.config_manager = ConfigManager()
# Store reference to config instead of creating new ConfigManager
self.config = config
# State variables
self.last_update = 0

View File

@@ -29,7 +29,8 @@ class BaseMLBManager:
def __init__(self, config: Dict[str, Any], display_manager, cache_manager: CacheManager):
self.config = config
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.show_odds = self.mlb_config.get("show_odds", False)
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):
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.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.nba_config = config.get("nba_scoreboard", {})
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):
self.config = config
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.show_odds = self.ncaa_baseball_config.get('show_odds', 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):
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.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.ncaam_basketball_config = config.get("ncaam_basketball_scoreboard", {})
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__)
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_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.news_config = config.get('news_manager', {})
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):
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.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.nfl_config = config.get("nfl_scoreboard", {}) # Changed config key
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):
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.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.nhl_config = config.get("nhl_scoreboard", {})
self.is_enabled = self.nhl_config.get("enabled", False)

View File

@@ -107,7 +107,8 @@ class OddsTickerManager:
# Initialize managers
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
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):
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.soccer_config = config.get("soccer_scoreboard", {}) # Use 'soccer_scoreboard' config
BaseSoccerManager._soccer_config_shared = self.soccer_config # Store for class methods
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.show_odds = self.soccer_config.get("show_odds", False)
self.test_mode = self.soccer_config.get("test_mode", False)

View File

@@ -29,7 +29,8 @@ logger = logging.getLogger(__name__)
class StockNewsManager:
def __init__(self, config: Dict[str, Any], display_manager):
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.stocks_config = config.get('stocks', {})
self.stock_news_config = config.get('stock_news', {})