mirror of
https://github.com/ChuckBuilds/LEDMatrix.git
synced 2026-04-10 13:02:59 +00:00
config manager reductions to reduce overhead
This commit is contained in:
12
src/clock.py
12
src/clock.py
@@ -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))
|
||||
|
||||
@@ -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'}")
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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', [])
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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', {})
|
||||
|
||||
Reference in New Issue
Block a user