diff --git a/data/matches.csv b/data/matches.csv index 46c27ed..afeac7e 100644 --- a/data/matches.csv +++ b/data/matches.csv @@ -33,7 +33,7 @@ Herbaceous,195314,Herbaceous,2017,boardgame,auto,,,version_unknown,"[{""bgg_id"" LABYRINTH,1219,Labyrinth,1986,boardgame,auto,,,version_ambiguous,"[{""bgg_id"": 1219, ""name"": ""Labyrinth"", ""year"": 1986, ""type"": ""boardgame"", ""exact"": true, ""fuzzy"": 100.0, ""owned"": 35117, ""rank"": 2116}, {""bgg_id"": 6546, ""name"": ""Labyrinth"", ""year"": 1940, ""type"": ""boardgame"", ""exact"": true, ""fuzzy"": 100.0, ""owned"": 1078, ""rank"": 31020}, {""bgg_id"": 23074, ""name"": ""Labyrinth"", ""year"": 2000, ""type"": ""boardgame"", ""exact"": true, ""fuzzy"": 100.0, ""owned"": 63, ""rank"": null}, {""bgg_id"": 24422, ""name"": ""Labyrinth"", ""year"": 2001, ""type"": ""boardgame"", ""exact"": true, ""fuzzy"": 100.0, ""owned"": 121, ""rank"": null}, {""bgg_id"": 65696, ""name"": ""Labyrinth"", ""year"": null, ""type"": ""boardgame"", ""exact"": true, ""fuzzy"": 100.0, ""owned"": 46, ""rank"": null}]","[{""version_id"": 488621, ""name"": ""English edition 2017"", ""year"": 2017, ""publishers"": [""Ravensburger AG""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 591493, ""name"": ""English/German edition"", ""year"": 2018, ""publishers"": [""Ravensburger AG""], ""languages"": [""English"", ""German""], ""score"": 3}, {""version_id"": 361899, ""name"": ""Multilingual 30th anniversary edition"", ""year"": 2016, ""publishers"": [""Ravensburger AG""], ""languages"": [""English"", ""French"", ""German"", ""Italian""], ""score"": 3}, {""version_id"": 338520, ""name"": ""Multilingual edition"", ""year"": 2017, ""publishers"": [""Ravensburger AG""], ""languages"": [""English"", ""French"", ""German"", ""Italian"", ""Portuguese"", ""Spanish""], ""score"": 3}, {""version_id"": 440013, ""name"": ""Multilingual edition"", ""year"": 2019, ""publishers"": [""Ravensburger AG""], ""languages"": [""Dutch"", ""English"", ""French"", ""German"", ""Italian""], ""score"": 3}, {""version_id"": 487001, ""name"": ""Multilingual edition"", ""year"": 2019, ""publishers"": [""Ravensburger AG""], ""languages"": [""Dutch"", ""English"", ""French"", ""German"", ""Italian"", ""Spanish""], ""score"": 3}, {""version_id"": 571233, ""name"": ""Multilingual edition"", ""year"": 2021, ""publishers"": [""Ravensburger AG""], ""languages"": [""Dutch"", ""English"", ""French"", ""German"", ""Italian"", ""Portuguese"", ""Spanish""], ""score"": 3}, {""version_id"": 630855, ""name"": ""Multilingual edition"", ""year"": 2022, ""publishers"": [""Ravensburger AG""], ""languages"": [""Dutch"", ""English"", ""French"", ""German"", ""Italian"", ""Portuguese"", ""Spanish""], ""score"": 3}]",IMG_4507.jpeg;IMG_4508.jpeg,, Super Mario Checkers Collector's Edition,,,,,local,,,,[],[],IMG_4508.jpeg,, Dragon Land,320202,Dragon Land,2020,boardgame,auto,,,version_unknown,"[{""bgg_id"": 320202, ""name"": ""Dragon Land"", ""year"": 2020, ""type"": ""boardgame"", ""exact"": true, ""fuzzy"": 100.0, ""owned"": null, ""rank"": null}]",[],IMG_4508.jpeg;IMG_4542.jpeg,, -Bugs in the Kitchen,137909,Bugs in the Kitchen,2013,boardgame,auto,,,version_ambiguous,"[{""bgg_id"": 137909, ""name"": ""Bugs in the Kitchen"", ""year"": 2013, ""type"": ""boardgame"", ""exact"": true, ""fuzzy"": 100.0, ""owned"": null, ""rank"": null}]","[{""version_id"": 280025, ""name"": ""Chinese/English edition"", ""year"": 2014, ""publishers"": [""Ravensburger AG""], ""languages"": [""Chinese"", ""English""], ""score"": 3}, {""version_id"": 751514, ""name"": ""English edition 2024"", ""year"": 2024, ""publishers"": [""Ravensburger AG""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 216474, ""name"": ""English first edition"", ""year"": 2013, ""publishers"": [""Ravensburger AG""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 435117, ""name"": ""English second edition"", ""year"": 2018, ""publishers"": [""Ravensburger AG""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 212273, ""name"": ""Multilingual EN/FR/DE/IT/NE/SP"", ""year"": 2013, ""publishers"": [""Ravensburger AG""], ""languages"": [""Dutch"", ""English"", ""French"", ""German"", ""Italian"", ""Spanish""], ""score"": 3}, {""version_id"": 260936, ""name"": ""French first edition"", ""year"": 2013, ""publishers"": [""Ravensburger AG""], ""languages"": [""French""], ""score"": 2}, {""version_id"": 726152, ""name"": ""German edition 2024"", ""year"": 2024, ""publishers"": [""Ravensburger AG""], ""languages"": [""German""], ""score"": 2}, {""version_id"": 199002, ""name"": ""German first edition"", ""year"": 2013, ""publishers"": [""Ravensburger AG""], ""languages"": [""German""], ""score"": 2}]",IMG_4508.jpeg;IMG_4545.jpeg,, +Bugs in the Kitchen,137909,Bugs in the Kitchen,2013,boardgame,auto,216474,English first edition,version_approved,"[{""bgg_id"": 137909, ""name"": ""Bugs in the Kitchen"", ""year"": 2013, ""type"": ""boardgame"", ""exact"": true, ""fuzzy"": 100.0, ""owned"": null, ""rank"": null}]","[{""version_id"": 280025, ""name"": ""Chinese/English edition"", ""year"": 2014, ""publishers"": [""Ravensburger AG""], ""languages"": [""Chinese"", ""English""], ""score"": 3}, {""version_id"": 751514, ""name"": ""English edition 2024"", ""year"": 2024, ""publishers"": [""Ravensburger AG""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 216474, ""name"": ""English first edition"", ""year"": 2013, ""publishers"": [""Ravensburger AG""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 435117, ""name"": ""English second edition"", ""year"": 2018, ""publishers"": [""Ravensburger AG""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 212273, ""name"": ""Multilingual EN/FR/DE/IT/NE/SP"", ""year"": 2013, ""publishers"": [""Ravensburger AG""], ""languages"": [""Dutch"", ""English"", ""French"", ""German"", ""Italian"", ""Spanish""], ""score"": 3}, {""version_id"": 260936, ""name"": ""French first edition"", ""year"": 2013, ""publishers"": [""Ravensburger AG""], ""languages"": [""French""], ""score"": 2}, {""version_id"": 726152, ""name"": ""German edition 2024"", ""year"": 2024, ""publishers"": [""Ravensburger AG""], ""languages"": [""German""], ""score"": 2}, {""version_id"": 199002, ""name"": ""German first edition"", ""year"": 2013, ""publishers"": [""Ravensburger AG""], ""languages"": [""German""], ""score"": 2}]",IMG_4508.jpeg;IMG_4545.jpeg,, CATAN DICE GAME,27710,Catan Dice Game,2007,boardgame,auto,,,version_ambiguous,"[{""bgg_id"": 27710, ""name"": ""Catan Dice Game"", ""year"": 2007, ""type"": ""boardgame"", ""exact"": true, ""fuzzy"": 100.0, ""owned"": null, ""rank"": null}]","[{""version_id"": 606657, ""name"": ""English edition 2018"", ""year"": 2018, ""publishers"": [""Catan Studio""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 565571, ""name"": ""English edition 2020"", ""year"": 2020, ""publishers"": [""Catan Studio""], ""languages"": [""English""], ""score"": 3}]",IMG_4509.jpeg,, Castle Panic THE DARK TITAN,169784,Castle Panic: The Dark Titan,2015,boardgame,auto,,,version_ambiguous,"[{""bgg_id"": 169784, ""name"": ""Castle Panic: The Dark Titan"", ""year"": 2015, ""type"": ""boardgame"", ""exact"": true, ""fuzzy"": 100.0, ""owned"": null, ""rank"": null}]","[{""version_id"": 260454, ""name"": ""English first edition"", ""year"": 2015, ""publishers"": [""Fireside Games""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 624505, ""name"": ""English second edition"", ""year"": 2023, ""publishers"": [""Fireside Games""], ""languages"": [""English""], ""score"": 3}]",IMG_4509.jpeg,, Jenga,2452,Jenga,1983,boardgame,auto,,,version_unknown,"[{""bgg_id"": 2452, ""name"": ""Jenga"", ""year"": 1983, ""type"": ""boardgame"", ""exact"": true, ""fuzzy"": 100.0, ""owned"": null, ""rank"": null}]",[],IMG_4509.jpeg,, @@ -49,7 +49,7 @@ Kensington,2197,Kensington,1979,boardgame,auto,,,version_unknown,"[{""bgg_id"": Guillotine,116,Guillotine,1998,boardgame,auto,,,version_unknown,"[{""bgg_id"": 116, ""name"": ""Guillotine"", ""year"": 1998, ""type"": ""boardgame"", ""exact"": true, ""fuzzy"": 100.0, ""owned"": 34783, ""rank"": 1630}, {""bgg_id"": 11629, ""name"": ""Guillotine"", ""year"": 1983, ""type"": ""boardgame"", ""exact"": true, ""fuzzy"": 100.0, ""owned"": 87, ""rank"": 18073}, {""bgg_id"": 27373, ""name"": ""Guillotine"", ""year"": 1987, ""type"": ""boardgame"", ""exact"": true, ""fuzzy"": 100.0, ""owned"": 163, ""rank"": 19576}]",[],IMG_4512.jpeg,, THE DOOM THAT CAME TO ATLANTIC CITY,124548,The Doom That Came to Atlantic City,2013,boardgame,auto,,,version_unknown,"[{""bgg_id"": 124548, ""name"": ""The Doom That Came to Atlantic City"", ""year"": 2013, ""type"": ""boardgame"", ""exact"": true, ""fuzzy"": 100.0, ""owned"": null, ""rank"": null}]",[],IMG_4513.jpeg,, Flick'em UP!,169124,Flick 'em Up!,2015,boardgame,auto,,,version_unknown,"[{""bgg_id"": 169124, ""name"": ""Flick 'em Up!"", ""year"": 2015, ""type"": ""boardgame"", ""exact"": true, ""fuzzy"": 100.0, ""owned"": null, ""rank"": null}]",[],IMG_4513.jpeg,, -Castle Panic,43443,Castle Panic,2009,boardgame,auto,,,version_ambiguous,"[{""bgg_id"": 43443, ""name"": ""Castle Panic"", ""year"": 2009, ""type"": ""boardgame"", ""exact"": true, ""fuzzy"": 100.0, ""owned"": null, ""rank"": null}]","[{""version_id"": 468123, ""name"": ""English edition, eighteenth printing"", ""year"": 2018, ""publishers"": [""Fireside Games""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 222131, ""name"": ""English edition, eighth printing"", ""year"": 2013, ""publishers"": [""Fireside Games""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 265959, ""name"": ""English edition, eleventh printing"", ""year"": 2014, ""publishers"": [""Fireside Games""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 343185, ""name"": ""English edition, fifteenth printing"", ""year"": 2016, ""publishers"": [""Fireside Games""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 169933, ""name"": ""English edition, fifth printing"", ""year"": 2012, ""publishers"": [""Fireside Games""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 24624, ""name"": ""English edition, first printing"", ""year"": 2009, ""publishers"": [""Fireside Games""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 337551, ""name"": ""English edition, fourteenth printing"", ""year"": 2016, ""publishers"": [""Fireside Games""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 103068, ""name"": ""English edition, fourth printing"", ""year"": 2010, ""publishers"": [""Fireside Games""], ""languages"": [""English""], ""score"": 3}]",IMG_4513.jpeg,, +Castle Panic,43443,Castle Panic,2009,boardgame,auto,103068,"English edition, fourth printing",version_approved,"[{""bgg_id"": 43443, ""name"": ""Castle Panic"", ""year"": 2009, ""type"": ""boardgame"", ""exact"": true, ""fuzzy"": 100.0, ""owned"": null, ""rank"": null}]","[{""version_id"": 468123, ""name"": ""English edition, eighteenth printing"", ""year"": 2018, ""publishers"": [""Fireside Games""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 222131, ""name"": ""English edition, eighth printing"", ""year"": 2013, ""publishers"": [""Fireside Games""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 265959, ""name"": ""English edition, eleventh printing"", ""year"": 2014, ""publishers"": [""Fireside Games""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 343185, ""name"": ""English edition, fifteenth printing"", ""year"": 2016, ""publishers"": [""Fireside Games""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 169933, ""name"": ""English edition, fifth printing"", ""year"": 2012, ""publishers"": [""Fireside Games""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 24624, ""name"": ""English edition, first printing"", ""year"": 2009, ""publishers"": [""Fireside Games""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 337551, ""name"": ""English edition, fourteenth printing"", ""year"": 2016, ""publishers"": [""Fireside Games""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 103068, ""name"": ""English edition, fourth printing"", ""year"": 2010, ""publishers"": [""Fireside Games""], ""languages"": [""English""], ""score"": 3}]",IMG_4513.jpeg,, The Red Dragon Inn,24310,The Red Dragon Inn,2007,boardgame,auto,,,version_ambiguous,"[{""bgg_id"": 24310, ""name"": ""The Red Dragon Inn"", ""year"": 2007, ""type"": ""boardgame"", ""exact"": true, ""fuzzy"": 100.0, ""owned"": 16870, ""rank"": 2164}, {""bgg_id"": 33451, ""name"": ""The Red Dragon Inn 2"", ""year"": 2008, ""type"": ""boardgame"", ""exact"": false, ""fuzzy"": 93.3, ""owned"": 8355, ""rank"": 2056}, {""bgg_id"": 66510, ""name"": ""The Red Dragon Inn 3"", ""year"": 2011, ""type"": ""boardgame"", ""exact"": false, ""fuzzy"": 93.3, ""owned"": 6246, ""rank"": 2363}, {""bgg_id"": 142402, ""name"": ""The Red Dragon Inn 4"", ""year"": 2013, ""type"": ""boardgame"", ""exact"": false, ""fuzzy"": 93.3, ""owned"": 4107, ""rank"": 3367}, {""bgg_id"": 455834, ""name"": ""The Red Dragon Inn 10"", ""year"": 2026, ""type"": ""boardgame"", ""exact"": false, ""fuzzy"": 90.3, ""owned"": 162, ""rank"": null}]","[{""version_id"": 400341, ""name"": ""English eighth edition"", ""year"": 2017, ""publishers"": [""SlugFest Games""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 620786, ""name"": ""English eleventh edition"", ""year"": 2021, ""publishers"": [""SlugFest Games""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 762888, ""name"": ""English fifteenth edition"", ""year"": 2024, ""publishers"": [""SlugFest Games""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 374258, ""name"": ""English fifth edition"", ""year"": 2012, ""publishers"": [""SlugFest Games""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 33932, ""name"": ""English first edition"", ""year"": 2007, ""publishers"": [""SlugFest Games""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 728027, ""name"": ""English fourteenth edition"", ""year"": 2023, ""publishers"": [""SlugFest Games""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 312374, ""name"": ""English seventh edition"", ""year"": 2015, ""publishers"": [""SlugFest Games""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 389768, ""name"": ""English sixth edition"", ""year"": 2014, ""publishers"": [""SlugFest Games""], ""languages"": [""English""], ""score"": 3}]",IMG_4514.jpeg,, Dixit,39856,Dixit,2008,boardgame,auto,,,version_ambiguous,"[{""bgg_id"": 39856, ""name"": ""Dixit"", ""year"": 2008, ""type"": ""boardgame"", ""exact"": true, ""fuzzy"": 100.0, ""owned"": null, ""rank"": null}]","[{""version_id"": 482308, ""name"": ""Afrikaans/English edition"", ""year"": 2019, ""publishers"": [""Libellud""], ""languages"": [""Afrikaans"", ""English""], ""score"": 3}, {""version_id"": 488774, ""name"": ""Arabic/English edition"", ""year"": 2019, ""publishers"": [""Boardgame Space"", ""Libellud""], ""languages"": [""Arabic"", ""English""], ""score"": 3}, {""version_id"": 296529, ""name"": ""Asmodee/Libellud English edition 2015"", ""year"": 2015, ""publishers"": [""Libellud""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 160064, ""name"": ""English edition 2011"", ""year"": 2011, ""publishers"": [""Libellud""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 193872, ""name"": ""English edition 2012"", ""year"": 2012, ""publishers"": [""Libellud""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 241272, ""name"": ""English edition 2013"", ""year"": 2013, ""publishers"": [""Libellud""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 256721, ""name"": ""English edition 2014"", ""year"": 2014, ""publishers"": [""Libellud""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 273210, ""name"": ""English edition 2014"", ""year"": 2014, ""publishers"": [""Libellud""], ""languages"": [""English""], ""score"": 3}]",IMG_4514.jpeg,, Huggermugger,2387,Huggermugger,1989,boardgame,auto,,,version_unknown,"[{""bgg_id"": 2387, ""name"": ""Huggermugger"", ""year"": 1989, ""type"": ""boardgame"", ""exact"": true, ""fuzzy"": 100.0, ""owned"": null, ""rank"": null}]",[],IMG_4514.jpeg,, @@ -120,7 +120,7 @@ ALICE IS MISSING A SILENT ROLE PLAYING GAME,,,,,local,,,,[],[],IMG_4566.jpeg,, ETHERFIELDS KITTENBURG EXPANSION,358880,Etherfields: Kittenburg Expansion,2022,boardgame,auto,603694,English edition,version_auto,"[{""bgg_id"": 358880, ""name"": ""Etherfields: Kittenburg Expansion"", ""year"": 2022, ""type"": ""boardgame"", ""exact"": true, ""fuzzy"": 100.0, ""owned"": null, ""rank"": null}]","[{""version_id"": 603694, ""name"": ""English edition"", ""year"": 2022, ""publishers"": [""Awaken Realms""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 709658, ""name"": ""Polish edition"", ""year"": 2022, ""publishers"": [""Awaken Realms""], ""languages"": [""Polish""], ""score"": 2}, {""version_id"": 699892, ""name"": ""Spanish edition"", ""year"": 2022, ""publishers"": [""Awaken Realms""], ""languages"": [""Spanish""], ""score"": 2}]",IMG_4570.jpeg,, Parsely,258849,Parsely,2018,rpgitem,auto,,,version_unknown,"[{""bgg_id"": 258849, ""name"": ""Parsely"", ""year"": 2018, ""type"": ""rpgitem"", ""exact"": true, ""fuzzy"": 100.0, ""owned"": null, ""rank"": null}]",[],IMG_4573.jpeg,, "...and then, we held hands.",153999,"...and then, we held hands.",2015,boardgame,auto,280845,English edition,version_auto,"[{""bgg_id"": 153999, ""name"": ""...and then, we held hands."", ""year"": 2015, ""type"": ""boardgame"", ""exact"": true, ""fuzzy"": 100.0, ""owned"": null, ""rank"": null}]","[{""version_id"": 280845, ""name"": ""English edition"", ""year"": 2015, ""publishers"": [""LudiCreations""], ""languages"": [""English""], ""score"": 3}]",image.jpg,, -Consentacle,166976,Consentacle,2014,boardgame,auto,,,version_ambiguous,"[{""bgg_id"": 166976, ""name"": ""Consentacle"", ""year"": 2014, ""type"": ""boardgame"", ""exact"": true, ""fuzzy"": 100.0, ""owned"": null, ""rank"": null}]","[{""version_id"": 410382, ""name"": ""English Kickstarter edition"", ""year"": 2018, ""publishers"": [""(Self-Published)""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 596756, ""name"": ""English Print-and-Play edition"", ""year"": 2018, ""publishers"": [""(Self-Published)""], ""languages"": [""English""], ""score"": 3}]",shelf-20260803-171316.jpg,, +Consentacle,166976,Consentacle,2014,boardgame,auto,410382,English Kickstarter edition,version_approved,"[{""bgg_id"": 166976, ""name"": ""Consentacle"", ""year"": 2014, ""type"": ""boardgame"", ""exact"": true, ""fuzzy"": 100.0, ""owned"": null, ""rank"": null}]","[{""version_id"": 410382, ""name"": ""English Kickstarter edition"", ""year"": 2018, ""publishers"": [""(Self-Published)""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 596756, ""name"": ""English Print-and-Play edition"", ""year"": 2018, ""publishers"": [""(Self-Published)""], ""languages"": [""English""], ""score"": 3}]",shelf-20260803-171316.jpg,, The Simpsons Trivia Game,2980,The Simpsons Trivia Game,2000,boardgame,auto,,,version_unknown,"[{""bgg_id"": 2980, ""name"": ""The Simpsons Trivia Game"", ""year"": 2000, ""type"": ""boardgame"", ""exact"": true, ""fuzzy"": 100.0, ""owned"": 786, ""rank"": 30823}, {""bgg_id"": 16343, ""name"": ""The Simpsons 2 Trivia Game"", ""year"": 2001, ""type"": ""boardgame"", ""exact"": false, ""fuzzy"": 95.2, ""owned"": 76, ""rank"": null}]",[],shelf-20260803-213735.jpg,, THE CAT GAME,231302,The Cat Game,2017,boardgame,auto,,,version_ambiguous,"[{""bgg_id"": 231302, ""name"": ""The Cat Game"", ""year"": 2017, ""type"": ""boardgame"", ""exact"": true, ""fuzzy"": 100.0, ""owned"": null, ""rank"": null}]","[{""version_id"": 361880, ""name"": ""English/French edition"", ""year"": 2017, ""publishers"": [""Spin Master Ltd.""], ""languages"": [""English"", ""French""], ""score"": 2}, {""version_id"": 433263, ""name"": ""German edition"", ""year"": 0, ""publishers"": [""Spin Master Ltd.""], ""languages"": [""German""], ""score"": 2}]",shelf-20260803-213756.jpg,, BLINK,1197,Blink,1995,boardgame,auto,,,version_unknown,"[{""bgg_id"": 1197, ""name"": ""Blink"", ""year"": 1995, ""type"": ""boardgame"", ""exact"": true, ""fuzzy"": 100.0, ""owned"": 6143, ""rank"": 6149}, {""bgg_id"": 185341, ""name"": ""Blink!"", ""year"": 2015, ""type"": ""boardgame"", ""exact"": true, ""fuzzy"": 100.0, ""owned"": 111, ""rank"": null}, {""bgg_id"": 15852, ""name"": ""Blinki"", ""year"": 1910, ""type"": ""boardgame"", ""exact"": false, ""fuzzy"": 90.9, ""owned"": 106, ""rank"": 30046}]",[],shelf-20260803-215650.jpg,, @@ -128,7 +128,10 @@ The Office Trivia Game,352819,The Office Trivia Game,2019,boardgame,approved,,,v Patchwork,163412,Patchwork,2014,boardgame,auto,,,version_unknown,"[{""bgg_id"": 163412, ""name"": ""Patchwork"", ""year"": 2014, ""type"": ""boardgame"", ""exact"": true, ""fuzzy"": 100.0, ""owned"": 124114, ""rank"": 148}, {""bgg_id"": 41585, ""name"": ""Patchwork"", ""year"": 2009, ""type"": ""boardgame"", ""exact"": true, ""fuzzy"": 100.0, ""owned"": 473, ""rank"": 14984}]",[],IMG_4501.jpeg,, MANTIS FALLS,291847,Mantis Falls,2021,boardgame,auto,,,version_unknown,"[{""bgg_id"": 291847, ""name"": ""Mantis Falls"", ""year"": 2021, ""type"": ""boardgame"", ""exact"": true, ""fuzzy"": 100.0, ""owned"": null, ""rank"": null}]",[],IMG_4505.jpeg,, SMALL WORLD,40692,Small World,2009,boardgame,auto,,,version_ambiguous,"[{""bgg_id"": 40692, ""name"": ""Small World"", ""year"": 2009, ""type"": ""boardgame"", ""exact"": true, ""fuzzy"": 100.0, ""owned"": null, ""rank"": null}]","[{""version_id"": 488854, ""name"": ""English edition 2019"", ""year"": 2019, ""publishers"": [""Days of Wonder""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 23936, ""name"": ""English first edition"", ""year"": 2009, ""publishers"": [""Days of Wonder""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 174280, ""name"": ""English second edition"", ""year"": 2010, ""publishers"": [""Days of Wonder""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 294178, ""name"": ""English third edition"", ""year"": 2012, ""publishers"": [""Days of Wonder""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 478262, ""name"": ""Chinese edition"", ""year"": 2018, ""publishers"": [""Days of Wonder""], ""languages"": [""Chinese""], ""score"": 2}, {""version_id"": 24053, ""name"": ""Dutch edition"", ""year"": 2009, ""publishers"": [""Days of Wonder""], ""languages"": [""Dutch""], ""score"": 2}, {""version_id"": 73633, ""name"": ""French first edition"", ""year"": 2009, ""publishers"": [""Days of Wonder""], ""languages"": [""French""], ""score"": 2}, {""version_id"": 287468, ""name"": ""French second edition"", ""year"": 2010, ""publishers"": [""Days of Wonder""], ""languages"": [""French""], ""score"": 2}]",IMG_4513.jpeg,, -ARTISTRY,432858,Artistry,2025,boardgame,auto,,,version_ambiguous,"[{""bgg_id"": 432858, ""name"": ""Artistry"", ""year"": 2025, ""type"": ""boardgame"", ""exact"": true, ""fuzzy"": 100.0, ""owned"": null, ""rank"": null}]","[{""version_id"": 762382, ""name"": ""English Deluxe edition"", ""year"": 2025, ""publishers"": [""Dux Somnium Games""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 734890, ""name"": ""English edition"", ""year"": 2025, ""publishers"": [""Dux Somnium Games""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 762383, ""name"": ""English Jewelry Box edition"", ""year"": 2025, ""publishers"": [""Dux Somnium Games""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 777369, ""name"": ""Russian edition"", ""year"": 2026, ""publishers"": [""Choo Choo Games"", ""Dux Somnium Games""], ""languages"": [""Russian""], ""score"": 2}]",IMG_4515.jpeg,, +ARTISTRY,432858,Artistry,2025,boardgame,auto,734890,English edition,version_approved,"[{""bgg_id"": 432858, ""name"": ""Artistry"", ""year"": 2025, ""type"": ""boardgame"", ""exact"": true, ""fuzzy"": 100.0, ""owned"": null, ""rank"": null}]","[{""version_id"": 762382, ""name"": ""English Deluxe edition"", ""year"": 2025, ""publishers"": [""Dux Somnium Games""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 734890, ""name"": ""English edition"", ""year"": 2025, ""publishers"": [""Dux Somnium Games""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 762383, ""name"": ""English Jewelry Box edition"", ""year"": 2025, ""publishers"": [""Dux Somnium Games""], ""languages"": [""English""], ""score"": 3}, {""version_id"": 777369, ""name"": ""Russian edition"", ""year"": 2026, ""publishers"": [""Choo Choo Games"", ""Dux Somnium Games""], ""languages"": [""Russian""], ""score"": 2}]",IMG_4515.jpeg,, MAGE WARS ACADEMY,172503,Mage Wars Academy,2015,boardgame,auto,265107,English edition,version_auto,"[{""bgg_id"": 172503, ""name"": ""Mage Wars Academy"", ""year"": 2015, ""type"": ""boardgame"", ""exact"": true, ""fuzzy"": 100.0, ""owned"": null, ""rank"": null}]","[{""version_id"": 265107, ""name"": ""English edition"", ""year"": 2015, ""publishers"": [""Arcane Wonders""], ""languages"": [""English""], ""score"": 3}]",IMG_4518.jpeg,, BOTANY: TANTALIZING TREES,417060,Botany: Tantalizing Trees,2024,boardgameexpansion,auto,706506,English edition,version_auto,"[{""bgg_id"": 417060, ""name"": ""Botany: Tantalizing Trees"", ""year"": 2024, ""type"": ""boardgameexpansion"", ""exact"": true, ""fuzzy"": 100.0, ""owned"": null, ""rank"": null}]","[{""version_id"": 706506, ""name"": ""English edition"", ""year"": 2024, ""publishers"": [""Dux Somnium Games""], ""languages"": [""English""], ""score"": 3}]",IMG_4571.jpeg,, BOTANY: PERILOUS PERFUMES,417064,Botany: Perilous Perfumes,2024,boardgameexpansion,auto,706510,English edition,version_auto,"[{""bgg_id"": 417064, ""name"": ""Botany: Perilous Perfumes"", ""year"": 2024, ""type"": ""boardgameexpansion"", ""exact"": true, ""fuzzy"": 100.0, ""owned"": null, ""rank"": null}]","[{""version_id"": 706510, ""name"": ""English edition"", ""year"": 2024, ""publishers"": [""Dux Somnium Games""], ""languages"": [""English""], ""score"": 3}]",IMG_4571.jpeg,, +Civilization: West Extension Map,2058,Civilization: West Extension Map,1986,boardgameexpansion,auto,,,version_unknown,"[{""bgg_id"": 2058, ""name"": ""Civilization: West Extension Map"", ""year"": 1986, ""type"": ""boardgameexpansion"", ""exact"": true, ""fuzzy"": 100.0, ""owned"": null, ""rank"": null}]",[],,, +Artistry: Delightful Doorways Mini Expansion,452833,Artistry: Delightful Doorways Mini Expansion,2025,boardgameexpansion,auto,,,version_unknown,"[{""bgg_id"": 452833, ""name"": ""Artistry: Delightful Doorways Mini Expansion"", ""year"": 2025, ""type"": ""boardgameexpansion"", ""exact"": true, ""fuzzy"": 100.0, ""owned"": null, ""rank"": null}]",[],,, +castle panic wizard's tower,104590,Castle Panic: The Wizard's Tower,2011,boardgameexpansion,auto,,,version_unknown,"[{""bgg_id"": 104590, ""name"": ""Castle Panic: The Wizard's Tower"", ""year"": 2011, ""type"": ""boardgameexpansion"", ""exact"": true, ""fuzzy"": 100.0, ""owned"": null, ""rank"": null}]",[],,, diff --git a/data/title_additions.json b/data/title_additions.json index 09d19c4..db8fd5a 100644 --- a/data/title_additions.json +++ b/data/title_additions.json @@ -8,5 +8,25 @@ "language_hint": "", "art_notes": "", "source_photos": [] + }, + { + "title_raw": "Artistry: Delightful Doorways Mini Expansion", + "confidence": "high", + "publisher_hint": "", + "edition_hint": "", + "year_hint": null, + "language_hint": "", + "art_notes": "", + "source_photos": [] + }, + { + "title_raw": "castle panic wizard's tower", + "confidence": "high", + "publisher_hint": "", + "edition_hint": "", + "year_hint": null, + "language_hint": "", + "art_notes": "", + "source_photos": [] } ] diff --git a/data/titles.json b/data/titles.json index 9ae5064..aeb2243 100644 --- a/data/titles.json +++ b/data/titles.json @@ -1757,5 +1757,27 @@ "art_notes": "", "source_photos": [], "title_normalized": "civilization west extension map" + }, + { + "title_raw": "Artistry: Delightful Doorways Mini Expansion", + "confidence": "high", + "publisher_hint": "", + "edition_hint": "", + "year_hint": null, + "language_hint": "", + "art_notes": "", + "source_photos": [], + "title_normalized": "artistry delightful doorways mini expansion" + }, + { + "title_raw": "castle panic wizard's tower", + "confidence": "high", + "publisher_hint": "", + "edition_hint": "", + "year_hint": null, + "language_hint": "", + "art_notes": "", + "source_photos": [], + "title_normalized": "castle panic wizard s tower" } ] diff --git a/src/bggpipe/review.py b/src/bggpipe/review.py index ccb0ab4..6e42bc9 100644 --- a/src/bggpipe/review.py +++ b/src/bggpipe/review.py @@ -368,6 +368,23 @@ class ReviewSession: row["version_name"] = "" self._save(row) + def reopen_match(self, row: dict) -> None: + """The human says a matched row is the WRONG game: back to the + unmatched queue with a clean slate — manual id and re-search live + there. (The .dungeon case: an exact-normalized impostor wins when + the real game never surfaced in the search.)""" + row["match_status"] = "unmatched" + row["bgg_id"] = "" + row["bgg_name"] = "" + row["year"] = "" + row["type"] = "" + row["candidates_json"] = "[]" + row["version_status"] = "" + row["version_id"] = "" + row["version_name"] = "" + row["version_candidates_json"] = "[]" + self._save(row) + def open_version_ballot(self, row: dict) -> int: """The human knows which printing a box is even when the photo showed no cues: put EVERY published version on the row's ballot diff --git a/src/bggpipe/templates/pages/help.html b/src/bggpipe/templates/pages/help.html index 7ea72ff..f57ada8 100644 --- a/src/bggpipe/templates/pages/help.html +++ b/src/bggpipe/templates/pages/help.html @@ -39,6 +39,7 @@
edit — fix a misread title or add cues you already know (publisher, edition, year, language). A corrected misspelling automatically merges with a correctly-read sighting of the same game from another photo. If the line already had a BGG match, saving re-queues it so resolve searches again with the corrected data.
split into copies — one line, several physical boxes? Splitting makes each photo its own copy, and each copy picks its own edition afterward. Appears on any line whose title was seen in more than one photo. Splitting one game never affects a same-named different edition.
pick edition — a matched game with no legible edition cues stays version-less by design (never guess) — but you know which printing your box is. This fetches the game's complete version list into a Review ballot; pick yours there.
+wrong match — an auto-match landed on the wrong game (same-name impostors happen). This clears the match and returns the title to Review's unmatched queue, where re-search and manual-id live. Note BGG sometimes splits one game's lineage across entries — Wiz-War's early editions and its FFG remake are separate games — so a copy whose edition isn't on the ballot may belong to the sibling entry.
add a game (top of the Titles page) — a game no photo shows: an expansion stored inside a base box, a game away from the shelves. It joins the list like any read (BGG wants base game and expansion as separate collection entries, so boxes that hold both need this for the hidden half), and if a later photo shows it, the sighting merges instead of duplicating.
remove (inside the edit panel) — for lines that shouldn't exist at all: a book read as a game, box art misread as a title. The line and its matches are discarded and stay gone. This is different from reject on the Review page, which keeps the line visible as "no BGG match" — right for real games BGG doesn't know.
Undo: each decision is one record in data/title_edits.json, data/title_splits.json, or data/title_removals.json — delete the record and the next rebuild restores the old state.
${esc(row.bgg_name || row.title_raw)}
-which edition? (skippable — u records "unknown", or just move on)
+which edition${row.photos && row.photos.length + ? ` is the copy in ${esc(row.photos.join(", "))}` + : ""}? (skippable — u records "unknown", or just move on)