Simplify FindDownloadId to remove inaccessable code paths

pull/2/head
Qstick 4 years ago
parent 154092b921
commit ed76709b7f

@ -97,6 +97,34 @@ namespace NzbDrone.Core.History
_historyRepository.UpdateMany(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) public void Handle(MovieGrabbedEvent message)
{ {
var history = new MovieHistory var history = new MovieHistory
@ -252,48 +280,6 @@ namespace NzbDrone.Core.History
_historyRepository.DeleteForMovies(message.Movies.Select(m => m.Id).ToList()); _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) public void Handle(DownloadFailedEvent message)
{ {
var history = new MovieHistory var history = new MovieHistory

Loading…
Cancel
Save