mirror of
https://github.com/Readarr/Readarr.git
synced 2026-04-24 22:35:39 -04:00
New: Release Profiles, Frontend updates (#580)
* New: Release Profiles - UI Updates * New: Release Profiles - API Changes * New: Release Profiles - Test Updates * New: Release Profiles - Backend Updates * New: Interactive Artist Search * New: Change Montiored on Album Details Page * New: Show Duration on Album Details Page * Fixed: Manual Import not working if no albums are Missing * Fixed: Sort search input by sortTitle * Fixed: Queue columnLabel throwing JS error
This commit is contained in:
@@ -6,6 +6,7 @@ using NzbDrone.Core.Parser.Model;
|
||||
using NzbDrone.Core.MediaFiles;
|
||||
using NzbDrone.Core.Music;
|
||||
using NzbDrone.Common.Cache;
|
||||
using NzbDrone.Core.Profiles.Releases;
|
||||
|
||||
namespace NzbDrone.Core.DecisionEngine.Specifications
|
||||
{
|
||||
@@ -14,6 +15,7 @@ namespace NzbDrone.Core.DecisionEngine.Specifications
|
||||
private readonly IMediaFileService _mediaFileService;
|
||||
private readonly ITrackService _trackService;
|
||||
private readonly UpgradableSpecification _upgradableSpecification;
|
||||
private readonly IPreferredWordService _preferredWordServiceCalculator;
|
||||
private readonly Logger _logger;
|
||||
private readonly ICached<bool> _missingFilesCache;
|
||||
|
||||
@@ -21,11 +23,13 @@ namespace NzbDrone.Core.DecisionEngine.Specifications
|
||||
IMediaFileService mediaFileService,
|
||||
ITrackService trackService,
|
||||
ICacheManager cacheManager,
|
||||
IPreferredWordService preferredWordServiceCalculator,
|
||||
Logger logger)
|
||||
{
|
||||
_upgradableSpecification = qualityUpgradableSpecification;
|
||||
_mediaFileService = mediaFileService;
|
||||
_trackService = trackService;
|
||||
_preferredWordServiceCalculator = preferredWordServiceCalculator;
|
||||
_logger = logger;
|
||||
_missingFilesCache = cacheManager.GetCache<bool>(GetType());
|
||||
}
|
||||
@@ -46,14 +50,16 @@ namespace NzbDrone.Core.DecisionEngine.Specifications
|
||||
{
|
||||
var lowestQuality = trackFiles.Select(c => c.Quality).OrderBy(c => c.Quality.Id).First();
|
||||
|
||||
if (!_upgradableSpecification.IsUpgradable(subject.Artist.Profile,
|
||||
if (!_upgradableSpecification.IsUpgradable(subject.Artist.QualityProfile,
|
||||
subject.Artist.LanguageProfile,
|
||||
lowestQuality,
|
||||
trackFiles[0].Language,
|
||||
_preferredWordServiceCalculator.Calculate(subject.Artist, trackFiles[0].GetSceneOrFileName()),
|
||||
subject.ParsedAlbumInfo.Quality,
|
||||
subject.ParsedAlbumInfo.Language))
|
||||
subject.ParsedAlbumInfo.Language,
|
||||
subject.PreferredWordScore))
|
||||
{
|
||||
return Decision.Reject("Quality for existing file on disk is of equal or higher preference: {0}", lowestQuality);
|
||||
return Decision.Reject("Existing file on disk is of equal or higher preference: {0} - {1}", lowestQuality, trackFiles[0].Language);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user