mirror of
https://github.com/lidarr/lidarr.git
synced 2025-08-14 18:57:39 -07:00
Fixed: Manual import from artist page forces correct artist
This commit is contained in:
parent
fb88017821
commit
8771e715ae
5 changed files with 34 additions and 6 deletions
|
@ -1,3 +1,4 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using Lidarr.Http;
|
||||
|
@ -44,10 +45,22 @@ namespace Lidarr.Api.V1.ManualImport
|
|||
{
|
||||
var folder = (string)Request.Query.folder;
|
||||
var downloadId = (string)Request.Query.downloadId;
|
||||
NzbDrone.Core.Music.Artist artist = null;
|
||||
|
||||
var artistIdQuery = Request.Query.artistId;
|
||||
if (artistIdQuery.HasValue)
|
||||
{
|
||||
var artistId = Convert.ToInt32(artistIdQuery.Value);
|
||||
if (artistId > 0)
|
||||
{
|
||||
artist = _artistService.GetArtist(Convert.ToInt32(artistIdQuery.Value));
|
||||
}
|
||||
}
|
||||
|
||||
var filter = Request.GetBooleanQueryParameter("filterExistingFiles", true) ? FilterFilesType.Matched : FilterFilesType.None;
|
||||
var replaceExistingFiles = Request.GetBooleanQueryParameter("replaceExistingFiles", true);
|
||||
|
||||
return _manualImportService.GetMediaFiles(folder, downloadId, filter, replaceExistingFiles).ToResource().Select(AddQualityWeight).ToList();
|
||||
return _manualImportService.GetMediaFiles(folder, downloadId, artist, filter, replaceExistingFiles).ToResource().Select(AddQualityWeight).ToList();
|
||||
}
|
||||
|
||||
private ManualImportResource AddQualityWeight(ManualImportResource item)
|
||||
|
|
|
@ -220,6 +220,14 @@ namespace NzbDrone.Core.MediaFiles.TrackImport.Identification
|
|||
if (candidateReleases.Count == 0)
|
||||
{
|
||||
// can't find any candidates even after fingerprinting
|
||||
// populate the overrides and return
|
||||
foreach (var localTrack in localAlbumRelease.LocalTracks)
|
||||
{
|
||||
localTrack.Release = idOverrides.AlbumRelease;
|
||||
localTrack.Album = idOverrides.Album;
|
||||
localTrack.Artist = idOverrides.Artist;
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
@ -23,7 +23,7 @@ namespace NzbDrone.Core.MediaFiles.TrackImport.Manual
|
|||
{
|
||||
public interface IManualImportService
|
||||
{
|
||||
List<ManualImportItem> GetMediaFiles(string path, string downloadId, FilterFilesType filter, bool replaceExistingFiles);
|
||||
List<ManualImportItem> GetMediaFiles(string path, string downloadId, Artist artist, FilterFilesType filter, bool replaceExistingFiles);
|
||||
List<ManualImportItem> UpdateItems(List<ManualImportItem> item);
|
||||
}
|
||||
|
||||
|
@ -78,7 +78,7 @@ namespace NzbDrone.Core.MediaFiles.TrackImport.Manual
|
|||
_logger = logger;
|
||||
}
|
||||
|
||||
public List<ManualImportItem> GetMediaFiles(string path, string downloadId, FilterFilesType filter, bool replaceExistingFiles)
|
||||
public List<ManualImportItem> GetMediaFiles(string path, string downloadId, Artist artist, FilterFilesType filter, bool replaceExistingFiles)
|
||||
{
|
||||
if (downloadId.IsNotNullOrWhiteSpace())
|
||||
{
|
||||
|
@ -116,14 +116,14 @@ namespace NzbDrone.Core.MediaFiles.TrackImport.Manual
|
|||
return new List<ManualImportItem> { result };
|
||||
}
|
||||
|
||||
return ProcessFolder(path, downloadId, filter, replaceExistingFiles);
|
||||
return ProcessFolder(path, downloadId, artist, filter, replaceExistingFiles);
|
||||
}
|
||||
|
||||
private List<ManualImportItem> ProcessFolder(string folder, string downloadId, FilterFilesType filter, bool replaceExistingFiles)
|
||||
private List<ManualImportItem> ProcessFolder(string folder, string downloadId, Artist artist, FilterFilesType filter, bool replaceExistingFiles)
|
||||
{
|
||||
DownloadClientItem downloadClientItem = null;
|
||||
var directoryInfo = new DirectoryInfo(folder);
|
||||
var artist = _parsingService.GetArtist(directoryInfo.Name);
|
||||
artist = artist ?? _parsingService.GetArtist(directoryInfo.Name);
|
||||
|
||||
if (downloadId.IsNotNullOrWhiteSpace())
|
||||
{
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue