Fixed: Incorrect event types for interactive import required notifications
This commit is contained in:
parent
5ec282750b
commit
f56d504816
|
@ -70,7 +70,8 @@ namespace NzbDrone.Core.Download
|
|||
return;
|
||||
}
|
||||
|
||||
var historyItem = _historyService.MostRecentForDownloadId(trackedDownload.DownloadItem.DownloadId);
|
||||
var grabbedHistories = _historyService.FindByDownloadId(trackedDownload.DownloadItem.DownloadId).Where(h => h.EventType == EpisodeHistoryEventType.Grabbed).ToList();
|
||||
var historyItem = grabbedHistories.MaxBy(h => h.Date);
|
||||
|
||||
if (historyItem == null && trackedDownload.DownloadItem.Category.IsNullOrWhiteSpace())
|
||||
{
|
||||
|
@ -110,7 +111,9 @@ namespace NzbDrone.Core.Download
|
|||
{
|
||||
trackedDownload.HasNotifiedManualInteractionRequired = true;
|
||||
|
||||
var manualInteractionEvent = new ManualInteractionRequiredEvent(trackedDownload);
|
||||
var releaseInfo = new GrabbedReleaseInfo(grabbedHistories);
|
||||
var manualInteractionEvent = new ManualInteractionRequiredEvent(trackedDownload, releaseInfo);
|
||||
|
||||
_eventAggregator.PublishEvent(manualInteractionEvent);
|
||||
}
|
||||
|
||||
|
|
|
@ -8,11 +8,13 @@ namespace NzbDrone.Core.Download
|
|||
{
|
||||
public RemoteEpisode Episode { get; private set; }
|
||||
public TrackedDownload TrackedDownload { get; private set; }
|
||||
public GrabbedReleaseInfo Release { get; private set; }
|
||||
|
||||
public ManualInteractionRequiredEvent(TrackedDownload trackedDownload)
|
||||
public ManualInteractionRequiredEvent(TrackedDownload trackedDownload, GrabbedReleaseInfo release)
|
||||
{
|
||||
TrackedDownload = trackedDownload;
|
||||
Episode = trackedDownload.RemoteEpisode;
|
||||
Release = release;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
using System.Linq;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using NzbDrone.Common.Extensions;
|
||||
using NzbDrone.Core.Download;
|
||||
using NzbDrone.Core.History;
|
||||
|
@ -31,20 +32,7 @@ namespace NzbDrone.Core.MediaFiles.EpisodeImport.Aggregation.Aggregators
|
|||
return localEpisode;
|
||||
}
|
||||
|
||||
var episodeIds = grabbedHistories.Select(h => h.EpisodeId).Distinct().ToList();
|
||||
var grabbedHistory = grabbedHistories.First();
|
||||
var releaseInfo = new GrabbedReleaseInfo();
|
||||
|
||||
grabbedHistory.Data.TryGetValue("indexer", out var indexer);
|
||||
grabbedHistory.Data.TryGetValue("size", out var sizeString);
|
||||
long.TryParse(sizeString, out var size);
|
||||
|
||||
releaseInfo.Title = grabbedHistory.SourceTitle;
|
||||
releaseInfo.Indexer = indexer;
|
||||
releaseInfo.Size = size;
|
||||
releaseInfo.EpisodeIds = episodeIds;
|
||||
|
||||
localEpisode.Release = releaseInfo;
|
||||
localEpisode.Release = new GrabbedReleaseInfo(grabbedHistories);
|
||||
|
||||
return localEpisode;
|
||||
}
|
||||
|
|
|
@ -308,7 +308,7 @@ namespace NzbDrone.Core.Notifications.CustomScript
|
|||
var series = message.Series;
|
||||
var environmentVariables = new StringDictionary();
|
||||
|
||||
environmentVariables.Add("Sonarr_EventType", "Download");
|
||||
environmentVariables.Add("Sonarr_EventType", "ManualInteractionRequired");
|
||||
environmentVariables.Add("Sonarr_InstanceName", _configFileProvider.InstanceName);
|
||||
environmentVariables.Add("Sonarr_ApplicationUrl", _configService.ApplicationUrl);
|
||||
environmentVariables.Add("Sonarr_Series_Id", series.Id.ToString());
|
||||
|
|
|
@ -15,6 +15,7 @@ namespace NzbDrone.Core.Notifications
|
|||
public string DownloadClientType { get; set; }
|
||||
public string DownloadClientName { get; set; }
|
||||
public string DownloadId { get; set; }
|
||||
public GrabbedReleaseInfo Release { get; set; }
|
||||
|
||||
public override string ToString()
|
||||
{
|
||||
|
|
|
@ -233,7 +233,8 @@ namespace NzbDrone.Core.Notifications
|
|||
TrackedDownload = message.TrackedDownload,
|
||||
DownloadClientType = message.TrackedDownload.DownloadItem.DownloadClientInfo.Type,
|
||||
DownloadClientName = message.TrackedDownload.DownloadItem.DownloadClientInfo.Name,
|
||||
DownloadId = message.TrackedDownload.DownloadItem.DownloadId
|
||||
DownloadId = message.TrackedDownload.DownloadItem.DownloadId,
|
||||
Release = message.Release
|
||||
};
|
||||
|
||||
foreach (var notification in _notificationFactory.OnManualInteractionEnabled())
|
||||
|
|
|
@ -165,13 +165,17 @@ namespace NzbDrone.Core.Notifications.Webhook
|
|||
|
||||
return new WebhookManualInteractionPayload
|
||||
{
|
||||
EventType = WebhookEventType.Grab,
|
||||
EventType = WebhookEventType.ManualInteractionRequired,
|
||||
InstanceName = _configFileProvider.InstanceName,
|
||||
ApplicationUrl = _configService.ApplicationUrl,
|
||||
Series = new WebhookSeries(message.Series),
|
||||
Episodes = remoteEpisode.Episodes.ConvertAll(x => new WebhookEpisode(x)),
|
||||
DownloadInfo = new WebhookDownloadClientItem(quality, message.TrackedDownload.DownloadItem),
|
||||
DownloadClient = message.DownloadClientName,
|
||||
DownloadClientType = message.DownloadClientType,
|
||||
DownloadId = message.DownloadId
|
||||
DownloadId = message.DownloadId,
|
||||
CustomFormatInfo = new WebhookCustomFormatInfo(remoteEpisode.CustomFormats, remoteEpisode.CustomFormatScore),
|
||||
Release = new WebhookGrabbedRelease(message.Release)
|
||||
};
|
||||
}
|
||||
|
||||
|
|
|
@ -17,6 +17,7 @@ namespace NzbDrone.Core.Notifications.Webhook
|
|||
EpisodeFileDelete,
|
||||
Health,
|
||||
ApplicationUpdate,
|
||||
HealthRestored
|
||||
HealthRestored,
|
||||
ManualInteractionRequired
|
||||
}
|
||||
}
|
||||
|
|
|
@ -10,5 +10,7 @@ namespace NzbDrone.Core.Notifications.Webhook
|
|||
public string DownloadClient { get; set; }
|
||||
public string DownloadClientType { get; set; }
|
||||
public string DownloadId { get; set; }
|
||||
public WebhookCustomFormatInfo CustomFormatInfo { get; set; }
|
||||
public WebhookGrabbedRelease Release { get; set; }
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,4 +1,6 @@
|
|||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using NzbDrone.Core.History;
|
||||
|
||||
namespace NzbDrone.Core.Parser.Model
|
||||
{
|
||||
|
@ -9,5 +11,20 @@ namespace NzbDrone.Core.Parser.Model
|
|||
public long Size { get; set; }
|
||||
|
||||
public List<int> EpisodeIds { get; set; }
|
||||
|
||||
public GrabbedReleaseInfo(List<EpisodeHistory> grabbedHistories)
|
||||
{
|
||||
var grabbedHistory = grabbedHistories.MaxBy(h => h.Date);
|
||||
var episodeIds = grabbedHistories.Select(h => h.EpisodeId).Distinct().ToList();
|
||||
|
||||
grabbedHistory.Data.TryGetValue("indexer", out var indexer);
|
||||
grabbedHistory.Data.TryGetValue("size", out var sizeString);
|
||||
long.TryParse(sizeString, out var size);
|
||||
|
||||
Title = grabbedHistory.SourceTitle;
|
||||
Indexer = indexer;
|
||||
Size = size;
|
||||
EpisodeIds = episodeIds;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue