Skip to content

Fix calendar parsing#18

Merged
gburgessiv merged 4 commits intomainfrom
fix-calendar
Feb 27, 2026
Merged

Fix calendar parsing#18
gburgessiv merged 4 commits intomainfrom
fix-calendar

Conversation

@gburgessiv
Copy link
Copy Markdown
Owner

No description provided.

I had to fetch more than 14d to debug
html5ever prints a lot at debug level, filter that.
So the google calendar API says that descriptions _may_ contain HTML, or
may be plain text. In practice, it looks like either they're fully HTML,
or they're fully plain text.

Since I don't feel like writing a shaky "is this HTML" check, just try
to parse the description as plain-text, then try as HTML.
Courtesy of Claude
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR fixes calendar event parsing by handling both plain text and HTML descriptions from the Google Calendar API. The main issue was that the API returns descriptions in either format without indication, causing parsing failures.

Changes:

  • Refactored parse_event_description_data to try plain text parsing first, then fall back to HTML conversion if that fails
  • Added days_to_fetch CLI parameter with default value of 14 days for configurable event fetching
  • Updated logger initialization to use the newer builder API and added module-level filtering for html5ever
  • Added PartialEq and Eq trait derives to enable test assertions
  • Added comprehensive test coverage for plain text, HTML, and edge case scenarios

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.

File Description
calendar_check/src/main.rs Added configurable days_to_fetch CLI parameter, updated logger to use builder API with module-level filtering
calendar_check/src/lib.rs Refactored parsing to try plain text first then HTML fallback, added trait derives for testing, added 7 new test cases covering various parsing scenarios

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@gburgessiv gburgessiv merged commit f1d55f6 into main Feb 27, 2026
6 checks passed
@gburgessiv gburgessiv deleted the fix-calendar branch February 27, 2026 01:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants