diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2016-10-28 14:45:56 -0400 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2016-10-28 14:45:56 -0400 |
| commit | 41dfa2650102c43e5b010ef1f5cad3d159857b57 (patch) | |
| tree | 70bb01dbc6986db1a4178c248e2499df6d8fb8f6 | |
| parent | b59614d43994b1a623a2ad8f89ce95ad82aea98a (diff) | |
update FolderXmlSaver
| -rw-r--r-- | MediaBrowser.LocalMetadata/Savers/BaseXmlSaver.cs | 189 | ||||
| -rw-r--r-- | MediaBrowser.LocalMetadata/Savers/FolderXmlSaver.cs | 57 |
2 files changed, 111 insertions, 135 deletions
diff --git a/MediaBrowser.LocalMetadata/Savers/BaseXmlSaver.cs b/MediaBrowser.LocalMetadata/Savers/BaseXmlSaver.cs index eed846b7f..23cdf00b6 100644 --- a/MediaBrowser.LocalMetadata/Savers/BaseXmlSaver.cs +++ b/MediaBrowser.LocalMetadata/Savers/BaseXmlSaver.cs @@ -23,97 +23,116 @@ using MediaBrowser.Model.Xml; namespace MediaBrowser.LocalMetadata.Savers { - public abstract class BaseNfoSaver : IMetadataFileSaver + public abstract class BaseXmlSaver : IMetadataFileSaver { private static readonly CultureInfo UsCulture = new CultureInfo("en-US"); private static readonly Dictionary<string, string> CommonTags = new[] { - "plot", - "customrating", - "lockdata", - "type", - "dateadded", - "title", - "rating", - "year", - "sorttitle", - "mpaa", - "mpaadescription", - "aspectratio", - "website", - "collectionnumber", - "tmdbid", - "rottentomatoesid", - "language", - "tvcomid", - "budget", - "revenue", - "tagline", - "studio", - "genre", - "tag", - "runtime", - "actor", - "criticratingsummary", - "criticrating", - "fileinfo", - "director", - "writer", - "trailer", - "premiered", - "releasedate", - "outline", - "id", - "votes", - "credits", - "originaltitle", - "watched", - "playcount", - "lastplayed", - "art", - "resume", - "biography", - "formed", - "review", - "style", - "imdbid", - "imdb_id", - "plotkeyword", - "country", - "audiodbalbumid", - "audiodbartistid", - "awardsummary", - "enddate", - "lockedfields", - "metascore", - "zap2itid", - "tvrageid", - "gamesdbid", - - "musicbrainzartistid", - "musicbrainzalbumartistid", - "musicbrainzalbumid", - "musicbrainzreleasegroupid", - "tvdbid", - "collectionitem", - - "isuserfavorite", - "userrating", - - "countrycode" + "Added", + "AspectRatio", + "AudioDbAlbumId", + "AudioDbArtistId", + "AwardSummary", + "BirthDate", + "Budget", + + // Deprecated. No longer saving in this field. + "certification", + + "Chapters", + "ContentRating", + "Countries", + "CustomRating", + "CriticRating", + "CriticRatingSummary", + "DeathDate", + "DisplayOrder", + "EndDate", + "Genres", + "Genre", + "GamesDbId", + + // Deprecated. No longer saving in this field. + "IMDB_ID", + + "IMDB", + + // Deprecated. No longer saving in this field. + "IMDbId", + + "Language", + "LocalTitle", + "OriginalTitle", + "LockData", + "LockedFields", + "Format3D", + "Metascore", + + // Deprecated. No longer saving in this field. + "MPAARating", + + "MPAADescription", + + "MusicBrainzArtistId", + "MusicBrainzAlbumArtistId", + "MusicBrainzAlbumId", + "MusicBrainzReleaseGroupId", + + // Deprecated. No longer saving in this field. + "MusicbrainzId", + + "Overview", + "ShortOverview", + "Persons", + "PlotKeywords", + "PremiereDate", + "ProductionYear", + "Rating", + "Revenue", + "RottenTomatoesId", + "RunningTime", + + // Deprecated. No longer saving in this field. + "Runtime", + + "SortTitle", + "Studios", + "Tags", + + // Deprecated. No longer saving in this field. + "TagLine", + + "Taglines", + "TMDbCollectionId", + "TMDbId", + + // Deprecated. No longer saving in this field. + "Trailer", + + "Trailers", + "TVcomId", + "TvDbId", + "Type", + "TVRageId", + "VoteCount", + "Website", + "Zap2ItId", + "CollectionItems", + "PlaylistItems", + "Shares" }.ToDictionary(i => i, StringComparer.OrdinalIgnoreCase); - protected BaseNfoSaver(IFileSystem fileSystem, IServerConfigurationManager configurationManager, ILibraryManager libraryManager, IUserManager userManager, IUserDataManager userDataManager, ILogger logger, IXmlReaderSettingsFactory xmlReaderSettingsFactory) + public BaseXmlSaver(IFileSystem fileSystem, IServerConfigurationManager configurationManager, ILibraryManager libraryManager, IUserManager userManager, IUserDataManager userDataManager, ILogger logger, IXmlReaderSettingsFactory xmlReaderSettingsFactory) { + FileSystem = fileSystem; + ConfigurationManager = configurationManager; + LibraryManager = libraryManager; + UserManager = userManager; + UserDataManager = userDataManager; Logger = logger; XmlReaderSettingsFactory = xmlReaderSettingsFactory; - UserDataManager = userDataManager; - UserManager = userManager; - LibraryManager = libraryManager; - ConfigurationManager = configurationManager; - FileSystem = fileSystem; } protected IFileSystem FileSystem { get; private set; } @@ -136,15 +155,7 @@ namespace MediaBrowser.LocalMetadata.Savers { get { - return SaverName; - } - } - - public static string SaverName - { - get - { - return "Emby Xml"; + return XmlProviderUtils.Name; } } diff --git a/MediaBrowser.LocalMetadata/Savers/FolderXmlSaver.cs b/MediaBrowser.LocalMetadata/Savers/FolderXmlSaver.cs index 2d8576aa3..b51bd5b91 100644 --- a/MediaBrowser.LocalMetadata/Savers/FolderXmlSaver.cs +++ b/MediaBrowser.LocalMetadata/Savers/FolderXmlSaver.cs @@ -9,40 +9,28 @@ using System.Collections.Generic; using System.IO; using System.Text; using System.Threading; +using System.Xml; using MediaBrowser.Common.IO; using MediaBrowser.Controller.IO; using MediaBrowser.Model.IO; +using MediaBrowser.Model.Logging; +using MediaBrowser.Model.Xml; namespace MediaBrowser.LocalMetadata.Savers { - public class FolderXmlSaver : IMetadataFileSaver + public class FolderXmlSaver : BaseXmlSaver { - public string Name + protected override string GetLocalSavePath(IHasMetadata item) { - get - { - return XmlProviderUtils.Name; - } + return Path.Combine(item.Path, "folder.xml"); } - private readonly IServerConfigurationManager _config; - private readonly ILibraryManager _libraryManager; - private readonly IFileSystem _fileSystem; - - public FolderXmlSaver(IServerConfigurationManager config, ILibraryManager libraryManager, IFileSystem fileSystem) + protected override string GetRootElementName(IHasMetadata item) { - _config = config; - _libraryManager = libraryManager; - _fileSystem = fileSystem; + return "Item"; } - /// <summary> - /// Determines whether [is enabled for] [the specified item]. - /// </summary> - /// <param name="item">The item.</param> - /// <param name="updateType">Type of the update.</param> - /// <returns><c>true</c> if [is enabled for] [the specified item]; otherwise, <c>false</c>.</returns> - public bool IsEnabledFor(IHasMetadata item, ItemUpdateType updateType) + public override bool IsEnabledFor(IHasMetadata item, ItemUpdateType updateType) { if (!item.SupportsLocalMetadata) { @@ -63,35 +51,12 @@ namespace MediaBrowser.LocalMetadata.Savers return false; } - /// <summary> - /// Saves the specified item. - /// </summary> - /// <param name="item">The item.</param> - /// <param name="cancellationToken">The cancellation token.</param> - /// <returns>Task.</returns> - public void Save(IHasMetadata item, CancellationToken cancellationToken) + protected override void WriteCustomElements(IHasMetadata item, XmlWriter writer) { - var builder = new StringBuilder(); - - builder.Append("<Item>"); - - XmlSaverHelpers.AddCommonNodes((Folder)item, _libraryManager, builder); - - builder.Append("</Item>"); - - var xmlFilePath = GetSavePath(item); - - XmlSaverHelpers.Save(builder, xmlFilePath, new List<string>(), _config, _fileSystem); } - /// <summary> - /// Gets the save path. - /// </summary> - /// <param name="item">The item.</param> - /// <returns>System.String.</returns> - public string GetSavePath(IHasMetadata item) + public FolderXmlSaver(IFileSystem fileSystem, IServerConfigurationManager configurationManager, ILibraryManager libraryManager, IUserManager userManager, IUserDataManager userDataManager, ILogger logger, IXmlReaderSettingsFactory xmlReaderSettingsFactory) : base(fileSystem, configurationManager, libraryManager, userManager, userDataManager, logger, xmlReaderSettingsFactory) { - return Path.Combine(item.Path, "folder.xml"); } } } |
