mirror of
https://github.com/ChuckBuilds/LEDMatrix.git
synced 2026-04-10 21:03:01 +00:00
Add detailed logging for calendar events at INFO level
This commit is contained in:
@@ -112,6 +112,20 @@ class CalendarManager:
|
||||
).execute()
|
||||
|
||||
events = events_result.get('items', [])
|
||||
|
||||
# Log event details
|
||||
if events:
|
||||
logger.info(f"Found {len(events)} calendar events:")
|
||||
for event in events:
|
||||
summary = event.get('summary', 'No Title')
|
||||
start = event.get('start', {}).get('dateTime', event.get('start', {}).get('date'))
|
||||
end = event.get('end', {}).get('dateTime', event.get('end', {}).get('date'))
|
||||
logger.info(f" Event: {summary}")
|
||||
logger.info(f" Start: {start}")
|
||||
logger.info(f" End: {end}")
|
||||
else:
|
||||
logger.info("No upcoming calendar events found")
|
||||
|
||||
return events
|
||||
except Exception as e:
|
||||
logging.error(f"Error fetching calendar events: {str(e)}")
|
||||
@@ -269,42 +283,36 @@ class CalendarManager:
|
||||
return "Invalid Time"
|
||||
|
||||
def display(self, force_clear=False):
|
||||
"""Display the current calendar event on the matrix"""
|
||||
if not self.enabled:
|
||||
logger.debug("Calendar manager is disabled, skipping display")
|
||||
"""Display calendar events on the LED matrix."""
|
||||
if not self.enabled or not self.events:
|
||||
return
|
||||
|
||||
# Only clear if force_clear is True (mode switch) or no events are drawn
|
||||
if force_clear:
|
||||
self.display_manager.clear()
|
||||
try:
|
||||
if force_clear:
|
||||
self.display_manager.clear()
|
||||
self.force_clear = True
|
||||
|
||||
if self.current_event_index >= len(self.events):
|
||||
self.current_event_index = 0
|
||||
|
||||
event = self.events[self.current_event_index]
|
||||
|
||||
# Log the event being displayed
|
||||
summary = event.get('summary', 'No Title')
|
||||
date_text = self._format_event_date(event)
|
||||
time_text = self._format_event_time(event)
|
||||
logger.info(f"Displaying calendar event: {summary}")
|
||||
logger.info(f" Date: {date_text}")
|
||||
logger.info(f" Time: {time_text}")
|
||||
|
||||
# Draw the event
|
||||
self.draw_event(event)
|
||||
|
||||
if not self.events:
|
||||
# Display "No Events" message if the list is empty
|
||||
logger.debug("No calendar events to display")
|
||||
self.display_manager.draw_text("No Events", small_font=True, color=self.text_color)
|
||||
self.display_manager.update_display()
|
||||
return
|
||||
|
||||
# Get the event to display
|
||||
if self.current_event_index >= len(self.events):
|
||||
self.current_event_index = 0 # Wrap around
|
||||
event_to_display = self.events[self.current_event_index]
|
||||
|
||||
# Set force_clear flag for logging
|
||||
self.force_clear = force_clear
|
||||
|
||||
# Draw the event starting at y=2
|
||||
draw_successful = self.draw_event(event_to_display, y_position=2)
|
||||
|
||||
if draw_successful:
|
||||
# Update the display
|
||||
self.display_manager.update_display()
|
||||
logger.debug("CalendarManager event display updated.")
|
||||
else:
|
||||
# Draw failed (error logged in draw_event), show debug message
|
||||
logger.warning("Failed to draw calendar event")
|
||||
self.display_manager.draw_text("Calendar Error", small_font=True, color=self.text_color)
|
||||
self.display_manager.update_display()
|
||||
|
||||
except Exception as e:
|
||||
logger.error(f"Error displaying calendar event: {e}", exc_info=True)
|
||||
|
||||
def advance_event(self):
|
||||
"""Advance to the next event. Called by DisplayManager when calendar display time is up."""
|
||||
|
||||
Reference in New Issue
Block a user