aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Providers/TV/MissingEpisodeProvider.cs
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Providers/TV/MissingEpisodeProvider.cs')
-rw-r--r--MediaBrowser.Providers/TV/MissingEpisodeProvider.cs30
1 files changed, 14 insertions, 16 deletions
diff --git a/MediaBrowser.Providers/TV/MissingEpisodeProvider.cs b/MediaBrowser.Providers/TV/MissingEpisodeProvider.cs
index 752c0941d..e72df50de 100644
--- a/MediaBrowser.Providers/TV/MissingEpisodeProvider.cs
+++ b/MediaBrowser.Providers/TV/MissingEpisodeProvider.cs
@@ -19,6 +19,8 @@ namespace MediaBrowser.Providers.TV
{
public class MissingEpisodeProvider
{
+ private const double UnairedEpisodeThresholdDays = 2;
+
private readonly IServerConfigurationManager _config;
private readonly ILogger _logger;
private readonly ILibraryManager _libraryManager;
@@ -26,9 +28,6 @@ namespace MediaBrowser.Providers.TV
private readonly IFileSystem _fileSystem;
private readonly TvDbClientManager _tvDbClientManager;
- private readonly CultureInfo _usCulture = new CultureInfo("en-US");
- private const double UnairedEpisodeThresholdDays = 2;
-
public MissingEpisodeProvider(
ILogger logger,
IServerConfigurationManager config,
@@ -61,7 +60,7 @@ namespace MediaBrowser.Providers.TV
DateTime.TryParse(i.FirstAired, out var firstAired);
var seasonNumber = i.AiredSeason.GetValueOrDefault(-1);
var episodeNumber = i.AiredEpisodeNumber.GetValueOrDefault(-1);
- return (seasonNumber: seasonNumber, episodeNumber: episodeNumber, firstAired: firstAired);
+ return (seasonNumber, episodeNumber, firstAired);
})
.Where(i => i.seasonNumber != -1 && i.episodeNumber != -1)
.OrderBy(i => i.seasonNumber)
@@ -247,8 +246,9 @@ namespace MediaBrowser.Providers.TV
/// </summary>
/// <param name="allRecursiveChildren"></param>
/// <param name="episodeLookup">The episode lookup.</param>
- /// <returns>Task{System.Boolean}.</returns>
- private bool RemoveObsoleteOrMissingSeasons(IList<BaseItem> allRecursiveChildren,
+ /// <returns><see cref="bool" />.</returns>
+ private bool RemoveObsoleteOrMissingSeasons(
+ IList<BaseItem> allRecursiveChildren,
IEnumerable<(int seasonNumber, int episodeNumber, DateTime firstAired)> episodeLookup)
{
var existingSeasons = allRecursiveChildren.OfType<Season>().ToList();
@@ -298,7 +298,6 @@ namespace MediaBrowser.Providers.TV
_libraryManager.DeleteItem(seasonToRemove, new DeleteOptions
{
DeleteFileLocation = true
-
}, false);
hasChanges = true;
@@ -322,18 +321,20 @@ namespace MediaBrowser.Providers.TV
if (season == null)
{
- var provider = new DummySeasonProvider(_config, _logger, _localization, _libraryManager, _fileSystem);
+ var provider = new DummySeasonProvider(_logger, _localization, _libraryManager, _fileSystem);
season = await provider.AddSeason(series, seasonNumber, true, cancellationToken).ConfigureAwait(false);
}
- var name = $"Episode {episodeNumber.ToString(_usCulture)}";
+ var name = "Episode " + episodeNumber.ToString(CultureInfo.InvariantCulture);
var episode = new Episode
{
Name = name,
IndexNumber = episodeNumber,
ParentIndexNumber = seasonNumber,
- Id = _libraryManager.GetNewItemId(series.Id + seasonNumber.ToString(_usCulture) + name, typeof(Episode)),
+ Id = _libraryManager.GetNewItemId(
+ series.Id + seasonNumber.ToString(CultureInfo.InvariantCulture) + name,
+ typeof(Episode)),
IsVirtualItem = true,
SeasonId = season?.Id ?? Guid.Empty,
SeriesId = series.Id
@@ -341,7 +342,7 @@ namespace MediaBrowser.Providers.TV
season.AddChild(episode, cancellationToken);
- await episode.RefreshMetadata(new MetadataRefreshOptions(new DirectoryService(_logger, _fileSystem)), cancellationToken).ConfigureAwait(false);
+ await episode.RefreshMetadata(new MetadataRefreshOptions(new DirectoryService(_fileSystem)), cancellationToken).ConfigureAwait(false);
}
/// <summary>
@@ -351,7 +352,7 @@ namespace MediaBrowser.Providers.TV
/// <param name="seasonCounts"></param>
/// <param name="episodeTuple"></param>
/// <returns>Episode.</returns>
- private Episode GetExistingEpisode(IList<Episode> existingEpisodes, IReadOnlyDictionary<int, int> seasonCounts, (int seasonNumber, int episodeNumber, DateTime firstAired) episodeTuple)
+ private Episode GetExistingEpisode(IEnumerable<Episode> existingEpisodes, IReadOnlyDictionary<int, int> seasonCounts, (int seasonNumber, int episodeNumber, DateTime firstAired) episodeTuple)
{
var seasonNumber = episodeTuple.seasonNumber;
var episodeNumber = episodeTuple.episodeNumber;
@@ -380,9 +381,6 @@ namespace MediaBrowser.Providers.TV
}
private Episode GetExistingEpisode(IEnumerable<Episode> existingEpisodes, int season, int episode)
- {
- return existingEpisodes
- .FirstOrDefault(i => i.ParentIndexNumber == season && i.ContainsEpisodeNumber(episode));
- }
+ => existingEpisodes.FirstOrDefault(i => i.ParentIndexNumber == season && i.ContainsEpisodeNumber(episode));
}
}