Fixed: Cleaning percent signs from release names

Co-Authored-By: Mark McDowall <markus101@users.noreply.github.com>
pull/1689/head
Qstick 5 years ago
parent 2bb07e1650
commit 988ba12762

@ -134,5 +134,13 @@ namespace NzbDrone.Core.Test.ParserTests
{ {
"Tokyo Ghoul A".CleanArtistName().Should().Be("tokyoghoula"); "Tokyo Ghoul A".CleanArtistName().Should().Be("tokyoghoula");
} }
[TestCase("3%", "3percent")]
[TestCase("Teen Top & 100% Outing Brothers", "teentop100percentoutingbrothers")]
[TestCase("Big Jay Oakerson's What's Your F@%king Deal?!", "bigjayoakersonswhatsyourfkingdeal")]
public void should_replace_percent_sign_with_percent_following_numbers(string input, string expected)
{
input.CleanArtistName().Should().Be(expected);
}
} }
} }

@ -159,6 +159,8 @@ namespace NzbDrone.Core.Parser
string.Empty, string.Empty,
RegexOptions.IgnoreCase | RegexOptions.Compiled); RegexOptions.IgnoreCase | RegexOptions.Compiled);
private static readonly Regex PercentRegex = new Regex(@"(?<=\b\d+)%", RegexOptions.Compiled);
private static readonly Regex FileExtensionRegex = new Regex(@"\.[a-z0-9]{2,4}$", private static readonly Regex FileExtensionRegex = new Regex(@"\.[a-z0-9]{2,4}$",
RegexOptions.IgnoreCase | RegexOptions.Compiled); RegexOptions.IgnoreCase | RegexOptions.Compiled);
@ -479,6 +481,8 @@ namespace NzbDrone.Core.Parser
if (long.TryParse(name, out number)) if (long.TryParse(name, out number))
return name; return name;
name = PercentRegex.Replace(name, "percent");
return NormalizeRegex.Replace(name).ToLower().RemoveAccent(); return NormalizeRegex.Replace(name).ToLower().RemoveAccent();
} }

Loading…
Cancel
Save