CleanFileName when getting new filename from MediaFileProvider.
This commit is contained in:
parent
244e0f04f4
commit
208feb7d19
|
@ -349,5 +349,15 @@ namespace NzbDrone.Core.Test
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[Test]
|
||||||
|
[TestCase("Law & Order: Criminal Intent - S10E07 - Icarus [HDTV]", "Law & Order- Criminal Intent - S10E07 - Icarus [HDTV]")]
|
||||||
|
public void CleanFileName(string name, string expectedName)
|
||||||
|
{
|
||||||
|
//Act
|
||||||
|
var result = MediaFileProvider.CleanFilename(name);
|
||||||
|
|
||||||
|
//Assert
|
||||||
|
Assert.AreEqual(expectedName, result);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -55,17 +55,5 @@ namespace NzbDrone.Core.Helpers
|
||||||
return String.Format("{0} - S{1:00}E{2} - {3}", erm.SeriesName, erm.EpisodeFile.Episodes[0].SeasonNumber,
|
return String.Format("{0} - S{1:00}E{2} - {3}", erm.SeriesName, erm.EpisodeFile.Episodes[0].SeasonNumber,
|
||||||
epNumberString, epNameString);
|
epNumberString, epNameString);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static string CleanFilename(string name)
|
|
||||||
{
|
|
||||||
string result = name;
|
|
||||||
string[] badCharacters = {"\\", "/", "<", ">", "?", "*", ":", "|", "\""};
|
|
||||||
string[] goodCharacters = {"+", "+", "{", "}", "!", "@", "-", "#", "`"};
|
|
||||||
|
|
||||||
for (int i = 0; i < badCharacters.Length; i++)
|
|
||||||
result = result.Replace(badCharacters[i], goodCharacters[i]);
|
|
||||||
|
|
||||||
return result.Trim();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -129,6 +129,18 @@ namespace NzbDrone.Core.Providers
|
||||||
result = result.Replace(' ', '.');
|
result = result.Replace(' ', '.');
|
||||||
|
|
||||||
Logger.Debug("New File Name is: {0}", result.Trim());
|
Logger.Debug("New File Name is: {0}", result.Trim());
|
||||||
|
return CleanFilename(result.Trim());
|
||||||
|
}
|
||||||
|
|
||||||
|
public static string CleanFilename(string name)
|
||||||
|
{
|
||||||
|
string result = name;
|
||||||
|
string[] badCharacters = { "\\", "/", "<", ">", "?", "*", ":", "|", "\"" };
|
||||||
|
string[] goodCharacters = { "+", "+", "{", "}", "!", "@", "-", "#", "`" };
|
||||||
|
|
||||||
|
for (int i = 0; i < badCharacters.Length; i++)
|
||||||
|
result = result.Replace(badCharacters[i], goodCharacters[i]);
|
||||||
|
|
||||||
return result.Trim();
|
return result.Trim();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -129,7 +129,7 @@ namespace NzbDrone.Web.Controllers
|
||||||
var path =
|
var path =
|
||||||
rootPath.Replace('|', Path.DirectorySeparatorChar).Replace('^', Path.VolumeSeparatorChar).Replace(
|
rootPath.Replace('|', Path.DirectorySeparatorChar).Replace('^', Path.VolumeSeparatorChar).Replace(
|
||||||
'`', '\'') +
|
'`', '\'') +
|
||||||
Path.DirectorySeparatorChar + EpisodeRenameHelper.CleanFilename(seriesName);
|
Path.DirectorySeparatorChar + MediaFileProvider.CleanFilename(seriesName);
|
||||||
|
|
||||||
//Create the folder for the new series and then Add it
|
//Create the folder for the new series and then Add it
|
||||||
_diskProvider.CreateDirectory(path);
|
_diskProvider.CreateDirectory(path);
|
||||||
|
|
Loading…
Reference in New Issue