Parse UNC paths

This commit is contained in:
Scott Schlesier 2010-11-06 09:01:46 -07:00
parent 153e013afb
commit d5a869ac54
2 changed files with 11 additions and 1 deletions

View File

@ -58,6 +58,7 @@ namespace NzbDrone.Core.Test
[Row(@"c:\\test\\", @"c:\test")]
[Row(@"C:\\Test\\", @"c:\test")]
[Row(@"C:\\Test\\Test\", @"c:\test\test")]
[Row(@"\\Testserver\Test\", @"\\testserver\test")]
public void Normalize_Path(string dirty, string clean)
{
var result = Parser.NormalizePath(dirty);

View File

@ -130,11 +130,20 @@ namespace NzbDrone.Core
return NormalizeRegex.Replace(title, String.Empty).ToLower();
}
//Note: changing case on path is a problem for running on mono/*nix
public static string NormalizePath(string path)
{
if (String.IsNullOrEmpty(path))
throw new ArgumentException("Path can not be null or empty");
return new FileInfo(path).FullName.ToLower().Trim('/', '\\', ' ');
var info = new FileInfo(path);
if( info.FullName.StartsWith(@"\\")) //UNC
{
return info.FullName.ToLower().TrimEnd('/', '\\', ' ');
}
return info.FullName.ToLower().Trim('/', '\\', ' ');
}
}
}