mirror of
https://github.com/Radarr/Radarr
synced 2024-12-26 09:49:00 +00:00
Simplify FindDownloadId to remove inaccessable code paths
This commit is contained in:
parent
154092b921
commit
ed76709b7f
1 changed files with 28 additions and 42 deletions
|
@ -97,6 +97,34 @@ public void UpdateMany(List<MovieHistory> toUpdate)
|
|||
_historyRepository.UpdateMany(toUpdate);
|
||||
}
|
||||
|
||||
public string FindDownloadId(MovieImportedEvent trackedDownload)
|
||||
{
|
||||
_logger.Debug("Trying to find downloadId for {0} from history", trackedDownload.ImportedMovie.Path);
|
||||
|
||||
var movieId = trackedDownload.MovieInfo.Movie.Id;
|
||||
var movieHistory = _historyRepository.FindDownloadHistory(movieId, trackedDownload.ImportedMovie.Quality);
|
||||
|
||||
var processedDownloadId = movieHistory
|
||||
.Where(c => c.EventType != MovieHistoryEventType.Grabbed && c.DownloadId != null)
|
||||
.Select(c => c.DownloadId);
|
||||
|
||||
var stillDownloading = movieHistory.Where(c => c.EventType == MovieHistoryEventType.Grabbed && !processedDownloadId.Contains(c.DownloadId)).ToList();
|
||||
|
||||
string downloadId = null;
|
||||
|
||||
if (stillDownloading.Any())
|
||||
{
|
||||
if (stillDownloading.Count != 1)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
downloadId = stillDownloading.Single().DownloadId;
|
||||
}
|
||||
|
||||
return downloadId;
|
||||
}
|
||||
|
||||
public void Handle(MovieGrabbedEvent message)
|
||||
{
|
||||
var history = new MovieHistory
|
||||
|
@ -252,48 +280,6 @@ public void Handle(MoviesDeletedEvent message)
|
|||
_historyRepository.DeleteForMovies(message.Movies.Select(m => m.Id).ToList());
|
||||
}
|
||||
|
||||
public string FindDownloadId(MovieImportedEvent trackedDownload)
|
||||
{
|
||||
_logger.Debug("Trying to find downloadId for {0} from history", trackedDownload.ImportedMovie.Path);
|
||||
|
||||
var movieId = trackedDownload.MovieInfo.Movie.Id;
|
||||
var movieHistory = _historyRepository.FindDownloadHistory(movieId, trackedDownload.ImportedMovie.Quality);
|
||||
|
||||
var processedDownloadId = movieHistory
|
||||
.Where(c => c.EventType != MovieHistoryEventType.Grabbed && c.DownloadId != null)
|
||||
.Select(c => c.DownloadId);
|
||||
|
||||
var stillDownloading = movieHistory.Where(c => c.EventType == MovieHistoryEventType.Grabbed && !processedDownloadId.Contains(c.DownloadId)).ToList();
|
||||
|
||||
string downloadId = null;
|
||||
|
||||
if (stillDownloading.Any())
|
||||
{
|
||||
//foreach (var matchingHistory in trackedDownload.EpisodeInfo.Episodes.Select(e => stillDownloading.Where(c => c.MovieId == e.Id).ToList()))
|
||||
//foreach (var matchingHistory in stillDownloading.Where(c => c.MovieId == e.Id).ToList())
|
||||
//{
|
||||
if (stillDownloading.Count != 1)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
var newDownloadId = stillDownloading.Single().DownloadId;
|
||||
|
||||
if (downloadId == null || downloadId == newDownloadId)
|
||||
{
|
||||
downloadId = newDownloadId;
|
||||
}
|
||||
else
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
//}
|
||||
}
|
||||
|
||||
return downloadId;
|
||||
}
|
||||
|
||||
public void Handle(DownloadFailedEvent message)
|
||||
{
|
||||
var history = new MovieHistory
|
||||
|
|
Loading…
Reference in a new issue