Laev.Calendar (laev v0.1.40)

Copy Markdown View Source

Release calendar for the watchlist: when episodes of pinned shows/anime air, and when pinned movies hit theaters / digital (digital = the moment proper WEB releases replace cams).

Sources — one lookup per watchlist entry, disk-cached 6h:

  • anime → AniList, searched with status RELEASING/NOT_YET_RELEASED so a franchise name resolves to its currently-airing season; the airing schedule lists upcoming episodes with exact timestamps.
  • tv → TMDB's latest season episode list (announced future episodes carry air dates).
  • movies → TMDB release dates (earliest digital + theatrical).

Events are string-keyed maps (JSON round-trip): "date" (ISO), "label", "kind" ("episode"|"digital"|"theatrical"), plus enough context to jump into the watch flow ("type", "tmdb_id", "title", "season", "episode", "anime", "search_title").

Summary

Functions

The next-7-days pulse, from the disk cache ONLY — never fetches, so the home screen stays instant. Stale/missing entries are re-warmed in the background for the next launch. Includes yesterday (things that just dropped). Dated events only, sorted.

All calendar events for the watchlist, window-filtered, date-sorted.

Pre-fetch one entry's schedule into the disk cache, detached — called when a title is pinned, so opening the calendar later is all cache hits.

Functions

cached_events()

The next-7-days pulse, from the disk cache ONLY — never fetches, so the home screen stays instant. Stale/missing entries are re-warmed in the background for the next launch. Includes yesterday (things that just dropped). Dated events only, sorted.

events()

All calendar events for the watchlist, window-filtered, date-sorted.

warm(entry)

Pre-fetch one entry's schedule into the disk cache, detached — called when a title is pinned, so opening the calendar later is all cache hits.