mirror of
https://github.com/jellyfin/jellyfin.git
synced 2026-01-15 15:48:03 +00:00
Merge pull request #9466 from Shadowghost/playlist-fix
This commit is contained in:
@@ -9,6 +9,7 @@ using System.Xml;
|
||||
using Jellyfin.Data.Enums;
|
||||
using Jellyfin.Extensions;
|
||||
using MediaBrowser.Controller.Entities;
|
||||
using MediaBrowser.Controller.Playlists;
|
||||
using MediaBrowser.Controller.Providers;
|
||||
using MediaBrowser.Model.Entities;
|
||||
using Microsoft.Extensions.Logging;
|
||||
@@ -637,6 +638,21 @@ namespace MediaBrowser.LocalMetadata.Parsers
|
||||
break;
|
||||
}
|
||||
|
||||
case "OwnerUserId":
|
||||
{
|
||||
var val = reader.ReadElementContentAsString();
|
||||
|
||||
if (Guid.TryParse(val, out var guid) && !guid.Equals(Guid.Empty))
|
||||
{
|
||||
if (item is Playlist playlist)
|
||||
{
|
||||
playlist.OwnerUserId = guid;
|
||||
}
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
case "Format3D":
|
||||
{
|
||||
var val = reader.ReadElementContentAsString();
|
||||
|
||||
@@ -395,6 +395,7 @@ namespace MediaBrowser.LocalMetadata.Savers
|
||||
|
||||
if (item is Playlist playlist && !Playlist.IsPlaylistFile(playlist.Path))
|
||||
{
|
||||
await writer.WriteElementStringAsync(null, "OwnerUserId", null, playlist.OwnerUserId.ToString("N")).ConfigureAwait(false);
|
||||
await AddLinkedChildren(playlist, writer, "PlaylistItems", "PlaylistItem").ConfigureAwait(false);
|
||||
}
|
||||
|
||||
@@ -418,16 +419,19 @@ namespace MediaBrowser.LocalMetadata.Savers
|
||||
|
||||
foreach (var share in item.Shares)
|
||||
{
|
||||
await writer.WriteStartElementAsync(null, "Share", null).ConfigureAwait(false);
|
||||
if (share.UserId is not null)
|
||||
{
|
||||
await writer.WriteStartElementAsync(null, "Share", null).ConfigureAwait(false);
|
||||
|
||||
await writer.WriteElementStringAsync(null, "UserId", null, share.UserId).ConfigureAwait(false);
|
||||
await writer.WriteElementStringAsync(
|
||||
null,
|
||||
"CanEdit",
|
||||
null,
|
||||
share.CanEdit.ToString(CultureInfo.InvariantCulture).ToLowerInvariant()).ConfigureAwait(false);
|
||||
await writer.WriteElementStringAsync(null, "UserId", null, share.UserId).ConfigureAwait(false);
|
||||
await writer.WriteElementStringAsync(
|
||||
null,
|
||||
"CanEdit",
|
||||
null,
|
||||
share.CanEdit.ToString(CultureInfo.InvariantCulture).ToLowerInvariant()).ConfigureAwait(false);
|
||||
|
||||
await writer.WriteEndElementAsync().ConfigureAwait(false);
|
||||
await writer.WriteEndElementAsync().ConfigureAwait(false);
|
||||
}
|
||||
}
|
||||
|
||||
await writer.WriteEndElementAsync().ConfigureAwait(false);
|
||||
|
||||
Reference in New Issue
Block a user