diff options
Diffstat (limited to 'MediaBrowser.XbmcMetadata/Savers/BaseNfoSaver.cs')
| -rw-r--r-- | MediaBrowser.XbmcMetadata/Savers/BaseNfoSaver.cs | 44 |
1 files changed, 30 insertions, 14 deletions
diff --git a/MediaBrowser.XbmcMetadata/Savers/BaseNfoSaver.cs b/MediaBrowser.XbmcMetadata/Savers/BaseNfoSaver.cs index b6f8170729..4bee6e911f 100644 --- a/MediaBrowser.XbmcMetadata/Savers/BaseNfoSaver.cs +++ b/MediaBrowser.XbmcMetadata/Savers/BaseNfoSaver.cs @@ -95,7 +95,10 @@ namespace MediaBrowser.XbmcMetadata.Savers "musicbrainzalbumid", "musicbrainzreleasegroupid", "tvdbid", - "collectionitem" + "collectionitem", + + "isuserfavorite", + "userrating" }.ToDictionary(i => i, StringComparer.OrdinalIgnoreCase); @@ -120,6 +123,14 @@ namespace MediaBrowser.XbmcMetadata.Savers { get { + return SaverName; + } + } + + public static string SaverName + { + get + { return "Xbmc Nfo"; } } @@ -852,11 +863,6 @@ namespace MediaBrowser.XbmcMetadata.Savers private static void AddUserData(BaseItem item, XmlWriter writer, IUserManager userManager, IUserDataManager userDataRepo, XbmcMetadataOptions options) { - if (!(item is Video)) - { - return; - } - var userId = options.UserId; if (string.IsNullOrWhiteSpace(userId)) { @@ -877,20 +883,30 @@ namespace MediaBrowser.XbmcMetadata.Savers var userdata = userDataRepo.GetUserData(user.Id, item.GetUserDataKey()); - writer.WriteElementString("playcount", userdata.PlayCount.ToString(UsCulture)); - writer.WriteElementString("watched", userdata.Played.ToString().ToLower()); + writer.WriteElementString("isuserfavorite", userdata.IsFavorite.ToString().ToLower()); - if (userdata.LastPlayedDate.HasValue) + if (userdata.Rating.HasValue) { - writer.WriteElementString("lastplayed", userdata.LastPlayedDate.Value.ToString("yyyy-MM-dd HH:mm:ss").ToLower()); + writer.WriteElementString("userrating", userdata.Rating.Value.ToString(CultureInfo.InvariantCulture).ToLower()); } - writer.WriteStartElement("resume"); + if (!item.IsFolder) + { + writer.WriteElementString("playcount", userdata.PlayCount.ToString(UsCulture)); + writer.WriteElementString("watched", userdata.Played.ToString().ToLower()); + + if (userdata.LastPlayedDate.HasValue) + { + writer.WriteElementString("lastplayed", userdata.LastPlayedDate.Value.ToString("yyyy-MM-dd HH:mm:ss").ToLower()); + } - var runTimeTicks = item.RunTimeTicks ?? 0; + writer.WriteStartElement("resume"); - writer.WriteElementString("position", TimeSpan.FromTicks(userdata.PlaybackPositionTicks).TotalSeconds.ToString(UsCulture)); - writer.WriteElementString("total", TimeSpan.FromTicks(runTimeTicks).TotalSeconds.ToString(UsCulture)); + var runTimeTicks = item.RunTimeTicks ?? 0; + + writer.WriteElementString("position", TimeSpan.FromTicks(userdata.PlaybackPositionTicks).TotalSeconds.ToString(UsCulture)); + writer.WriteElementString("total", TimeSpan.FromTicks(runTimeTicks).TotalSeconds.ToString(UsCulture)); + } writer.WriteEndElement(); } |
