aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Server.Implementations
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2014-06-22 01:52:31 -0400
committerLuke Pulverenti <luke.pulverenti@gmail.com>2014-06-22 01:52:31 -0400
commit414b1251c791dd914e51a5cfd7afeeaaf912e8a3 (patch)
tree06c9d734ba51b92eff336894778c1be329dddc0a /MediaBrowser.Server.Implementations
parent5ce3ed2fb47ab35c3e47959126e7656c9054f452 (diff)
dlna fixes
Diffstat (limited to 'MediaBrowser.Server.Implementations')
-rw-r--r--MediaBrowser.Server.Implementations/Channels/ChannelDownloadScheduledTask.cs13
-rw-r--r--MediaBrowser.Server.Implementations/Collections/ManualCollectionsFolder.cs5
-rw-r--r--MediaBrowser.Server.Implementations/EntryPoints/ServerEventNotifier.cs10
-rw-r--r--MediaBrowser.Server.Implementations/Library/UserManager.cs17
-rw-r--r--MediaBrowser.Server.Implementations/Localization/JavaScript/javascript.json3
-rw-r--r--MediaBrowser.Server.Implementations/Localization/Server/server.json3
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