diff options
Diffstat (limited to 'MediaBrowser.Server.Startup.Common')
5 files changed, 61 insertions, 72 deletions
diff --git a/MediaBrowser.Server.Startup.Common/ApplicationHost.cs b/MediaBrowser.Server.Startup.Common/ApplicationHost.cs index eca600b33..c2520ff6b 100644 --- a/MediaBrowser.Server.Startup.Common/ApplicationHost.cs +++ b/MediaBrowser.Server.Startup.Common/ApplicationHost.cs @@ -238,12 +238,12 @@ namespace MediaBrowser.Server.Startup.Common /// <param name="remotePackageName">Name of the remote package.</param> /// <param name="supportsNativeWebSocket">if set to <c>true</c> [supports native web socket].</param> /// <param name="nativeApp">The native application.</param> - public ApplicationHost(ServerApplicationPaths applicationPaths, - ILogManager logManager, - StartupOptions options, + public ApplicationHost(ServerApplicationPaths applicationPaths, + ILogManager logManager, + StartupOptions options, IFileSystem fileSystem, - string remotePackageName, - bool supportsNativeWebSocket, + string remotePackageName, + bool supportsNativeWebSocket, INativeApp nativeApp) : base(applicationPaths, logManager, fileSystem) { @@ -353,17 +353,18 @@ namespace MediaBrowser.Server.Startup.Common public override async Task Init(IProgress<double> progress) { - PerformVersionMigration(); + PerformPreInitMigrations(); await base.Init(progress).ConfigureAwait(false); + + PerformPostInitMigrations(); } - private void PerformVersionMigration() + private void PerformPreInitMigrations() { var migrations = new List<IVersionMigration> { new MigrateUserFolders(ApplicationPaths), - new PlaylistImages(ServerConfigurationManager), new RenameXbmcOptions(ServerConfigurationManager), new RenameXmlOptions(ServerConfigurationManager), new DeprecatePlugins(ApplicationPaths), @@ -376,6 +377,19 @@ namespace MediaBrowser.Server.Startup.Common } } + private void PerformPostInitMigrations() + { + var migrations = new List<IVersionMigration> + { + new MigrateTranscodingPath(ServerConfigurationManager) + }; + + foreach (var task in migrations) + { + task.Run(); + } + } + /// <summary> /// Registers resources that classes will depend on /// </summary> @@ -384,7 +398,7 @@ namespace MediaBrowser.Server.Startup.Common { await base.RegisterResources(progress).ConfigureAwait(false); - RegisterSingleInstance<IHttpResultFactory>(new HttpResultFactory(LogManager, FileSystemManager, JsonSerializer)); + RegisterSingleInstance<IHttpResultFactory>(new HttpResultFactory(LogManager, FileSystemManager, JsonSerializer)); RegisterSingleInstance<IServerApplicationHost>(this); RegisterSingleInstance<IServerApplicationPaths>(ApplicationPaths); @@ -399,7 +413,7 @@ namespace MediaBrowser.Server.Startup.Common UserDataManager = new UserDataManager(LogManager); RegisterSingleInstance(UserDataManager); - UserRepository = await GetUserRepository().ConfigureAwait(false); + UserRepository = await GetUserRepository().ConfigureAwait(false); RegisterSingleInstance(UserRepository); DisplayPreferencesRepository = new SqliteDisplayPreferencesRepository(ApplicationPaths, JsonSerializer, LogManager); @@ -420,7 +434,7 @@ namespace MediaBrowser.Server.Startup.Common SyncRepository = await GetSyncRepository().ConfigureAwait(false); RegisterSingleInstance(SyncRepository); - UserManager = new UserManager(LogManager.GetLogger("UserManager"), ServerConfigurationManager, UserRepository, XmlSerializer, NetworkManager, () => ImageProcessor, () => DtoService, () => ConnectManager, this); + UserManager = new UserManager(LogManager.GetLogger("UserManager"), ServerConfigurationManager, UserRepository, XmlSerializer, NetworkManager, () => ImageProcessor, () => DtoService, () => ConnectManager, this, JsonSerializer); RegisterSingleInstance(UserManager); LibraryManager = new LibraryManager(Logger, TaskManager, UserManager, ServerConfigurationManager, UserDataManager, () => LibraryMonitor, FileSystemManager, () => ProviderManager); @@ -440,7 +454,7 @@ namespace MediaBrowser.Server.Startup.Common RegisterSingleInstance<ISearchEngine>(() => new SearchEngine(LogManager, LibraryManager, UserManager)); - HttpServer = ServerFactory.CreateServer(this, LogManager, "Media Browser", WebApplicationName, "dashboard/index.html", _supportsNativeWebSocket); + HttpServer = ServerFactory.CreateServer(this, LogManager, "Media Browser", WebApplicationName, "dashboard/index.html", _supportsNativeWebSocket); RegisterSingleInstance(HttpServer, false); progress.Report(10); @@ -534,12 +548,12 @@ namespace MediaBrowser.Server.Startup.Common RegisterSingleInstance<ISessionContext>(new SessionContext(UserManager, authContext, SessionManager)); RegisterSingleInstance<IAuthService>(new AuthService(UserManager, authContext, ServerConfigurationManager, ConnectManager, SessionManager)); - RegisterSingleInstance<ISubtitleEncoder>(new SubtitleEncoder(LibraryManager, LogManager.GetLogger("SubtitleEncoder"), ApplicationPaths, FileSystemManager, MediaEncoder, JsonSerializer)); + RegisterSingleInstance<ISubtitleEncoder>(new SubtitleEncoder(LibraryManager, LogManager.GetLogger("SubtitleEncoder"), ApplicationPaths, FileSystemManager, MediaEncoder, JsonSerializer)); await ConfigureDisplayPreferencesRepositories().ConfigureAwait(false); await ConfigureItemRepositories().ConfigureAwait(false); await ConfigureUserDataRepositories().ConfigureAwait(false); - await ConfigureNotificationsRepository().ConfigureAwait(false); + await ConfigureNotificationsRepository().ConfigureAwait(false); progress.Report(100); SetStaticProperties(); diff --git a/MediaBrowser.Server.Startup.Common/MediaBrowser.Server.Startup.Common.csproj b/MediaBrowser.Server.Startup.Common/MediaBrowser.Server.Startup.Common.csproj index b133f78e7..38e07fde4 100644 --- a/MediaBrowser.Server.Startup.Common/MediaBrowser.Server.Startup.Common.csproj +++ b/MediaBrowser.Server.Startup.Common/MediaBrowser.Server.Startup.Common.csproj @@ -66,8 +66,8 @@ <Compile Include="Migrations\DeleteDlnaProfiles.cs" /> <Compile Include="Migrations\DeprecatePlugins.cs" /> <Compile Include="Migrations\IVersionMigration.cs" /> + <Compile Include="Migrations\MigrateTranscodingPath.cs" /> <Compile Include="Migrations\MigrateUserFolders.cs" /> - <Compile Include="Migrations\PlaylistImages.cs" /> <Compile Include="Migrations\RenameXbmcOptions.cs" /> <Compile Include="Migrations\RenameXmlOptions.cs" /> <Compile Include="NativeEnvironment.cs" /> diff --git a/MediaBrowser.Server.Startup.Common/Migrations/MigrateTranscodingPath.cs b/MediaBrowser.Server.Startup.Common/Migrations/MigrateTranscodingPath.cs new file mode 100644 index 000000000..88f60841d --- /dev/null +++ b/MediaBrowser.Server.Startup.Common/Migrations/MigrateTranscodingPath.cs @@ -0,0 +1,30 @@ +using MediaBrowser.Common.Configuration; +using MediaBrowser.Controller.Configuration; +using MediaBrowser.Model.Configuration; + +namespace MediaBrowser.Server.Startup.Common.Migrations +{ + public class MigrateTranscodingPath : IVersionMigration + { + private readonly IServerConfigurationManager _config; + + public MigrateTranscodingPath(IServerConfigurationManager config) + { + _config = config; + } + + public void Run() + { + if (!string.IsNullOrWhiteSpace(_config.Configuration.TranscodingTempPath)) + { + var newConfig = _config.GetConfiguration<EncodingOptions>("encoding"); + + newConfig.TranscodingTempPath = _config.Configuration.TranscodingTempPath; + _config.SaveConfiguration("encoding", newConfig); + + _config.Configuration.TranscodingTempPath = null; + _config.SaveConfiguration(); + } + } + } +} diff --git a/MediaBrowser.Server.Startup.Common/Migrations/PlaylistImages.cs b/MediaBrowser.Server.Startup.Common/Migrations/PlaylistImages.cs deleted file mode 100644 index f6ddf5847..000000000 --- a/MediaBrowser.Server.Startup.Common/Migrations/PlaylistImages.cs +++ /dev/null @@ -1,55 +0,0 @@ -using MediaBrowser.Controller.Configuration; -using MediaBrowser.Controller.Entities; -using System.IO; -using System.Linq; - -namespace MediaBrowser.Server.Startup.Common.Migrations -{ - public class PlaylistImages : IVersionMigration - { - private readonly IServerConfigurationManager _config; - - public PlaylistImages(IServerConfigurationManager config) - { - _config = config; - } - - public void Run() - { - if (!_config.Configuration.PlaylistImagesDeleted) - { - DeletePlaylistImages(); - _config.Configuration.PlaylistImagesDeleted = true; - _config.SaveConfiguration(); - } - } - - private void DeletePlaylistImages() - { - try - { - var path = Path.Combine(_config.ApplicationPaths.DataPath, "playlists"); - - var files = Directory.GetFiles(path, "*", SearchOption.AllDirectories) - .Where(i => BaseItem.SupportedImageExtensions.Contains(Path.GetExtension(i) ?? string.Empty)) - .ToList(); - - foreach (var file in files) - { - try - { - File.Delete(file); - } - catch (IOException) - { - - } - } - } - catch (IOException) - { - - } - } - } -} diff --git a/MediaBrowser.Server.Startup.Common/Migrations/RenameXmlOptions.cs b/MediaBrowser.Server.Startup.Common/Migrations/RenameXmlOptions.cs index a955b57ea..be8ae2f81 100644 --- a/MediaBrowser.Server.Startup.Common/Migrations/RenameXmlOptions.cs +++ b/MediaBrowser.Server.Startup.Common/Migrations/RenameXmlOptions.cs @@ -42,9 +42,9 @@ namespace MediaBrowser.Server.Startup.Common.Migrations { for (var i = 0; i < options.Length; i++) { - if (string.Equals(options[i], "Media Browser Xml", StringComparison.OrdinalIgnoreCase)) + if (string.Equals(options[i], "Media Browser Legacy Xml", StringComparison.OrdinalIgnoreCase)) { - options[i] = "Media Browser Legacy Xml"; + options[i] = "Media Browser Xml"; changed = true; } } |
