aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.LocalMetadata
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2014-12-12 22:56:30 -0500
committerLuke Pulverenti <luke.pulverenti@gmail.com>2014-12-12 22:56:30 -0500
commitab3da461130b0db2f77e7e848c4bbd1280e5524a (patch)
tree0ee0ef36f4d710a491d4e8c5ef083df16c710d42 /MediaBrowser.LocalMetadata
parent3fb40eb02e3ab4bf84e34ebed126db8d6f760e92 (diff)
more sync movement
Diffstat (limited to 'MediaBrowser.LocalMetadata')
-rw-r--r--MediaBrowser.LocalMetadata/Parsers/PlaylistXmlParser.cs12
-rw-r--r--MediaBrowser.LocalMetadata/Savers/PlaylistXmlSaver.cs5
-rw-r--r--MediaBrowser.LocalMetadata/Savers/XmlSaverHelpers.cs23
3 files changed, 34 insertions, 6 deletions
diff --git a/MediaBrowser.LocalMetadata/Parsers/PlaylistXmlParser.cs b/MediaBrowser.LocalMetadata/Parsers/PlaylistXmlParser.cs
index c7f974200..a12724ff7 100644
--- a/MediaBrowser.LocalMetadata/Parsers/PlaylistXmlParser.cs
+++ b/MediaBrowser.LocalMetadata/Parsers/PlaylistXmlParser.cs
@@ -2,7 +2,9 @@
using MediaBrowser.Controller.Playlists;
using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.Logging;
+using System;
using System.Collections.Generic;
+using System.Linq;
using System.Xml;
namespace MediaBrowser.LocalMetadata.Parsers
@@ -20,7 +22,15 @@ namespace MediaBrowser.LocalMetadata.Parsers
{
case "OwnerUserId":
{
- item.OwnerUserId = reader.ReadElementContentAsString();
+ var userId = reader.ReadElementContentAsString();
+ if (!item.Shares.Any(i => string.Equals(userId, i.UserId, StringComparison.OrdinalIgnoreCase)))
+ {
+ item.Shares.Add(new Share
+ {
+ UserId = userId,
+ CanEdit = true
+ });
+ }
break;
}
diff --git a/MediaBrowser.LocalMetadata/Savers/PlaylistXmlSaver.cs b/MediaBrowser.LocalMetadata/Savers/PlaylistXmlSaver.cs
index 16c437381..76ef4d4bf 100644
--- a/MediaBrowser.LocalMetadata/Savers/PlaylistXmlSaver.cs
+++ b/MediaBrowser.LocalMetadata/Savers/PlaylistXmlSaver.cs
@@ -57,11 +57,6 @@ namespace MediaBrowser.LocalMetadata.Savers
builder.Append("<Item>");
- if (!string.IsNullOrEmpty(playlist.OwnerUserId))
- {
- builder.Append("<OwnerUserId>" + SecurityElement.Escape(playlist.OwnerUserId) + "</OwnerUserId>");
- }
-
if (!string.IsNullOrEmpty(playlist.PlaylistMediaType))
{
builder.Append("<PlaylistMediaType>" + SecurityElement.Escape(playlist.PlaylistMediaType) + "</PlaylistMediaType>");
diff --git a/MediaBrowser.LocalMetadata/Savers/XmlSaverHelpers.cs b/MediaBrowser.LocalMetadata/Savers/XmlSaverHelpers.cs
index 93876f474..3e11c994b 100644
--- a/MediaBrowser.LocalMetadata/Savers/XmlSaverHelpers.cs
+++ b/MediaBrowser.LocalMetadata/Savers/XmlSaverHelpers.cs
@@ -645,6 +645,29 @@ namespace MediaBrowser.LocalMetadata.Savers
{
AddLinkedChildren(playlist, builder, "PlaylistItems", "PlaylistItem");
}
+
+ var hasShares = item as IHasShares;
+ if (hasShares != null)
+ {
+
+ }
+ }
+
+ public static void AddShares(IHasShares item, StringBuilder builder)
+ {
+ builder.Append("<Shares>");
+
+ foreach (var share in item.Shares)
+ {
+ builder.Append("<Share>");
+
+ builder.Append("<UserId>" + SecurityElement.Escape(share.UserId) + "</UserId>");
+ builder.Append("<CanEdit>" + SecurityElement.Escape(share.CanEdit.ToString().ToLower()) + "</CanEdit>");
+
+ builder.Append("</Share>");
+ }
+
+ builder.Append("</Shares>");
}
public static void AddChapters(Video item, StringBuilder builder, IItemRepository repository)