From da20e8dcd2867df0a9a6ebc1081edb2db2eebdef Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Sat, 29 Oct 2016 16:02:21 -0400 Subject: continue with .net core targeting --- MediaBrowser.LocalMetadata/Savers/GameXmlSaver.cs | 92 ++++++++--------------- 1 file changed, 30 insertions(+), 62 deletions(-) (limited to 'MediaBrowser.LocalMetadata') diff --git a/MediaBrowser.LocalMetadata/Savers/GameXmlSaver.cs b/MediaBrowser.LocalMetadata/Savers/GameXmlSaver.cs index 4e6703677..26c4b4a93 100644 --- a/MediaBrowser.LocalMetadata/Savers/GameXmlSaver.cs +++ b/MediaBrowser.LocalMetadata/Savers/GameXmlSaver.cs @@ -4,46 +4,21 @@ using MediaBrowser.Controller.Library; using System.Collections.Generic; using System.Globalization; using System.IO; -using System.Security; -using System.Text; -using System.Threading; -using MediaBrowser.Common.IO; -using MediaBrowser.Controller.IO; +using System.Xml; using MediaBrowser.Model.IO; +using MediaBrowser.Model.Logging; +using MediaBrowser.Model.Xml; namespace MediaBrowser.LocalMetadata.Savers { /// /// Saves game.xml for games /// - public class GameXmlSaver : IMetadataFileSaver + public class GameXmlSaver : BaseXmlSaver { - public string Name - { - get - { - return XmlProviderUtils.Name; - } - } - - private readonly IServerConfigurationManager _config; - private readonly ILibraryManager _libraryManager; - private readonly IFileSystem _fileSystem; - - public GameXmlSaver(IServerConfigurationManager config, ILibraryManager libraryManager, IFileSystem fileSystem) - { - _config = config; - _libraryManager = libraryManager; - _fileSystem = fileSystem; - } + private static readonly CultureInfo UsCulture = new CultureInfo("en-US"); - /// - /// Determines whether [is enabled for] [the specified item]. - /// - /// The item. - /// Type of the update. - /// true if [is enabled for] [the specified item]; otherwise, false. - public bool IsEnabledFor(IHasMetadata item, ItemUpdateType updateType) + public override bool IsEnabledFor(IHasMetadata item, ItemUpdateType updateType) { if (!item.SupportsLocalMetadata) { @@ -53,52 +28,41 @@ namespace MediaBrowser.LocalMetadata.Savers return item is Game && updateType >= ItemUpdateType.MetadataDownload; } - private static readonly CultureInfo UsCulture = new CultureInfo("en-US"); - - /// - /// Saves the specified item. - /// - /// The item. - /// The cancellation token. - /// Task. - public void Save(IHasMetadata item, CancellationToken cancellationToken) + protected override List GetTagsUsed() { - var builder = new StringBuilder(); + var list = new List + { + "GameSystem", + "Players" + }; - builder.Append(""); + return list; + } + protected override void WriteCustomElements(IHasMetadata item, XmlWriter writer) + { var game = (Game)item; - if (game.PlayersSupported.HasValue) + if (!string.IsNullOrEmpty(game.GameSystem)) { - builder.Append("" + SecurityElement.Escape(game.PlayersSupported.Value.ToString(UsCulture)) + ""); + writer.WriteElementString("GameSystem", game.GameSystem); } - - if (!string.IsNullOrEmpty(game.GameSystem)) + if (game.PlayersSupported.HasValue) { - builder.Append("" + SecurityElement.Escape(game.GameSystem) + ""); + writer.WriteElementString("Players", game.PlayersSupported.Value.ToString(UsCulture)); } - - XmlSaverHelpers.AddCommonNodes(game, _libraryManager, builder); - - builder.Append(""); - - var xmlFilePath = GetSavePath(item); - - XmlSaverHelpers.Save(builder, xmlFilePath, new List - { - "Players", - "GameSystem", - "NesBox", - "NesBoxRom" - }, _config, _fileSystem); } - public string GetSavePath(IHasMetadata item) + protected override string GetLocalSavePath(IHasMetadata item) { return GetGameSavePath((Game)item); } + protected override string GetRootElementName(IHasMetadata item) + { + return "Item"; + } + public static string GetGameSavePath(Game item) { if (item.DetectIsInMixedFolder()) @@ -108,5 +72,9 @@ namespace MediaBrowser.LocalMetadata.Savers return Path.Combine(item.ContainingFolderPath, "game.xml"); } + + public GameXmlSaver(IFileSystem fileSystem, IServerConfigurationManager configurationManager, ILibraryManager libraryManager, IUserManager userManager, IUserDataManager userDataManager, ILogger logger, IXmlReaderSettingsFactory xmlReaderSettingsFactory) : base(fileSystem, configurationManager, libraryManager, userManager, userDataManager, logger, xmlReaderSettingsFactory) + { + } } } -- cgit v1.2.3