$ show franc6/ics_calendar
This repository is a Home Assistant custom integration for displaying ICS (iCalendar) calendars. It fetches calendar data from remote URLs, handles authentication and URL templating, parses ICS files using either the 'recurring_ical_events' or 'ics' library, applies event filtering, and exposes the events as a Home Assistant calendar entity. The architecture follows Home Assistant's custom integration patterns with separate modules for data fetching, parsing, filtering, and entity management. While functional, the project shows signs of stagnation due to expressed maintainer lack of motivation, dependency version pinning, and impending obsolescence from Home Assistant's built-in Remote Calendar integration.
The LLM identified 2 files worth highlighting for reuse:
Encapsulates HTTP complexity for ICS downloads: handles Basic/Digest auth, custom headers, timeout, URL templating with year/month offsets, and caching based on update interval. Demonstrates skill in async HTTP handling, auth management, and cache invalidation. Could be extracted as a standalone utility for caching HTTP resources with auth and templating.
Implements exclude-then-include event filtering with string/regex support and flags (i, m, s). Self-contained and reusable for filtering any list of objects with textual fields. Demonstrates skill in composing regex flags and handling case-insensitive matching in a flexible, configurable manner.