diff options
Diffstat (limited to 'MediaBrowser.LocalMetadata/Savers/PlaylistXmlSaver.cs')
| -rw-r--r-- | MediaBrowser.LocalMetadata/Savers/PlaylistXmlSaver.cs | 31 |
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) |
