diff --git a/common/known-removable-phrases.js b/common/known-removable-phrases.js index c1ea3f9..58480f4 100644 --- a/common/known-removable-phrases.js +++ b/common/known-removable-phrases.js @@ -221,6 +221,7 @@ const knownRemovablePhrases = [ "Highly Acclaimed Bengali", "PURRsday Screening", "Grounded:", + "Gala Preview Screening", "Naturist Screening", "MediCinema Previews", "Index on Censorship Panel Event", @@ -328,6 +329,7 @@ const knownRemovablePhrases = [ "1956:", "A24:", "A FESTIVE FEAST", + "a film by David Kew", "a Screening and Talk of", "Academy Awards Best Picture 2025:", "Agnes Varda's", @@ -471,6 +473,7 @@ const knownRemovablePhrases = [ "Diane Keaton and ", "Director Q&A", "directed by Philippe Lacôte", + "Doc'n Roll x Rio:", "Doc 'n Roll:", "doc ‘n roll", "Doc'N Roll FF 24:", @@ -552,6 +555,7 @@ const knownRemovablePhrases = [ "green screen;", "green screen ", "HW4P Solidarity on Screen:", + "Little White Lies:", "Live stand-up &", "Horace Ové’s", "Kinoteka:", @@ -641,6 +645,7 @@ const knownRemovablePhrases = [ "Love... Obsession... Music!:", "BFI LFF: Opening Night Gala", "BFI LFF: Closing Night Gala", + "Birthday:", "LSF 2025:", "Lynchspirations:", "Christmas M4J:", diff --git a/common/normalize-title.js b/common/normalize-title.js index e9075b3..70ed01d 100644 --- a/common/normalize-title.js +++ b/common/normalize-title.js @@ -577,6 +577,7 @@ function normalizeTitle(title, options) { ["La Scala Milan: ", "La Scala: "], ["La Scala Opera - Cosi Fan Tutte: Mozart", "La Scala: Cosi Fan Tutte"], ["Pompeii: Below the Clouds", "Pompei: Below the Clouds"], + [/Guest `?Event - /i, "Guest Event: "], ]; corrections.forEach(([phrase, replacement]) => { diff --git a/common/tests/test-titles.json b/common/tests/test-titles.json index 98c77cb..c54e445 100644 --- a/common/tests/test-titles.json +++ b/common/tests/test-titles.json @@ -980,8 +980,8 @@ "output": "young filmmakers saturday club bromley" }, { - "input": "André Rieu's 75th Birthday: The Dream Continues", - "output": "andre rieus 75th birthday the dream continues" + "input": "André Rieu's 75th The Dream Continues", + "output": "andre rieus 75th the dream continues" }, { "input": "Attack On Titan: The Last Attack (Dubbed)", @@ -10764,8 +10764,8 @@ "output": "sleeping car" }, { - "input": "Andre Rieu's 75th Birthday: The Dream Continues", - "output": "andre rieus 75th birthday the dream continues" + "input": "Andre Rieu's 75th The Dream Continues", + "output": "andre rieus 75th the dream continues" }, { "input": "André Rieu’s Maastricht: Waltz the Night Away!", @@ -54592,8 +54592,8 @@ "output": "soul to soul" }, { - "input": "Pitchblack Playback 10th Birthday: Mystery Album Club (R&B/Electronica)", - "output": "pitchblack playback 10th birthday mystery album club" + "input": "Pitchblack Playback 10th Mystery Album Club (R&B/Electronica)", + "output": "pitchblack playback 10th mystery album club" }, { "input": "Awards Season: Kiss of the Spider Woman", @@ -55188,8 +55188,8 @@ "output": "if i had legs id kick you" }, { - "input": "QOBUZ Presents Pitchblack Playback 10th Birthday: Mystery Album Club (R&B/Electronica)", - "output": "pitchblack playback 10th birthday mystery album club" + "input": "QOBUZ Presents Pitchblack Playback 10th Mystery Album Club (R&B/Electronica)", + "output": "pitchblack playback 10th mystery album club" }, { "input": "Star Trek (12A)", @@ -55610,5 +55610,121 @@ { "input": "Get Going Event - Greenpeace Volunteering!", "output": "get going event" + }, + { + "input": "IRIS ON THE MOVE: BREAKING THE LAW + LIVE Q&A", + "output": "iris on the move breaking the law" + }, + { + "input": "LIVE CONCERT: DUCATO PIOTROWSKI QUARTET", + "output": "live concert ducato piotrowski quartet" + }, + { + "input": "THE SESSION MAN + LIVE Q&A", + "output": "session man" + }, + { + "input": "Resurrection + ScreenTalk with director Bi Gan (via Zoom)", + "output": "resurrection" + }, + { + "input": "BFI IMAX Special Preview: Pegasus 3", + "output": "pegasus 3" + }, + { + "input": "Pegasus 3", + "output": "pegasus 3" + }, + { + "input": "Near Dark + intro by actor Joshua John Miller", + "output": "near dark" + }, + { + "input": "Eklo - I (Nepali)", + "output": "eklo" + }, + { + "input": "The Kerala Story 2: Goes Beyond (Hindi)", + "output": "kerala story 2 goes beyond" + }, + { + "input": "Soundtracking: Broken English", + "output": "broken english" + }, + { + "input": "WePresent x Minute Shorts present: CKTRL “Spirit”", + "output": "cktrl spirit" + }, + { + "input": "Empire of Lies Gala Preview Screening + Q&A", + "output": "empire of lies" + }, + { + "input": "I'm Migrant: Koutaiba al Janabi and Ghani Alani - I'm Migrant Film Festival", + "output": "im migrant koutaiba al janabi ghani alani" + }, + { + "input": "LONG TAKE: Come on Pilgrim", + "output": "long take come on pilgrim" + }, + { + "input": "Scarlet", + "output": "scarlet" + }, + { + "input": "Splitsville", + "output": "splitsville" + }, + { + "input": "The Running Man + Edgar Wright Q&A", + "output": "running man" + }, + { + "input": "Drink & Dine: Purple Rain + Prince Dance Party", + "output": "purple rain" + }, + { + "input": "East London Doc Club: A Want in Her + Q&A", + "output": "a want in her" + }, + { + "input": "Hackney Film Quiz", + "output": "hackney film quiz" + }, + { + "input": "Nish Kumar; Nish, Don’t Kill My Vibe + Q&A ", + "output": "nish kumar nish dont kill my vibe" + }, + { + "input": "Romeo + Juliet (30th Anniversary)", + "output": "romeo+juliet" + }, + { + "input": "Doc'n Roll x Rio: PARADISE UK Premiere + Q&A", + "output": "paradise" + }, + { + "input": "Little White Lies: The Testament of Ann Lee", + "output": "testament of ann lee" + }, + { + "input": "Birthday Preview: Lesbian Space Princess + Intro by Sally TM & Director Q&A", + "output": "lesbian space princess" + }, + { + "input": "Birthday: Mystery Movie", + "output": "mystery movie" + }, + { + "input": "Guest `Event - The Artist Who Disappeared, a film by David Kew", + "output": "artist who disappeared" + }, + { + "input": "The Bride!", + "output": "the bride" + }, + { + "input": "Editing Masterclass with Ewelina Rosinska", + "output": "editing masterclass with ewelina rosinska" } ]