aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.LocalMetadata/Savers/PlaylistXmlSaver.cs
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.LocalMetadata/Savers/PlaylistXmlSaver.cs')
-rw-r--r--MediaBrowser.LocalMetadata/Savers/PlaylistXmlSaver.cs31
1 files changed, 16 insertions, 15 deletions
diff --git a/MediaBrowser.LocalMetadata/Savers/PlaylistXmlSaver.cs b/MediaBrowser.LocalMetadata/Savers/PlaylistXmlSaver.cs
index ef28dde36e..521a0b00e3 100644
--- a/MediaBrowser.LocalMetadata/Savers/PlaylistXmlSaver.cs
+++ b/MediaBrowser.LocalMetadata/Savers/PlaylistXmlSaver.cs
@@ -13,7 +13,7 @@ namespace MediaBrowser.LocalMetadata.Savers
{
public class PlaylistXmlSaver : BaseXmlSaver
{
- public override bool IsEnabledFor(IHasMetadata item, ItemUpdateType updateType)
+ public override bool IsEnabledFor(BaseItem item, ItemUpdateType updateType)
{
if (!item.SupportsLocalMetadata)
{
@@ -23,18 +23,7 @@ namespace MediaBrowser.LocalMetadata.Savers
return item is Playlist && updateType >= ItemUpdateType.MetadataImport;
}
- protected override List<string> GetTagsUsed()
- {
- var list = new List<string>
- {
- "OwnerUserId",
- "PlaylistMediaType"
- };
-
- return list;
- }
-
- protected override void WriteCustomElements(IHasMetadata item, XmlWriter writer)
+ protected override void WriteCustomElements(BaseItem item, XmlWriter writer)
{
var game = (Playlist)item;
@@ -44,9 +33,21 @@ namespace MediaBrowser.LocalMetadata.Savers
}
}
- protected override string GetLocalSavePath(IHasMetadata item)
+ protected override string GetLocalSavePath(BaseItem item)
+ {
+ return GetSavePath(item.Path, FileSystem);
+ }
+
+ public static string GetSavePath(string itemPath, IFileSystem fileSystem)
{
- return Path.Combine(item.Path, "playlist.xml");
+ var path = itemPath;
+
+ if (Playlist.IsPlaylistFile(path))
+ {
+ return Path.ChangeExtension(itemPath, ".xml");
+ }
+
+ return Path.Combine(path, "playlist.xml");
}
public PlaylistXmlSaver(IFileSystem fileSystem, IServerConfigurationManager configurationManager, ILibraryManager libraryManager, IUserManager userManager, IUserDataManager userDataManager, ILogger logger, IXmlReaderSettingsFactory xmlReaderSettingsFactory) : base(fileSystem, configurationManager, libraryManager, userManager, userDataManager, logger, xmlReaderSettingsFactory)