mirror of
https://github.com/ChuckBuilds/LEDMatrix.git
synced 2026-04-12 05:42:59 +00:00
Add detailed logging for calendar events at INFO level
This commit is contained in:
@@ -112,6 +112,20 @@ class CalendarManager:
|
|||||||
).execute()
|
).execute()
|
||||||
|
|
||||||
events = events_result.get('items', [])
|
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
|
return events
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logging.error(f"Error fetching calendar events: {str(e)}")
|
logging.error(f"Error fetching calendar events: {str(e)}")
|
||||||
@@ -269,42 +283,36 @@ class CalendarManager:
|
|||||||
return "Invalid Time"
|
return "Invalid Time"
|
||||||
|
|
||||||
def display(self, force_clear=False):
|
def display(self, force_clear=False):
|
||||||
"""Display the current calendar event on the matrix"""
|
"""Display calendar events on the LED matrix."""
|
||||||
if not self.enabled:
|
if not self.enabled or not self.events:
|
||||||
logger.debug("Calendar manager is disabled, skipping display")
|
|
||||||
return
|
return
|
||||||
|
|
||||||
# Only clear if force_clear is True (mode switch) or no events are drawn
|
try:
|
||||||
if force_clear:
|
if force_clear:
|
||||||
self.display_manager.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
|
# Update the display
|
||||||
self.display_manager.update_display()
|
self.display_manager.update_display()
|
||||||
logger.debug("CalendarManager event display updated.")
|
|
||||||
else:
|
except Exception as e:
|
||||||
# Draw failed (error logged in draw_event), show debug message
|
logger.error(f"Error displaying calendar event: {e}", exc_info=True)
|
||||||
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()
|
|
||||||
|
|
||||||
def advance_event(self):
|
def advance_event(self):
|
||||||
"""Advance to the next event. Called by DisplayManager when calendar display time is up."""
|
"""Advance to the next event. Called by DisplayManager when calendar display time is up."""
|
||||||
|
|||||||
Reference in New Issue
Block a user