diff --git a/SabreTools.RedumpLib/Endpoints/Discs.cs b/SabreTools.RedumpLib/Endpoints/Discs.cs index 81d707a..ec90b76 100644 --- a/SabreTools.RedumpLib/Endpoints/Discs.cs +++ b/SabreTools.RedumpLib/Endpoints/Discs.cs @@ -279,7 +279,7 @@ namespace SabreTools.RedumpLib.Endpoints // General Query if (Query is not null) - sb.Append($"q={Query}&"); + sb.Append($"q={NormalizeQuery(Query)}&"); // Sorting if (Sort is not null && Enum.IsDefined(typeof(SortCategory), Sort)) @@ -299,5 +299,25 @@ namespace SabreTools.RedumpLib.Endpoints return sb.ToString(); } + + /// + /// Normalize a URL query string + /// + /// Query string to normalize + /// Normalized query + private static string NormalizeQuery(string query) + { + // Strip quotes + query = query!.Trim('"', '\''); + + // Special characters become dashes + query = query.Replace(' ', '-'); + query = query.Replace('\\', '-'); + query = query.Replace('/', '-'); + + // Lowercase is defined per language + query = query.ToLowerInvariant(); + return query; + } } } diff --git a/SabreTools.RedumpLib/Web/Client.cs b/SabreTools.RedumpLib/Web/Client.cs index 161eb03..d0c8692 100644 --- a/SabreTools.RedumpLib/Web/Client.cs +++ b/SabreTools.RedumpLib/Web/Client.cs @@ -573,10 +573,6 @@ namespace SabreTools.RedumpLib.Web long? tracksMin = null, string? universalHash = null) { - // Normalize the search query, if needed - if (query is not null) - query = NormalizeQuery(query); - var endpoint = new Endpoints.Discs { System = system, @@ -978,26 +974,6 @@ namespace SabreTools.RedumpLib.Web return processed; } - /// - /// Normalize a URL query string - /// - /// Query string to normalize - /// Normalized query - private static string NormalizeQuery(string query) - { - // Strip quotes - query = query!.Trim('"', '\''); - - // Special characters become dashes - query = query.Replace(' ', '-'); - query = query.Replace('\\', '-'); - query = query.Replace('/', '-'); - - // Lowercase is defined per language - query = query.ToLowerInvariant(); - return query; - } - #endregion #region Download Helpers