diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2014-02-21 00:04:11 -0500 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2014-02-21 00:04:11 -0500 |
| commit | 7cd41a6ed62c46006307add9de92e0b329bd0edc (patch) | |
| tree | f8d6515c218db6be90028f3fc7bacd549a0dab8f /MediaBrowser.ServerApplication/ApplicationHost.cs | |
| parent | a91c676565579c0ce7f7954e89a2b57a5c6c5780 (diff) | |
easier user library setup
Diffstat (limited to 'MediaBrowser.ServerApplication/ApplicationHost.cs')
| -rw-r--r-- | MediaBrowser.ServerApplication/ApplicationHost.cs | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/MediaBrowser.ServerApplication/ApplicationHost.cs b/MediaBrowser.ServerApplication/ApplicationHost.cs index 85aeeb129..895a8d9b9 100644 --- a/MediaBrowser.ServerApplication/ApplicationHost.cs +++ b/MediaBrowser.ServerApplication/ApplicationHost.cs @@ -254,6 +254,14 @@ namespace MediaBrowser.ServerApplication { try { + MigrateUserFolders(); + } + catch (IOException ex) + { + } + + try + { File.Delete(Path.Combine(ApplicationPaths.PluginsPath, "MBPhoto.dll")); } catch (IOException) @@ -319,6 +327,35 @@ namespace MediaBrowser.ServerApplication }); } + private void MigrateUserFolders() + { + var rootPath = ApplicationPaths.RootFolderPath; + + var folders = new DirectoryInfo(rootPath).EnumerateDirectories("*", SearchOption.TopDirectoryOnly).Where(i => !string.Equals(i.Name, "default", StringComparison.OrdinalIgnoreCase)) + .ToList(); + + foreach (var folder in folders) + { + MigrateUserFolder(folder); + } + } + + private void MigrateUserFolder(DirectoryInfo folder) + { + var foldersInDefault = new DirectoryInfo(ApplicationPaths.DefaultUserViewsPath).EnumerateDirectories("*", SearchOption.TopDirectoryOnly).ToList(); + + var foldersInUserView = folder.EnumerateDirectories("*", SearchOption.TopDirectoryOnly).ToList(); + + var foldersToMove = foldersInUserView.Where(i => !foldersInDefault.Any(f => string.Equals(f.Name, i.Name, StringComparison.OrdinalIgnoreCase))).ToList(); + + foreach (var folderToMove in foldersToMove) + { + folderToMove.MoveTo(Path.Combine(ApplicationPaths.DefaultUserViewsPath, folderToMove.Name)); + } + + Directory.Delete(folder.FullName, true); + } + /// <summary> /// Registers resources that classes will depend on /// </summary> |
