From ef82610a061cff6c9f7d915e502c6e3022bdf762 Mon Sep 17 00:00:00 2001 From: ChuckBuilds <33324927+ChuckBuilds@users.noreply.github.com> Date: Thu, 14 Aug 2025 13:39:48 -0500 Subject: [PATCH] milb font error handling --- src/milb_manager.py | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/src/milb_manager.py b/src/milb_manager.py index a830be20..2d7477a6 100644 --- a/src/milb_manager.py +++ b/src/milb_manager.py @@ -336,10 +336,8 @@ class BaseMiLBManager: date_font = getattr(self.display_manager, 'small_font', None) time_font = getattr(self.display_manager, 'small_font', None) if date_font is None or time_font is None: - script_dir = os.path.dirname(os.path.abspath(__file__)) - ps2p = os.path.abspath(os.path.join(script_dir, "../assets/fonts/PressStart2P-Regular.ttf")) - date_font = ImageFont.truetype(ps2p, 8) - time_font = ImageFont.truetype(ps2p, 8) + date_font = ImageFont.truetype("assets/fonts/PressStart2P-Regular.ttf", 8) + time_font = ImageFont.truetype("assets/fonts/PressStart2P-Regular.ttf", 8) self.logger.debug(f"[MiLB] Fonts prepared successfully") except Exception as e: self.logger.error(f"[MiLB] Failed to prepare fonts: {e}") @@ -405,9 +403,11 @@ class BaseMiLBManager: away_score = str(game_data['away_score']) home_score = str(game_data['home_score']) score_text = f"{away_score}-{home_score}" - script_dir = os.path.dirname(os.path.abspath(__file__)) - ps2p = os.path.abspath(os.path.join(script_dir, "../assets/fonts/PressStart2P-Regular.ttf")) - score_font = ImageFont.truetype(ps2p, 12) + try: + score_font = ImageFont.truetype("assets/fonts/PressStart2P-Regular.ttf", 12) + except IOError: + self.logger.warning("[MiLB] Could not load PressStart2P font, using default") + score_font = ImageFont.load_default() # Calculate position for the score text score_width = draw.textlength(score_text, font=score_font) @@ -419,10 +419,7 @@ class BaseMiLBManager: # Draw records for upcoming and recent games if self.show_records and game_data['status'] in ['status_scheduled', 'status_final', 'final', 'completed']: try: - # Resolve 4x6 font via absolute path - script_dir = os.path.dirname(os.path.abspath(__file__)) - font_4x6 = os.path.abspath(os.path.join(script_dir, "../assets/fonts/4x6-font.ttf")) - record_font = ImageFont.truetype(font_4x6, 6) + record_font = ImageFont.truetype("assets/fonts/4x6-font.ttf", 6) except IOError: record_font = ImageFont.load_default()