Display specials within seasons

This commit is contained in:
Luke Pulverenti
2013-11-15 16:31:33 -05:00
parent cc16fd3af8
commit a09e330d4e
12 changed files with 172 additions and 4 deletions

View File

@@ -75,6 +75,11 @@ namespace MediaBrowser.Providers.Savers
{
builder.Append("<EpisodeNumberEnd>" + SecurityElement.Escape(episode.IndexNumberEnd.Value.ToString(_usCulture)) + "</EpisodeNumberEnd>");
}
if (episode.SpecialSeasonNumber.HasValue)
{
builder.Append("<SpecialSeasonNumber>" + SecurityElement.Escape(episode.SpecialSeasonNumber.Value.ToString(_usCulture)) + "</SpecialSeasonNumber>");
}
if (episode.ParentIndexNumber.HasValue)
{
@@ -99,7 +104,8 @@ namespace MediaBrowser.Providers.Savers
"SeasonNumber",
"EpisodeNumber",
"EpisodeName",
"EpisodeNumberEnd"
"EpisodeNumberEnd",
"SpecialSeasonNumber"
});
// Set last refreshed so that the provider doesn't trigger after the file save

View File

@@ -139,6 +139,22 @@ namespace MediaBrowser.Providers.TV
break;
}
case "SpecialSeasonNumber":
{
var number = reader.ReadElementContentAsString();
if (!string.IsNullOrWhiteSpace(number))
{
int num;
if (int.TryParse(number, out num))
{
item.SpecialSeasonNumber = num;
}
}
break;
}
case "EpisodeName":
{
var name = reader.ReadElementContentAsString();

View File

@@ -113,7 +113,7 @@ namespace MediaBrowser.Providers.TV
{
get
{
return "1";
return "3";
}
}
@@ -404,6 +404,40 @@ namespace MediaBrowser.Providers.TV
break;
}
case "airsafter_season":
{
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.SpecialSeasonNumber = rval;
}
}
break;
}
case "airsbefore_season":
{
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.SpecialSeasonNumber = rval;
}
}
break;
}
case "EpisodeName":
{
if (!item.LockedFields.Contains(MetadataFields.Name))