Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion cinemas/fulhampier.com/transform.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
const { isNotNonFilmEvent } = require("../../common/is-non-film-event");
const { isNotSportShowing } = require("../../common/is-sport-showing");
const {
createPerformance,
Expand Down Expand Up @@ -82,7 +83,10 @@ async function transform({ eventsData }, sourcedEvents) {
const listOfSourcedEvents = Object.values(sourcedEvents).flatMap(
(events) => events,
);
return movies.filter(isNotSportShowing).concat(listOfSourcedEvents);
return movies
.filter(isNotSportShowing)
.filter(isNotNonFilmEvent)
.concat(listOfSourcedEvents);
}

module.exports = transform;
4 changes: 4 additions & 0 deletions common/known-removable-phrases.js
Original file line number Diff line number Diff line change
Expand Up @@ -176,6 +176,7 @@ const knownRemovablePhrases = [
" with Pet Shop Boys Score",
" with score by Pet Shop Boys",
" x PET SHOP BOYS",
" with live score by HaHa Sounds Collective",
" with live score by Maxim Melton",
" with live score lead by ignacio salvadores",
" with Live Score by Hugo Max",
Expand Down Expand Up @@ -498,6 +499,7 @@ const knownRemovablePhrases = [
"AL PACINO in ",
"Alabaster DePlume:",
"Alexander Skarsgård Double Bill:",
"Amyl and The Sniffers:",
"An Afternoon Of Cinema:",
"An Evening With Radio Times",
"An Evening with Dan Smith & Filmmakers",
Expand Down Expand Up @@ -814,6 +816,8 @@ const knownRemovablePhrases = [
"Little Venice Film Festival 2026:",
"Little White Lies:",
"Live stand-up &",
"live music & dinner",
"Live folk music, Czech drinks & ",
"Liberating Cinema",
"Horace Ové's",
"Kinoteka:",
Expand Down
2 changes: 2 additions & 0 deletions common/normalize-title.js
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ function normalizeTitle(title, options) {
// Specific corrections
const corrections = [
["&", "&"],
[/^gb\s+/i, ""],
[/^Screening Documentary/i, ""],
["HANNAH MONTANA: THE MOVIE", "HANNAH MONTANA MOVIE"],
[/:? The Movie$/i, ""],
Expand Down Expand Up @@ -955,6 +956,7 @@ function normalizeTitle(title, options) {
["Madness: Take It or Leave It", "Take It or Leave It"],
[/^Tonight: /i, ""],
["Freud's Afternoon Session - ", "Freud's Afternoon Session: "],
["Live folk music, Czech drinks + ", "Live folk music, Czech drinks & "],
];

corrections.forEach(([phrase, replacement]) => {
Expand Down
268 changes: 268 additions & 0 deletions common/tests/test-titles.json
Original file line number Diff line number Diff line change
Expand Up @@ -85478,5 +85478,273 @@
{
"input": "Community Cinema at UCL East - Film_k presents: Go Fish (1994)",
"output": "go fish (1994)"
},
{
"input": "LABYRINTH (40th Anniversary)",
"output": "labyrinth"
},
{
"input": "The Dog Stars",
"output": "dog stars"
},
{
"input": "The Dog Stars (with subtitles for the D/deaf and those experiencing hearing loss)",
"output": "dog stars"
},
{
"input": "Song of the Sea",
"output": "song of the sea"
},
{
"input": "Donnie Darko [25th Anniversary]",
"output": "donnie darko"
},
{
"input": "Pan's Labyrinth [20th Anniversary]",
"output": "pans labyrinth"
},
{
"input": "Terminator 2: Judgment Day 35th Anniversary",
"output": "terminator 2 judgment day"
},
{
"input": "Trainspotting [30th Anniversary]",
"output": "trainspotting"
},
{
"input": "gb Minions & Monsters",
"output": "minions monsters"
},
{
"input": "gb Toy Story 5",
"output": "toy story 5"
},
{
"input": "G.D.N (Tamil)",
"output": "g d n"
},
{
"input": "gb DC (Tamil)",
"output": "dc"
},
{
"input": "Thudakkam (Malayalam)",
"output": "thudakkam"
},
{
"input": "Dookudu (Re-release) (Telugu)",
"output": "dookudu"
},
{
"input": "Korean Kanakaraju (Telugu)",
"output": "korean kanakaraju"
},
{
"input": "The Great Punjab Robbery (Punjabi)",
"output": "great punjab robbery"
},
{
"input": "Yaar Jigree Kasooti Degree (Punjabi)",
"output": "yaar jigree kasooti degree"
},
{
"input": "gb DC (Telugu)",
"output": "dc"
},
{
"input": "André Rieu's 2026 Christmas Concert: Let it snow",
"output": "andre rieus 2026 christmas concert let it snow"
},
{
"input": "The Rocky Horror Picture Show Movie Night",
"output": "rocky horror picture show"
},
{
"input": "David McCloskey and Ben Macintyre in conversation at Conway Hall",
"output": "david mccloskey ben macintyre in conversation at conway hall"
},
{
"input": "Amyl and The Sniffers: Truth or Consequence",
"output": "truth or consequence"
},
{
"input": "La Planète Sauvage screening with live score by HaHa Sounds Collective",
"output": "la planete sauvage"
},
{
"input": "10A: The Fitting Room",
"output": "10a the fitting room"
},
{
"input": "Jamie Radcliffe: What Are Kippers?",
"output": "jamie radcliffe what are kippers"
},
{
"input": "The Old Strumpet Poet Of Brighton",
"output": "old strumpet poet of brighton"
},
{
"input": "The Spoon",
"output": "the spoon"
},
{
"input": "To Stay Mum",
"output": "to stay mum"
},
{
"input": "Wasted",
"output": "wasted"
},
{
"input": "Members’ Preview: Pressure",
"output": "pressure"
},
{
"input": "Cinderella (2015)",
"output": "cinderella (2015)"
},
{
"input": "Raya and the Last Dragon",
"output": "raya the last dragon"
},
{
"input": "The Little Mermaid (2023)",
"output": "little mermaid (2023)"
},
{
"input": "Amyl And The Sniffers present: Truth Or Consequence",
"output": "truth or consequence"
},
{
"input": "AMYL AND THE SNIFFERS PRESENT 'TRUTH OR CONSEQUENCE'",
"output": "truth or consequence"
},
{
"input": "First Watch Preview: TEENAGE SEX AND DEATH AT CAMP MIASMA (2026)",
"output": "teenage sex death at camp miasma (2026)"
},
{
"input": "Insidious: Out of the Further",
"output": "insidious out of the further"
},
{
"input": "Harry Potter and the Chamber of Secrets (2002)",
"output": "harry potter the chamber of secrets (2002)"
},
{
"input": "Thudakkam",
"output": "thudakkam"
},
{
"input": "DC (Tamil)",
"output": "dc"
},
{
"input": "DC (Telugu)",
"output": "dc"
},
{
"input": "Korean Kanakaraju",
"output": "korean kanakaraju"
},
{
"input": "People's Emergency Briefing: film screening, live music & dinner",
"output": "peoples emergency briefing"
},
{
"input": "Practical Magic (Re-Release)",
"output": "practical magic"
},
{
"input": "Out at Clapham: Beautiful Thing (30th Anniversary) + Jonathan Harvey Q&A",
"output": "beautiful thing"
},
{
"input": "Aquamarine (20th Anniversary Screening)",
"output": "aquamarine"
},
{
"input": "Stop! That! Train!",
"output": "stop that train"
},
{
"input": "The Transformers: The Movie: 40th Anniversary",
"output": "transformers the movie"
},
{
"input": "AMYL AND THE SNIFFERS PRESENT TRUTH OR CONSEQUENCE",
"output": "truth or consequence"
},
{
"input": "AUDITION (35mm) presented by Asif Kapadia",
"output": "audition"
},
{
"input": "Dream Emulator: BENEATH THE BLISTERED MOON",
"output": "dream emulator beneath the blistered moon"
},
{
"input": "Dream Emulator: SUFFER THE SILENT SUN – FOLK HORROR IN OUR DIGITAL IMAGINATIONS",
"output": "dream emulator suffer the silent sun folk horror in our digital imaginations"
},
{
"input": "GANJA & HESS presented by ASHLEY CLARKE & DIONNE EDWARDS",
"output": "ganja hess"
},
{
"input": "GOODBYE, DRAGON INN presented by Ben Wishaw",
"output": "goodbye dragon inn"
},
{
"input": "Never Watching Movies: EMPIRE RECORDS",
"output": "empire records"
},
{
"input": "It's Different For Girls - UK Premiere + Q&A",
"output": "its different for girls"
},
{
"input": "Amyl and the Sniffers presents: Truth or Consequence",
"output": "truth or consequence"
},
{
"input": "Closely Observed Trains",
"output": "closely observed trains"
},
{
"input": "Diamonds of the Night",
"output": "diamonds of the night"
},
{
"input": "Live folk music, Czech drinks + The Cassandra Cat",
"output": "cassandra cat"
},
{
"input": "Marketa Lazarová",
"output": "marketa lazarova"
},
{
"input": "Reclaim The Frame Presents: Beautiful Thing",
"output": "beautiful thing"
},
{
"input": "Site&Sound 11: Service Please!",
"output": "site&sound 11 service please"
},
{
"input": "The Cassandra Cat",
"output": "cassandra cat"
},
{
"input": "The Firemen’s Ball",
"output": "firemens ball"
},
{
"input": "The Shop on the High Street",
"output": "shop on the high street"
},
{
"input": "The Valley of the Bees",
"output": "valley of the bees"
}
]