aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2017-01-13 22:48:25 -0500
committerLuke Pulverenti <luke.pulverenti@gmail.com>2017-01-13 22:48:25 -0500
commit7a77aa42c5876c5cda6695b7f76e7a4dd6a11d9f (patch)
tree67224e4fa1cdda685f9f4c55061ac64a825d3a19
parent1cb7a1b49cd3f088ed312eb97c6c01b317177104 (diff)
update season creator
-rw-r--r--MediaBrowser.Providers/TV/DummySeasonProvider.cs22
1 files changed, 16 insertions, 6 deletions
diff --git a/MediaBrowser.Providers/TV/DummySeasonProvider.cs b/MediaBrowser.Providers/TV/DummySeasonProvider.cs
index f9f247999..fd4d041b2 100644
--- a/MediaBrowser.Providers/TV/DummySeasonProvider.cs
+++ b/MediaBrowser.Providers/TV/DummySeasonProvider.cs
@@ -66,29 +66,39 @@ namespace MediaBrowser.Providers.TV
.Distinct()
.ToList())
{
- var hasSeason = series.Children.OfType<Season>()
- .Any(i => i.IndexNumber.HasValue && i.IndexNumber.Value == seasonNumber);
+ var existingSeason = series.Children.OfType<Season>()
+ .FirstOrDefault(i => i.IndexNumber.HasValue && i.IndexNumber.Value == seasonNumber);
- if (!hasSeason)
+ if (existingSeason == null)
{
await AddSeason(series, seasonNumber, false, cancellationToken).ConfigureAwait(false);
hasChanges = true;
}
+ else if (existingSeason.IsVirtualItem)
+ {
+ existingSeason.IsVirtualItem = false;
+ await existingSeason.UpdateToRepository(ItemUpdateType.MetadataEdit, cancellationToken).ConfigureAwait(false);
+ }
}
// Unknown season - create a dummy season to put these under
if (episodesInSeriesFolder.Any(i => !i.ParentIndexNumber.HasValue))
{
- var hasSeason = series.Children.OfType<Season>()
- .Any(i => !i.IndexNumber.HasValue);
+ var existingSeason = series.Children.OfType<Season>()
+ .FirstOrDefault(i => !i.IndexNumber.HasValue);
- if (!hasSeason)
+ if (existingSeason == null)
{
await AddSeason(series, null, false, cancellationToken).ConfigureAwait(false);
hasChanges = true;
}
+ else if (existingSeason.IsVirtualItem)
+ {
+ existingSeason.IsVirtualItem = false;
+ await existingSeason.UpdateToRepository(ItemUpdateType.MetadataEdit, cancellationToken).ConfigureAwait(false);
+ }
}
return hasChanges;