using System.Collections.Generic; using Lidarr.Http; using NzbDrone.Core.DecisionEngine; namespace Lidarr.Api.V1.Indexers { public abstract class ReleaseModuleBase : LidarrRestModule { protected virtual List MapDecisions(IEnumerable decisions) { var result = new List(); foreach (var downloadDecision in decisions) { var release = MapDecision(downloadDecision, result.Count); result.Add(release); } return result; } protected virtual ReleaseResource MapDecision(DownloadDecision decision, int initialWeight) { var release = decision.ToResource(); release.ReleaseWeight = initialWeight; if (decision.RemoteAlbum.Artist != null) { release.QualityWeight = decision.RemoteAlbum .Artist .QualityProfile.Value.GetIndex(release.Quality.Quality).Index * 100; } release.QualityWeight += release.Quality.Revision.Real * 10; release.QualityWeight += release.Quality.Revision.Version; return release; } } }