diff --git a/RedumpTool/Features/SiteFeature.cs b/RedumpTool/Features/SiteFeature.cs index 56f1783..2b63b39 100644 --- a/RedumpTool/Features/SiteFeature.cs +++ b/RedumpTool/Features/SiteFeature.cs @@ -48,6 +48,12 @@ namespace RedumpTool.Features private const string _discTitleExactName = "disc-title-exact"; internal readonly BooleanInput DiscTitleExactInput = new(_discTitleExactName, ["--disc-title-exact"], "Add disc title exact matching to filter [true, false]"); + private const string _discTitleForeignName = "disc-title-foreign"; + internal readonly StringInput DiscTitleForeignInput = new(_discTitleForeignName, ["--disc-title-foreign"], "Add foreign disc title to filter"); + + private const string _discTitleForeignExactName = "disc-title-foreign-exact"; + internal readonly BooleanInput DiscTitleForeignExactInput = new(_discTitleForeignExactName, ["--disc-title-foreign-exact"], "Add foreign disc title exact matching to filter [true, false]"); + private const string _dumperName = "dumper"; internal readonly StringInput DumperInput = new(_dumperName, ["--dumper"], "Add dumper to filter"); @@ -249,6 +255,8 @@ namespace RedumpTool.Features string? discNumber = DiscNumberInput.Value; string? discTitle = DiscTitleInput.Value; bool? discTitleExact = DiscTitleExactInput.Value; + string? discTitleForeign = DiscTitleForeignInput.Value; + bool? discTitleForeignExact = DiscTitleForeignExactInput.Value; string? dumper = DumperInput.Value; YesNo? edc = EdcInput.Value?.ToYesNo(); string? edition = EditionInput.Value; @@ -331,6 +339,11 @@ namespace RedumpTool.Features category, comments, contents, + discNumber, + discTitle, + discTitleExact, + discTitleForeign, + discTitleForeignExact, dumper, edc, edition, @@ -358,9 +371,6 @@ namespace RedumpTool.Features titleExact, titleForeign, titleForeignExact, - discNumber, - discTitle, - discTitleExact, toolstamp, tracksMax, tracksMin, @@ -377,6 +387,11 @@ namespace RedumpTool.Features category, comments, contents, + discNumber, + discTitle, + discTitleExact, + discTitleForeign, + discTitleForeignExact, dumper, edc, edition, @@ -404,9 +419,6 @@ namespace RedumpTool.Features titleExact, titleForeign, titleForeignExact, - discNumber, - discTitle, - discTitleExact, toolstamp, tracksMax, tracksMin, diff --git a/RedumpTool/Program.cs b/RedumpTool/Program.cs index 2c4004d..d30117d 100644 --- a/RedumpTool/Program.cs +++ b/RedumpTool/Program.cs @@ -97,6 +97,8 @@ namespace RedumpTool Console.WriteLine(" --disc-number - Add disc number to filter"); Console.WriteLine(" --disc-title - Add disc title to filter"); Console.WriteLine(" --disc-title-exact - Add disc title exact matching to filter [true, false]"); + Console.WriteLine(" --disc-title-foreign - Add foreign disc title to filter"); + Console.WriteLine(" --disc-title-foreign-exact - Add foreign disc title exact matching to filter [true, false]"); Console.WriteLine(" --dumper - Add dumper to filter"); Console.WriteLine(" --edc - Add EDC status to filter [true, false]"); Console.WriteLine(" --edition - Add edition to filter"); diff --git a/SabreTools.RedumpLib/Endpoints/Discs.cs b/SabreTools.RedumpLib/Endpoints/Discs.cs index f52044e..8d469c1 100644 --- a/SabreTools.RedumpLib/Endpoints/Discs.cs +++ b/SabreTools.RedumpLib/Endpoints/Discs.cs @@ -53,6 +53,12 @@ namespace SabreTools.RedumpLib.Endpoints [JsonProperty("disc_title_exact")] public bool? DiscTitleExact { get; set; } + [JsonProperty("disc_title_foreign")] + public string? DiscTitleForeign { get; set; } + + [JsonProperty("disc_title_foreign_exact")] + public bool? DiscTitleForeignExact { get; set; } + [JsonProperty("serial")] public string? Serial { get; set; } @@ -218,6 +224,12 @@ namespace SabreTools.RedumpLib.Endpoints if (DiscTitle is not null && DiscTitleExact is not null) sb.Append($"disc_title_exact={DiscTitleExact.ToYesNo().LongName()}&"); + // Foreign Disc Title + if (DiscTitleForeign is not null) + sb.Append($"disc_title_foreign={DiscTitleForeign}&"); + if (DiscTitleForeign is not null && DiscTitleForeignExact is not null) + sb.Append($"disc_title_foreign_exact={DiscTitleForeignExact.ToYesNo().LongName()}&"); + // Serial if (Serial is not null) sb.Append($"serial={Serial}&"); diff --git a/SabreTools.RedumpLib/Web/Discs.cs b/SabreTools.RedumpLib/Web/Discs.cs index b1530d5..acbf2df 100644 --- a/SabreTools.RedumpLib/Web/Discs.cs +++ b/SabreTools.RedumpLib/Web/Discs.cs @@ -22,6 +22,11 @@ namespace SabreTools.RedumpLib.Web /// Add category to filter, null to omit /// Add comments to filter, null to omit /// Add contents to filter, null to omit + /// Add disc number to filter, null to omit + /// Add disc title to filter, null to omit + /// Set exact disc title handling, null to omit + /// Add foreign disc title to filter, null to omit + /// Set exact foreign disc title handling, null to omit /// Add dumper name to filter, null to omit /// Add EDC status to filter, null to omit /// Add edition to filter, null to omit @@ -49,9 +54,6 @@ namespace SabreTools.RedumpLib.Web /// Set exact title handling, null to omit /// Add foreign title to filter, null to omit /// Set exact foreign title handling, null to omit - /// Add disc number to filter, null to omit - /// Add disc title to filter, null to omit - /// Set disc foreign title handling, null to omit /// Add toolstamp to filter, null to omit /// Add maximum track count to filter, null to omit /// Add minimum track count to filter, null to omit @@ -69,6 +71,11 @@ namespace SabreTools.RedumpLib.Web DiscCategory? category = null, string? comments = null, string? contents = null, + string? discNumber = null, + string? discTitle = null, + bool? discTitleExact = null, + string? discTitleForeign = null, + bool? discTitleForeignExact = null, string? dumper = null, YesNo? edc = null, string? edition = null, @@ -96,9 +103,6 @@ namespace SabreTools.RedumpLib.Web bool? titleExact = null, string? titleForeign = null, bool? titleForeignExact = null, - string? discNumber = null, - string? discTitle = null, - bool? discTitleExact = null, string? toolstamp = null, long? tracksMax = null, long? tracksMin = null, @@ -133,6 +137,8 @@ namespace SabreTools.RedumpLib.Web DiscNumber = discNumber, DiscTitle = discTitle, DiscTitleExact = discTitleExact, + DiscTitleForeign = discTitleForeign, + DiscTitleForeignExact = discTitleForeignExact, Serial = serial, SerialExact = serialExact, Edition = edition, @@ -247,6 +253,11 @@ namespace SabreTools.RedumpLib.Web /// Add category to filter, null to omit /// Add comments to filter, null to omit /// Add contents to filter, null to omit + /// Add disc number to filter, null to omit + /// Add disc title to filter, null to omit + /// Set exact disc title handling, null to omit + /// Add foreign disc title to filter, null to omit + /// Set exact foreign disc title handling, null to omit /// Add dumper name to filter, null to omit /// Add EDC status to filter, null to omit /// Add edition to filter, null to omit @@ -274,9 +285,6 @@ namespace SabreTools.RedumpLib.Web /// Set exact title handling, null to omit /// Add foreign title to filter, null to omit /// Set exact foreign title handling, null to omit - /// Add disc number to filter, null to omit - /// Add disc title to filter, null to omit - /// Set disc foreign title handling, null to omit /// Add toolstamp to filter, null to omit /// Add maximum track count to filter, null to omit /// Add minimum track count to filter, null to omit @@ -292,6 +300,11 @@ namespace SabreTools.RedumpLib.Web DiscCategory? category = null, string? comments = null, string? contents = null, + string? discNumber = null, + string? discTitle = null, + bool? discTitleExact = null, + string? discTitleForeign = null, + bool? discTitleForeignExact = null, string? dumper = null, YesNo? edc = null, string? edition = null, @@ -319,9 +332,6 @@ namespace SabreTools.RedumpLib.Web bool? titleExact = null, string? titleForeign = null, bool? titleForeignExact = null, - string? discNumber = null, - string? discTitle = null, - bool? discTitleExact = null, string? toolstamp = null, long? tracksMax = null, long? tracksMin = null, @@ -355,6 +365,8 @@ namespace SabreTools.RedumpLib.Web DiscNumber = discNumber, DiscTitle = discTitle, DiscTitleExact = discTitleExact, + DiscTitleForeign = discTitleForeign, + DiscTitleForeignExact = discTitleForeignExact, Serial = serial, SerialExact = serialExact, Edition = edition,