Repository navigation
Expand occasions parsing for discussions, introductions, and conversations - #945
Merged
Merged
Conversation
- Read "Director Conversation" and a discussion with someone named as an in conversation, keeping a "Q&A discussion" a Q&A and a "discussion panel" a panel - Read "will introduce the film(s)" as an introduction - Don't read a work put "in conversation with" a film as a guest - Read Ibraaz's own film page for occasions, not only its Ticket Tailor event, which leaves the introduction out - Note an OutSavvy event's "Hosted By" organiser when its description credits no one - Read "Presented in collaboration with X" as X, not "Presented", and note it on Savoy Systems venues Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GBhsxUjNUGUbmiiJSyJM72
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Extends the occasions parsing system to recognize a broader range of event formats: discussions with named participants, introductions with specific wording constraints, and conversations that distinguish between people in the room and works being curated together. Also adds support for reading organiser credits from OutSavvy's "Hosted By" panel and partnership credits from venue descriptions.
Key Changes
inConversationwhen a person is named, filtering out unnamed discussions (audience talking) and panel/Q&A discussions which are their own occasion typesintropattern to match only when the film/screening is the object ("will introduce the films"), excluding programme copy that introduces audiences to things and titles like "Introducing the Dwights"conversationWithWorkpattern to exclude curator phrases like "in conversation with the final chapter of Taring Padi's Rakyat Pasti Menang" (an exhibition), which are not guest appearancesinConversationoccasionsgetPresenterNoteto recognize "Presented in collaboration with" and "Presented in partnership with" patterns, preserving the venue's wordingImplementation Details
common/occasions.js:conversationRole,conversationWithWork,notInTheRoomOrAWorkinConversationto handle multiple pattern types and exclude works being curatedintrorule with negative lookahead and object-matching constraintsgetPresenterNoteincommon/utils.jsto handle partnership patterns withPRESENTED_WITH_PATTERNgetPresentedNotefunction incommon/savoysystems.co.uk/transform.jsfor extracting and filtering partnership creditsgetPresentedByNoteto check "Hosted By" panel as fallbackmergeOccasionsexport incommon/utils.jsfor combining occasion objectsTest Coverage
occasions.test.jswith new patterns: director conversations, discussion with named guests, partnership credits, and edge cases (unnamed discussions, programme introductions, works in conversation)