mirror of
https://github.com/lidarr/lidarr.git
synced 2025-08-14 10:47:08 -07:00
Calculate double episode start time on episode info refresh
This commit is contained in:
parent
09deaf9ad1
commit
fa2b2df7d5
9 changed files with 30 additions and 215 deletions
|
@ -190,6 +190,22 @@ namespace NzbDrone.Core.Tv
|
|||
}
|
||||
}
|
||||
|
||||
var allEpisodes = new List<Episode>();
|
||||
allEpisodes.AddRange(newList);
|
||||
allEpisodes.AddRange(updateList);
|
||||
|
||||
var groups = allEpisodes.GroupBy(e => new { e.SeriesId, e.AirDate }).Where(g => g.Count() > 1).ToList();
|
||||
|
||||
foreach (var group in groups)
|
||||
{
|
||||
int episodeCount = 0;
|
||||
foreach (var episode in group.OrderBy(e => e.SeasonNumber).ThenBy(e => e.EpisodeNumber))
|
||||
{
|
||||
episode.AirDate = episode.AirDate.Value.AddMinutes(episode.Series.Runtime * episodeCount);
|
||||
episodeCount++;
|
||||
}
|
||||
}
|
||||
|
||||
_episodeRepository.InsertMany(newList);
|
||||
_episodeRepository.UpdateMany(updateList);
|
||||
|
||||
|
@ -248,19 +264,6 @@ namespace NzbDrone.Core.Tv
|
|||
return false;
|
||||
}
|
||||
|
||||
private void DeleteEpisodesNotInTvdb(Series series, IEnumerable<Episode> tvdbEpisodes)
|
||||
{
|
||||
//Todo: This will not work as currently implemented - what are we trying to do here?
|
||||
return;
|
||||
logger.Trace("Starting deletion of episodes that no longer exist in TVDB: {0}", series.Title.WithDefault(series.Id));
|
||||
foreach (var episode in tvdbEpisodes)
|
||||
{
|
||||
_episodeRepository.Delete(episode.Id);
|
||||
}
|
||||
|
||||
logger.Trace("Deleted episodes that no longer exist in TVDB for {0}", series.Id);
|
||||
}
|
||||
|
||||
public void SetPostDownloadStatus(List<int> episodeIds, PostDownloadStatusType postDownloadStatus)
|
||||
{
|
||||
if (episodeIds.Count == 0) throw new ArgumentException("episodeIds should contain one or more episode ids.");
|
||||
|
@ -338,5 +341,18 @@ namespace NzbDrone.Core.Tv
|
|||
_logger.Debug("Linking [{0}] > [{1}]", message.EpisodeFile.Path, episode);
|
||||
}
|
||||
}
|
||||
|
||||
private void DeleteEpisodesNotInTvdb(Series series, IEnumerable<Episode> tvdbEpisodes)
|
||||
{
|
||||
//Todo: This will not work as currently implemented - what are we trying to do here?
|
||||
return;
|
||||
logger.Trace("Starting deletion of episodes that no longer exist in TVDB: {0}", series.Title.WithDefault(series.Id));
|
||||
foreach (var episode in tvdbEpisodes)
|
||||
{
|
||||
_episodeRepository.Delete(episode.Id);
|
||||
}
|
||||
|
||||
logger.Trace("Deleted episodes that no longer exist in TVDB for {0}", series.Id);
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue