1
0
Fork 0
mirror of https://github.com/Sonarr/Sonarr synced 2024-12-25 17:27:18 +00:00

Limit replacement of colons

This commit is contained in:
Mark McDowall 2019-03-05 18:08:34 -08:00
parent 7b5e8646eb
commit de7e805718
4 changed files with 12 additions and 3 deletions

View file

@ -291,7 +291,7 @@ namespace NzbDrone.Core.Test.Download.DownloadClientTests.SabnzbdTests
Subject.GetItems().Should().BeEmpty();
}
[TestCase("[ TOWN ]-[ http://www.town.ag ]-[ ANIME ]-[Usenet Provider >> http://www.ssl- <<] - [Commie] Aldnoah Zero 18 [234C8FC7]", "[ TOWN ]-[ http -++www.town.ag ]-[ ANIME ]-[Usenet Provider http -++www.ssl- ] - [Commie] Aldnoah Zero 18 [234C8FC7].nzb")]
[TestCase("[ TOWN ]-[ http://www.town.ag ]-[ ANIME ]-[Usenet Provider >> http://www.ssl- <<] - [Commie] Aldnoah Zero 18 [234C8FC7]", "[ TOWN ]-[ http-++www.town.ag ]-[ ANIME ]-[Usenet Provider http-++www.ssl- ] - [Commie] Aldnoah Zero 18 [234C8FC7].nzb")]
public void Download_should_use_clean_title(string title, string filename)
{
GivenSuccessfulDownload();

View file

@ -52,6 +52,7 @@ namespace NzbDrone.Core.Test.OrganizerTests.FileNameBuilderTests
[TestCase("CSI: Crime Scene Investigation", "CSI - Crime Scene Investigation")]
[TestCase("Code:Breaker", "Code-Breaker")]
[TestCase("Back Slash\\", "Back Slash+")]
[TestCase("Forward Slash\\", "Forward Slash+")]
[TestCase("Greater Than>", "Greater Than")]

View file

@ -299,7 +299,13 @@ namespace NzbDrone.Core.Organizer
{
string result = name;
string[] badCharacters = { "\\", "/", "<", ">", "?", "*", ":", "|", "\"" };
string[] goodCharacters = { "+", "+", "", "", "!", "-", " -", "", "" };
string[] goodCharacters = { "+", "+", "", "", "!", "-", "-", "", "" };
// Replace a colon followed by a space with space dash space for a better appearance
if (replace)
{
result = result.Replace(": ", " - ");
}
for (int i = 0; i < badCharacters.Length; i++)
{

View file

@ -2,10 +2,12 @@
{
public sealed class CaseInsensitiveTermMatcher : ITermMatcher
{
private readonly string _originalTerm;
private readonly string _term;
public CaseInsensitiveTermMatcher(string term)
{
_originalTerm = term;
_term = term.ToLowerInvariant();
}
@ -18,7 +20,7 @@
{
if (value.ToLowerInvariant().Contains(_term))
{
return _term;
return _originalTerm;
}
return null;