From 2da4ef2a01093c7f3f05530ec5da5b606f1989ba Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Tue, 1 Oct 2013 15:25:12 -0400 Subject: limit knowledge of lnk files --- MediaBrowser.Api/Library/LibraryHelpers.cs | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) (limited to 'MediaBrowser.Api/Library') diff --git a/MediaBrowser.Api/Library/LibraryHelpers.cs b/MediaBrowser.Api/Library/LibraryHelpers.cs index 72cff4560a..4837c64d79 100644 --- a/MediaBrowser.Api/Library/LibraryHelpers.cs +++ b/MediaBrowser.Api/Library/LibraryHelpers.cs @@ -12,6 +12,9 @@ namespace MediaBrowser.Api.Library /// public static class LibraryHelpers { + private const string ShortcutFileExtension = ".lnk"; + private const string ShortcutFileSearch = "*.lnk"; + /// /// Adds the virtual folder. /// @@ -118,7 +121,7 @@ namespace MediaBrowser.Api.Library throw new DirectoryNotFoundException(string.Format("The media collection {0} does not exist", virtualFolderName)); } - var shortcut = Directory.EnumerateFiles(path, "*.lnk", SearchOption.AllDirectories).FirstOrDefault(f => FileSystem.ResolveShortcut(f).Equals(mediaPath, StringComparison.OrdinalIgnoreCase)); + var shortcut = Directory.EnumerateFiles(path, ShortcutFileSearch, SearchOption.AllDirectories).FirstOrDefault(f => FileSystem.ResolveShortcut(f).Equals(mediaPath, StringComparison.OrdinalIgnoreCase)); if (!string.IsNullOrEmpty(shortcut)) { @@ -161,12 +164,12 @@ namespace MediaBrowser.Api.Library var shortcutFilename = Path.GetFileNameWithoutExtension(path); - var lnk = Path.Combine(virtualFolderPath, shortcutFilename + ".lnk"); + var lnk = Path.Combine(virtualFolderPath, shortcutFilename + ShortcutFileExtension); while (File.Exists(lnk)) { shortcutFilename += "1"; - lnk = Path.Combine(virtualFolderPath, shortcutFilename + ".lnk"); + lnk = Path.Combine(virtualFolderPath, shortcutFilename + ShortcutFileExtension); } FileSystem.CreateShortcut(lnk, path); @@ -181,7 +184,7 @@ namespace MediaBrowser.Api.Library /// private static void ValidateNewMediaPath(string currentViewRootFolderPath, string mediaPath, IServerApplicationPaths appPaths) { - var duplicate = Directory.EnumerateFiles(appPaths.RootFolderPath, "*.lnk", SearchOption.AllDirectories) + var duplicate = Directory.EnumerateFiles(appPaths.RootFolderPath, ShortcutFileSearch, SearchOption.AllDirectories) .Select(FileSystem.ResolveShortcut) .FirstOrDefault(p => !IsNewPathValid(mediaPath, p, false)); @@ -192,7 +195,7 @@ namespace MediaBrowser.Api.Library // Don't allow duplicate sub-paths within the same user library, or it will result in duplicate items // See comments in IsNewPathValid - duplicate = Directory.EnumerateFiles(currentViewRootFolderPath, "*.lnk", SearchOption.AllDirectories) + duplicate = Directory.EnumerateFiles(currentViewRootFolderPath, ShortcutFileSearch, SearchOption.AllDirectories) .Select(FileSystem.ResolveShortcut) .FirstOrDefault(p => !IsNewPathValid(mediaPath, p, true)); @@ -202,7 +205,7 @@ namespace MediaBrowser.Api.Library } // Make sure the current root folder doesn't already have a shortcut to the same path - duplicate = Directory.EnumerateFiles(currentViewRootFolderPath, "*.lnk", SearchOption.AllDirectories) + duplicate = Directory.EnumerateFiles(currentViewRootFolderPath, ShortcutFileSearch, SearchOption.AllDirectories) .Select(FileSystem.ResolveShortcut) .FirstOrDefault(p => mediaPath.Equals(p, StringComparison.OrdinalIgnoreCase)); -- cgit v1.2.3