aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.ServerApplication/ApplicationHost.cs
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.ServerApplication/ApplicationHost.cs')
-rw-r--r--MediaBrowser.ServerApplication/ApplicationHost.cs37
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>