diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2013-12-10 15:42:42 -0500 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2013-12-10 15:42:42 -0500 |
| commit | 90184470fa8f7c61be978e097326ebab3e413d10 (patch) | |
| tree | 2ea1e874ddbe0646e4f1bdf326ff2e05366ac036 /MediaBrowser.Providers | |
| parent | 7c6581dd0f29b9ccb73105bf80bf0b064e24cb9d (diff) | |
expose episode absolute numbers for editing
Diffstat (limited to 'MediaBrowser.Providers')
| -rw-r--r-- | MediaBrowser.Providers/Savers/EpisodeXmlSaver.cs | 8 | ||||
| -rw-r--r-- | MediaBrowser.Providers/Savers/XmlSaverHelpers.cs | 20 | ||||
| -rw-r--r-- | MediaBrowser.Providers/TV/EpisodeXmlParser.cs | 17 | ||||
| -rw-r--r-- | MediaBrowser.Providers/TV/TvdbEpisodeProvider.cs | 18 |
4 files changed, 48 insertions, 15 deletions
diff --git a/MediaBrowser.Providers/Savers/EpisodeXmlSaver.cs b/MediaBrowser.Providers/Savers/EpisodeXmlSaver.cs index 88b3af5be0..91e7699948 100644 --- a/MediaBrowser.Providers/Savers/EpisodeXmlSaver.cs +++ b/MediaBrowser.Providers/Savers/EpisodeXmlSaver.cs @@ -92,6 +92,11 @@ namespace MediaBrowser.Providers.Savers builder.Append("<SeasonNumber>" + SecurityElement.Escape(episode.ParentIndexNumber.Value.ToString(_usCulture)) + "</SeasonNumber>"); } + if (episode.AbsoluteEpisodeNumber.HasValue) + { + builder.Append("<absolute_number>" + SecurityElement.Escape(episode.AbsoluteEpisodeNumber.Value.ToString(_usCulture)) + "</absolute_number>"); + } + if (episode.DvdEpisodeNumber.HasValue) { builder.Append("<DVD_episodenumber>" + SecurityElement.Escape(episode.DvdEpisodeNumber.Value.ToString(_usCulture)) + "</DVD_episodenumber>"); @@ -125,7 +130,8 @@ namespace MediaBrowser.Providers.Savers "airsbefore_episode", "airsbefore_season", "DVD_episodenumber", - "DVD_season" + "DVD_season", + "absolute_number" }); } diff --git a/MediaBrowser.Providers/Savers/XmlSaverHelpers.cs b/MediaBrowser.Providers/Savers/XmlSaverHelpers.cs index 522b2c90bb..551da20b0f 100644 --- a/MediaBrowser.Providers/Savers/XmlSaverHelpers.cs +++ b/MediaBrowser.Providers/Savers/XmlSaverHelpers.cs @@ -534,20 +534,12 @@ namespace MediaBrowser.Providers.Savers { var video = item as Video; - builder.Append("<MediaInfo>"); - - builder.Append("<Video>"); - - if (item.RunTimeTicks.HasValue) + if (video != null && video.Video3DFormat.HasValue) { - var timespan = TimeSpan.FromTicks(item.RunTimeTicks.Value); + builder.Append("<MediaInfo>"); - builder.Append("<Duration>" + Convert.ToInt64(timespan.TotalMinutes).ToString(UsCulture) + "</Duration>"); - builder.Append("<DurationSeconds>" + Convert.ToInt64(timespan.TotalSeconds).ToString(UsCulture) + "</DurationSeconds>"); - } + builder.Append("<Video>"); - if (video != null && video.Video3DFormat.HasValue) - { switch (video.Video3DFormat.Value) { case Video3DFormat.FullSideBySide: @@ -563,11 +555,11 @@ namespace MediaBrowser.Providers.Savers builder.Append("<Format3D>HTAB</Format3D>"); break; } - } - builder.Append("</Video>"); + builder.Append("</Video>"); - builder.Append("</MediaInfo>"); + builder.Append("</MediaInfo>"); + } } } } diff --git a/MediaBrowser.Providers/TV/EpisodeXmlParser.cs b/MediaBrowser.Providers/TV/EpisodeXmlParser.cs index a06a3bf23b..446c34f740 100644 --- a/MediaBrowser.Providers/TV/EpisodeXmlParser.cs +++ b/MediaBrowser.Providers/TV/EpisodeXmlParser.cs @@ -143,6 +143,23 @@ namespace MediaBrowser.Providers.TV break; } + case "absolute_number": + { + var val = reader.ReadElementContentAsString(); + + if (!string.IsNullOrWhiteSpace(val)) + { + int rval; + + // int.TryParse is local aware, so it can be probamatic, force us culture + if (int.TryParse(val, NumberStyles.Integer, UsCulture, out rval)) + { + item.AbsoluteEpisodeNumber = rval; + } + } + + break; + } case "DVD_episodenumber": { var number = reader.ReadElementContentAsString(); diff --git a/MediaBrowser.Providers/TV/TvdbEpisodeProvider.cs b/MediaBrowser.Providers/TV/TvdbEpisodeProvider.cs index b7709b5d35..f5e21bf69d 100644 --- a/MediaBrowser.Providers/TV/TvdbEpisodeProvider.cs +++ b/MediaBrowser.Providers/TV/TvdbEpisodeProvider.cs @@ -438,6 +438,24 @@ namespace MediaBrowser.Providers.TV break; } + case "absolute_number": + { + var val = reader.ReadElementContentAsString(); + + if (!string.IsNullOrWhiteSpace(val)) + { + int rval; + + // int.TryParse is local aware, so it can be probamatic, force us culture + if (int.TryParse(val, NumberStyles.Integer, _usCulture, out rval)) + { + item.AbsoluteEpisodeNumber = rval; + } + } + + break; + } + case "airsbefore_episode": { var val = reader.ReadElementContentAsString(); |
