Order for track/album import aggregators

(cherry picked from commit 69f99373e56a2fca49a2be645e6640624cf12339)

Closes #4495
Closes #4496
pull/4509/head
Jendrik Weise 4 months ago committed by Bogdan
parent 2cf2ebcbb2
commit ea9b46e922

@ -1,6 +1,7 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.IO; using System.IO;
using System.Linq;
using NLog; using NLog;
using NzbDrone.Common.Disk; using NzbDrone.Common.Disk;
using NzbDrone.Core.MediaFiles.TrackImport.Aggregation.Aggregators; using NzbDrone.Core.MediaFiles.TrackImport.Aggregation.Aggregators;
@ -26,8 +27,8 @@ namespace NzbDrone.Core.MediaFiles.TrackImport.Aggregation
IDiskProvider diskProvider, IDiskProvider diskProvider,
Logger logger) Logger logger)
{ {
_trackAugmenters = trackAugmenters; _trackAugmenters = trackAugmenters.OrderBy(a => a.Order).ToList();
_albumAugmenters = albumAugmenters; _albumAugmenters = albumAugmenters.OrderBy(a => a.Order).ToList();
_diskProvider = diskProvider; _diskProvider = diskProvider;
_logger = logger; _logger = logger;
} }

@ -11,6 +11,8 @@ namespace NzbDrone.Core.MediaFiles.TrackImport.Aggregation.Aggregators
{ {
public class AggregateFilenameInfo : IAggregate<LocalAlbumRelease> public class AggregateFilenameInfo : IAggregate<LocalAlbumRelease>
{ {
public int Order => 1;
private readonly Logger _logger; private readonly Logger _logger;
private static readonly List<Tuple<string, string>> CharsAndSeps = new List<Tuple<string, string>> private static readonly List<Tuple<string, string>> CharsAndSeps = new List<Tuple<string, string>>

@ -4,6 +4,8 @@ namespace NzbDrone.Core.MediaFiles.TrackImport.Aggregation.Aggregators
{ {
public class AggregateQuality : IAggregate<LocalTrack> public class AggregateQuality : IAggregate<LocalTrack>
{ {
public int Order => 1;
public LocalTrack Aggregate(LocalTrack localTrack, bool otherFiles) public LocalTrack Aggregate(LocalTrack localTrack, bool otherFiles)
{ {
var quality = localTrack.FileTrackInfo?.Quality; var quality = localTrack.FileTrackInfo?.Quality;

@ -5,6 +5,8 @@ namespace NzbDrone.Core.MediaFiles.TrackImport.Aggregation.Aggregators
{ {
public class AggregateReleaseGroup : IAggregate<LocalTrack> public class AggregateReleaseGroup : IAggregate<LocalTrack>
{ {
public int Order => 1;
public LocalTrack Aggregate(LocalTrack localTrack, bool otherFiles) public LocalTrack Aggregate(LocalTrack localTrack, bool otherFiles)
{ {
var releaseGroup = localTrack.DownloadClientAlbumInfo?.ReleaseGroup; var releaseGroup = localTrack.DownloadClientAlbumInfo?.ReleaseGroup;

@ -2,6 +2,7 @@ namespace NzbDrone.Core.MediaFiles.TrackImport.Aggregation.Aggregators
{ {
public interface IAggregate<T> public interface IAggregate<T>
{ {
int Order { get; }
T Aggregate(T item, bool otherFiles); T Aggregate(T item, bool otherFiles);
} }
} }

Loading…
Cancel
Save