diff --git a/common/known-removable-phrases.js b/common/known-removable-phrases.js index f4316059..81103add 100644 --- a/common/known-removable-phrases.js +++ b/common/known-removable-phrases.js @@ -980,7 +980,7 @@ const knownRemovablePhrases = [ "Only 4 Days to Go:", "Only 3 Days to Go:", "Only 2 Days to Go:", - "Only 1 Days to Go:", + "Only 1 Day to Go:", "Open Captioned Previews", "Open City Documentary Festival Combined Programme:", "Open City Documentary Festival:", diff --git a/common/tests/test-titles.json b/common/tests/test-titles.json index edbfafc8..ce82f2e2 100644 --- a/common/tests/test-titles.json +++ b/common/tests/test-titles.json @@ -85282,5 +85282,29 @@ { "input": "The Last Guest of the Holloway Motel + Directors Q&A", "output": "last guest of the holloway motel" + }, + { + "input": "London's Last Wilderness at the Close Up Cinema Shoreditch.", + "output": "londons last wilderness" + }, + { + "input": "Only 1 Day to Go: Tangerine (2015)", + "output": "tangerine (2015)" + }, + { + "input": "Get to Know Your Camera Like a Pro - One Day Intensive Workshop: Photography Workshop with Hannah Davis", + "output": "get to know your camera like a pro" + }, + { + "input": "Immersed In Shadows: Premiere Screening + Q&A", + "output": "immersed in shadows" + }, + { + "input": "Portraits With Confidence - One Day Intensive Workshop for Beginners: Photography Workshop with Hannah Davis", + "output": "portraits with confidence" + }, + { + "input": "Somewhere To Stay", + "output": "somewhere to stay" } ] diff --git a/common/utils.js b/common/utils.js index 046c592e..1f4ea368 100644 --- a/common/utils.js +++ b/common/utils.js @@ -770,6 +770,9 @@ const isPrivateHire = (title = "") => basicNormalize(title).includes("conferencing 6 hour") || basicNormalize(title).includes("do not book"); +const isOnline = (title = "") => + basicNormalize(title).includes("online workshop"); + // Backoff schedule (ms) for an overloaded model (502/503). Observed 503 "high // demand" failures cluster into bad windows of up to ~12 min rather than being // independent, so a higher attempt count alone doesn't help — total elapsed @@ -912,6 +915,7 @@ module.exports = { getId, generateShowingId, isPrivateHire, + isOnline, runLlmFunction, getValidClassification, parseTitleAndClassification, diff --git a/scripts/transform/index.js b/scripts/transform/index.js index b6516c05..bf4cfbef 100644 --- a/scripts/transform/index.js +++ b/scripts/transform/index.js @@ -5,6 +5,7 @@ const { basicNormalize, removeMatchingHints, isPrivateHire, + isOnline, } = require("../../common/utils"); const { isSportShowing } = require("../../common/is-sport-showing"); const { getCinema } = require("../../cinemas"); @@ -123,6 +124,7 @@ async function transform( for (const movie of previousReleaseData) { // Don't bring unbookable events back in if (isPrivateHire(movie.title)) continue; + if (isOnline(movie.title)) continue; // Don't bring sports showings back in if (isSportShowing(movie)) continue;