diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2014-06-22 01:52:31 -0400 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2014-06-22 01:52:31 -0400 |
| commit | 414b1251c791dd914e51a5cfd7afeeaaf912e8a3 (patch) | |
| tree | 06c9d734ba51b92eff336894778c1be329dddc0a /MediaBrowser.Server.Implementations | |
| parent | 5ce3ed2fb47ab35c3e47959126e7656c9054f452 (diff) | |
dlna fixes
Diffstat (limited to 'MediaBrowser.Server.Implementations')
6 files changed, 45 insertions, 6 deletions
diff --git a/MediaBrowser.Server.Implementations/Channels/ChannelDownloadScheduledTask.cs b/MediaBrowser.Server.Implementations/Channels/ChannelDownloadScheduledTask.cs index 43de6080f..ce5c41f89 100644 --- a/MediaBrowser.Server.Implementations/Channels/ChannelDownloadScheduledTask.cs +++ b/MediaBrowser.Server.Implementations/Channels/ChannelDownloadScheduledTask.cs @@ -232,12 +232,23 @@ namespace MediaBrowser.Server.Implementations.Channels } else { + File.Delete(response.TempFilePath); + throw new ApplicationException("Unexpected response type encountered: " + response.ContentType); } File.Move(response.TempFilePath, destination); await RefreshMediaSourceItem(destination, cancellationToken).ConfigureAwait(false); + + try + { + File.Delete(response.TempFilePath); + } + catch + { + + } } private async Task RefreshMediaSourceItems(IEnumerable<MediaSourceInfo> items, CancellationToken cancellationToken) @@ -265,7 +276,7 @@ namespace MediaBrowser.Server.Implementations.Channels { return new ITaskTrigger[] { - new IntervalTrigger{ Interval = TimeSpan.FromHours(4)}, + new IntervalTrigger{ Interval = TimeSpan.FromHours(6)}, }; } diff --git a/MediaBrowser.Server.Implementations/Collections/ManualCollectionsFolder.cs b/MediaBrowser.Server.Implementations/Collections/ManualCollectionsFolder.cs index e36c63b1c..94bbc08da 100644 --- a/MediaBrowser.Server.Implementations/Collections/ManualCollectionsFolder.cs +++ b/MediaBrowser.Server.Implementations/Collections/ManualCollectionsFolder.cs @@ -27,5 +27,10 @@ namespace MediaBrowser.Server.Implementations.Collections return !ActualChildren.Any() || base.IsHidden; } } + + public override string CollectionType + { + get { return Model.Entities.CollectionType.BoxSets; } + } } }
\ No newline at end of file diff --git a/MediaBrowser.Server.Implementations/EntryPoints/ServerEventNotifier.cs b/MediaBrowser.Server.Implementations/EntryPoints/ServerEventNotifier.cs index d6ad7771b..305f2800f 100644 --- a/MediaBrowser.Server.Implementations/EntryPoints/ServerEventNotifier.cs +++ b/MediaBrowser.Server.Implementations/EntryPoints/ServerEventNotifier.cs @@ -9,7 +9,6 @@ using MediaBrowser.Controller.Library; using MediaBrowser.Controller.Plugins; using MediaBrowser.Controller.Session; using MediaBrowser.Model.Events; -using MediaBrowser.Model.Tasks; using System; using System.Threading; @@ -74,6 +73,7 @@ namespace MediaBrowser.Server.Implementations.EntryPoints { _userManager.UserDeleted += userManager_UserDeleted; _userManager.UserUpdated += userManager_UserUpdated; + _userManager.UserConfigurationUpdated += _userManager_UserConfigurationUpdated; _appHost.HasPendingRestartChanged += kernel_HasPendingRestartChanged; @@ -86,6 +86,13 @@ namespace MediaBrowser.Server.Implementations.EntryPoints _taskManager.TaskCompleted += _taskManager_TaskCompleted; } + void _userManager_UserConfigurationUpdated(object sender, GenericEventArgs<User> e) + { + var dto = _dtoService.GetUserDto(e.Argument); + + _serverManager.SendWebSocketMessage("UserConfigurationUpdated", dto); + } + void _installationManager_PackageInstalling(object sender, InstallationEventArgs e) { _serverManager.SendWebSocketMessage("PackageInstalling", e.InstallationInfo); @@ -171,6 +178,7 @@ namespace MediaBrowser.Server.Implementations.EntryPoints { _userManager.UserDeleted -= userManager_UserDeleted; _userManager.UserUpdated -= userManager_UserUpdated; + _userManager.UserConfigurationUpdated -= _userManager_UserConfigurationUpdated; _installationManager.PluginUninstalled -= InstallationManager_PluginUninstalled; _installationManager.PackageInstalling -= _installationManager_PackageInstalling; diff --git a/MediaBrowser.Server.Implementations/Library/UserManager.cs b/MediaBrowser.Server.Implementations/Library/UserManager.cs index d81cd09a9..f9d7479ce 100644 --- a/MediaBrowser.Server.Implementations/Library/UserManager.cs +++ b/MediaBrowser.Server.Implementations/Library/UserManager.cs @@ -5,8 +5,10 @@ using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Library; using MediaBrowser.Controller.Persistence; using MediaBrowser.Controller.Providers; +using MediaBrowser.Model.Configuration; using MediaBrowser.Model.Events; using MediaBrowser.Model.Logging; +using MediaBrowser.Model.Serialization; using System; using System.Collections.Generic; using System.IO; @@ -46,16 +48,19 @@ namespace MediaBrowser.Server.Implementations.Library /// <value>The user repository.</value> private IUserRepository UserRepository { get; set; } + private readonly IXmlSerializer _xmlSerializer; + /// <summary> /// Initializes a new instance of the <see cref="UserManager" /> class. /// </summary> /// <param name="logger">The logger.</param> /// <param name="configurationManager">The configuration manager.</param> /// <param name="userRepository">The user repository.</param> - public UserManager(ILogger logger, IServerConfigurationManager configurationManager, IUserRepository userRepository) + public UserManager(ILogger logger, IServerConfigurationManager configurationManager, IUserRepository userRepository, IXmlSerializer xmlSerializer) { _logger = logger; UserRepository = userRepository; + _xmlSerializer = xmlSerializer; ConfigurationManager = configurationManager; Users = new List<User>(); } @@ -65,7 +70,8 @@ namespace MediaBrowser.Server.Implementations.Library /// Occurs when [user updated]. /// </summary> public event EventHandler<GenericEventArgs<User>> UserUpdated; - + public event EventHandler<GenericEventArgs<User>> UserConfigurationUpdated; + /// <summary> /// Called when [user updated]. /// </summary> @@ -408,6 +414,13 @@ namespace MediaBrowser.Server.Implementations.Library }; } + public void UpdateConfiguration(User user, UserConfiguration newConfiguration) + { + var xmlPath = user.ConfigurationFilePath; + Directory.CreateDirectory(Path.GetDirectoryName(xmlPath)); + _xmlSerializer.SerializeToFile(newConfiguration, xmlPath); + EventHelper.FireEventIfNotNull(UserConfigurationUpdated, this, new GenericEventArgs<User> { Argument = user }, _logger); + } } } diff --git a/MediaBrowser.Server.Implementations/Localization/JavaScript/javascript.json b/MediaBrowser.Server.Implementations/Localization/JavaScript/javascript.json index 2c62d0b53..af55208a7 100644 --- a/MediaBrowser.Server.Implementations/Localization/JavaScript/javascript.json +++ b/MediaBrowser.Server.Implementations/Localization/JavaScript/javascript.json @@ -186,5 +186,6 @@ "LabelUnknownLanaguage": "Unknown language", "HeaderCurrentSubtitles": "Current Subtitles", "MessageDownloadQueued": "The download has been queued.", - "MessageAreYouSureDeleteSubtitles": "Are you sure you wish to delete this subtitle file?" + "MessageAreYouSureDeleteSubtitles": "Are you sure you wish to delete this subtitle file?", + "ButtonRemoteControl": "Remote Control" }
\ No newline at end of file diff --git a/MediaBrowser.Server.Implementations/Localization/Server/server.json b/MediaBrowser.Server.Implementations/Localization/Server/server.json index 04eba0442..97f864889 100644 --- a/MediaBrowser.Server.Implementations/Localization/Server/server.json +++ b/MediaBrowser.Server.Implementations/Localization/Server/server.json @@ -832,5 +832,6 @@ "LabelSelectFolderGroups": "Automatically group content from the following folders into views such as Movies, Music and TV:", "LabelSelectFolderGroupsHelp": "Folders that are unchecked will be displayed by themselves in their own view.", "OptionDisplayAdultContent": "Display adult content", - "OptionLibraryFolders": "Folder view" + "OptionLibraryFolders": "Folder view", + "TitleRemoteControl": "Remote Control" }
\ No newline at end of file |
