Skip to content

Parse a Tito event's time only once it matches a venue - #936

Merged
alistairjcbrown merged 1 commit into
mainfrom
ccr-e232e178-8bnshg
Nov 11, 2026
Merged

alistairjcbrown merged 1 commit into
mainfrom
ccr-e232e178-8bnshg

Conversation

@alistairjcbrown

Copy link
Copy Markdown
Member

Problem

transform-prepare failed again after #935, this time with:

Error: Expected en-dash in calendar text: "November 16th, 2026"

https://ti.to/queereast/girlfriends_uok_2026 gives a date and no time, and the parser expects a start–end time range. The event is at the University of Kent in Canterbury, so it could never match a venue we carry, but the calendar text was parsed for every event before the venue check. A throw in any source's findEvents fails transform-prepare, so it blocked every venue.

Change

The calendar text is now parsed in convertTitoEvent, after the event has matched the cinema being checked.

  • An event with no time at a venue we don't carry is passed over.
  • An event with no time at a venue we do carry still throws: there is no time to build a performance from, and that is a decision to make when it happens rather than a default to pick now.

Testing

  • Two new cases in sources/ti.to/tests/index.test.js, using the markup from the live page: passed over for a cinema it isn't at, and throws for the cinema it is at.
  • npm test -- sources/ti.to passes (8 tests, 3 snapshots unchanged).
  • Ran the new findEvents over all four events Queer East currently lists (two at Kent, two at East Anglia) against The Garden Cinema and BLOC: no error, no matches.
  • Not run: the full test suite, or a full transform-prepare against the run's retrieved data.

Generated by Claude Code

Tito lists every event an organiser runs, and one in Canterbury with a
date and no time failed transform-prepare for every venue. The calendar
text is now parsed after the venue match, so such an event still stops
the run at a venue we carry and is passed over anywhere else.

Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GBhsxWaH5bizzTJXocRH48
@alistairjcbrown
alistairjcbrown merged commit 5b5ec0d into main Nov 11, 2026
2 checks passed
@alistairjcbrown
alistairjcbrown deleted the ccr-e232e178-8bnshg branch November 11, 2026 07:51
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