trim trailing slashes from path substitutions

This commit is contained in:
Luke Pulverenti 2014-02-06 20:31:53 -05:00
parent 65903c56de
commit 57c92fa948

View File

@ -96,10 +96,36 @@ namespace MediaBrowser.Server.Implementations.Configuration
ValidateItemByNamePath(newConfig);
ValidateTranscodingTempPath(newConfig);
ValidatePathSubstitutions(newConfig);
base.ReplaceConfiguration(newConfiguration);
}
private void ValidatePathSubstitutions(ServerConfiguration newConfig)
{
foreach (var map in newConfig.PathSubstitutions)
{
if (string.IsNullOrWhiteSpace(map.From) || string.IsNullOrWhiteSpace(map.To))
{
throw new ArgumentException("Invalid path substitution");
}
if (!map.From.EndsWith(":\\") && !map.From.EndsWith(":/"))
{
map.From = map.From.TrimEnd('/').TrimEnd('\\');
}
if (!map.To.EndsWith(":\\") && !map.To.EndsWith(":/"))
{
map.To = map.To.TrimEnd('/').TrimEnd('\\');
}
if (string.IsNullOrWhiteSpace(map.From) || string.IsNullOrWhiteSpace(map.To))
{
throw new ArgumentException("Invalid path substitution");
}
}
}
/// <summary>
/// Replaces the item by name path.
/// </summary>