1
0
Fork 0
mirror of https://github.com/lidarr/Lidarr synced 2024-12-27 01:57:21 +00:00

added path casing extension methods.

This commit is contained in:
Keivan Beigi 2013-04-29 17:39:54 -07:00
parent f65f4ff988
commit 422b82f220

View file

@ -1,5 +1,4 @@
using System; using System.IO;
using System.IO;
using NzbDrone.Common.EnsureThat; using NzbDrone.Common.EnsureThat;
namespace NzbDrone.Common namespace NzbDrone.Common
@ -32,6 +31,24 @@ public static string CleanPath(this string path)
return info.FullName.Trim('/', '\\', ' '); return info.FullName.Trim('/', '\\', ' ');
} }
static string GetProperDirectoryCapitalization(DirectoryInfo dirInfo)
{
var parentDirInfo = dirInfo.Parent;
if (null == parentDirInfo)
return dirInfo.Name;
return Path.Combine(GetProperDirectoryCapitalization(parentDirInfo),
parentDirInfo.GetDirectories(dirInfo.Name)[0].Name);
}
static string GetProperFilePathCapitalization(string filename)
{
var fileInfo = new FileInfo(filename);
DirectoryInfo dirInfo = fileInfo.Directory;
return Path.Combine(GetProperDirectoryCapitalization(dirInfo),
dirInfo.GetFiles(fileInfo.Name)[0].Name);
}
public static string GetAppDataPath(this EnvironmentProvider environmentProvider) public static string GetAppDataPath(this EnvironmentProvider environmentProvider)
{ {
return Path.Combine(environmentProvider.WorkingDirectory, APP_DATA); return Path.Combine(environmentProvider.WorkingDirectory, APP_DATA);