mirror of
https://github.com/jellyfin/jellyfin.git
synced 2026-04-22 01:54:42 +01:00
dlna fixes
This commit is contained in:
@@ -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)},
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@@ -27,5 +27,10 @@ namespace MediaBrowser.Server.Implementations.Collections
|
||||
return !ActualChildren.Any() || base.IsHidden;
|
||||
}
|
||||
}
|
||||
|
||||
public override string CollectionType
|
||||
{
|
||||
get { return Model.Entities.CollectionType.BoxSets; }
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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"
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
Reference in New Issue
Block a user