From fba9b7a6c988a0e23aafd2e074e55ee5ef05aff2 Mon Sep 17 00:00:00 2001 From: Michael Green <84688932+michael-j-green@users.noreply.github.com> Date: Thu, 29 Jun 2023 14:46:41 +1000 Subject: [PATCH] refactor: moved import file name version trimming --- gaseous-server/Classes/ImportGames.cs | 27 +++++++++++-------------- gaseous-server/Support/PlatformMap.json | 17 ++++++++++++++++ 2 files changed, 29 insertions(+), 15 deletions(-) diff --git a/gaseous-server/Classes/ImportGames.cs b/gaseous-server/Classes/ImportGames.cs index fdde254..3ba9ef6 100644 --- a/gaseous-server/Classes/ImportGames.cs +++ b/gaseous-server/Classes/ImportGames.cs @@ -191,12 +191,8 @@ namespace gaseous_server.Classes // search discovered game - case insensitive exact match first IGDB.Models.Game determinedGame = new IGDB.Models.Game(); - // remove version numbers from name - GameName = Regex.Replace(GameName, @"v(\d+\.)?(\d+\.)?(\*|\d+)$", "").Trim(); - GameName = Regex.Replace(GameName, @"Rev (\d+\.)?(\d+\.)?(\*|\d+)$", "").Trim(); - List SearchCandidates = GetSearchCandidates(GameName); - + foreach (string SearchCandidate in SearchCandidates) { bool GameFound = false; @@ -244,10 +240,6 @@ namespace gaseous_server.Classes { List searchResults = new List(); - // remove version numbers from name - GameName = Regex.Replace(GameName, @"v(\d+\.)?(\d+\.)?(\*|\d+)$", "").Trim(); - GameName = Regex.Replace(GameName, @"Rev (\d+\.)?(\d+\.)?(\*|\d+)$", "").Trim(); - List SearchCandidates = GetSearchCandidates(GameName); foreach (string SearchCandidate in SearchCandidates) @@ -283,19 +275,24 @@ namespace gaseous_server.Classes private static List GetSearchCandidates(string GameName) { + // remove version numbers from name + GameName = Regex.Replace(GameName, @"v(\d+\.)?(\d+\.)?(\*|\d+)$", "").Trim(); + GameName = Regex.Replace(GameName, @"Rev (\d+\.)?(\d+\.)?(\*|\d+)$", "").Trim(); + List SearchCandidates = new List(); SearchCandidates.Add(GameName); - if (GameName.Contains(":")) + if (GameName.Contains(" - ")) { - GameName = GameName.Substring(0, GameName.IndexOf(":")); - SearchCandidates.Add(GameName.Trim()); + SearchCandidates.Add(GameName.Replace(" - ", ": ")); + SearchCandidates.Add(GameName.Substring(0, GameName.IndexOf(" - ")).Trim()); } - if (GameName.Contains("-")) + if (GameName.Contains(": ")) { - GameName = GameName.Substring(0, GameName.IndexOf("-")); - SearchCandidates.Add(GameName.Trim()); + SearchCandidates.Add(GameName.Substring(0, GameName.IndexOf(": ")).Trim()); } + Logging.Log(Logging.LogType.Information, "Import Game", " Search candidates: " + String.Join(", ", SearchCandidates)); + return SearchCandidates; } diff --git a/gaseous-server/Support/PlatformMap.json b/gaseous-server/Support/PlatformMap.json index c620907..2790941 100644 --- a/gaseous-server/Support/PlatformMap.json +++ b/gaseous-server/Support/PlatformMap.json @@ -72,5 +72,22 @@ "KnownFileExtensions": [ ".Z64" ] + }, + { + "IGDBId": 18, + "IGDBName": "Nintendo Entertainment System", + "AlternateNames": [ + "Nintendo Entertainment System", + "NES" + ], + "KnownFileExtensions": [ + ".NES", + ".FDS", + ".FIG", + ".MGD", + ".SFC", + ".SMC", + ".SWC" + ] } ]