1
0
Fork 0
mirror of https://github.com/lidarr/Lidarr synced 2025-02-23 06:20:50 +00:00

New: Add Albums object to Grab and Import Webhook base

This commit is contained in:
Qstick 2023-01-16 20:39:22 -06:00
parent a2d7239304
commit e3c1009a2e
6 changed files with 12 additions and 8 deletions

View file

@ -38,7 +38,7 @@ public CustomScript(IDiskProvider diskProvider, IProcessProvider processProvider
public override void OnGrab(GrabMessage message)
{
var artist = message.Artist;
var remoteAlbum = message.Album;
var remoteAlbum = message.RemoteAlbum;
var releaseGroup = remoteAlbum.ParsedAlbumInfo.ReleaseGroup;
var environmentVariables = new StringDictionary();

View file

@ -26,7 +26,7 @@ public Discord(IDiscordProxy proxy)
public override void OnGrab(GrabMessage message)
{
var artist = message.Artist;
var albums = message.Album.Albums;
var albums = message.RemoteAlbum.Albums;
var artistMetadata = message.Artist.Metadata.Value;
var embed = new Embed
@ -86,16 +86,16 @@ public override void OnGrab(GrabMessage message)
break;
case DiscordGrabFieldType.Group:
discordField.Name = "Group";
discordField.Value = message.Album.ParsedAlbumInfo.ReleaseGroup;
discordField.Value = message.RemoteAlbum.ParsedAlbumInfo.ReleaseGroup;
break;
case DiscordGrabFieldType.Size:
discordField.Name = "Size";
discordField.Value = BytesToString(message.Album.Release.Size);
discordField.Value = BytesToString(message.RemoteAlbum.Release.Size);
discordField.Inline = true;
break;
case DiscordGrabFieldType.Release:
discordField.Name = "Release";
discordField.Value = string.Format("```{0}```", message.Album.Release.Title);
discordField.Value = string.Format("```{0}```", message.RemoteAlbum.Release.Title);
break;
case DiscordGrabFieldType.Links:
discordField.Name = "Links";

View file

@ -8,7 +8,7 @@ public class GrabMessage
{
public string Message { get; set; }
public Artist Artist { get; set; }
public RemoteAlbum Album { get; set; }
public RemoteAlbum RemoteAlbum { get; set; }
public QualityModel Quality { get; set; }
public string DownloadClientType { get; set; }
public string DownloadClientName { get; set; }

View file

@ -125,7 +125,7 @@ public void Handle(AlbumGrabbedEvent message)
Message = GetMessage(message.Album.Artist, message.Album.Albums, message.Album.ParsedAlbumInfo.Quality),
Artist = message.Album.Artist,
Quality = message.Album.ParsedAlbumInfo.Quality,
Album = message.Album,
RemoteAlbum = message.Album,
DownloadClientName = message.DownloadClientName,
DownloadClientType = message.DownloadClient,
DownloadId = message.DownloadId

View file

@ -3,6 +3,7 @@
using NzbDrone.Core.Configuration;
using NzbDrone.Core.MediaFiles;
using NzbDrone.Core.Music;
using NzbDrone.Core.Parser.Model;
using NzbDrone.Core.ThingiProvider;
namespace NzbDrone.Core.Notifications.Webhook
@ -20,7 +21,7 @@ protected WebhookBase(IConfigFileProvider configFileProvider)
public WebhookGrabPayload BuildOnGrabPayload(GrabMessage message)
{
var remoteAlbum = message.Album;
var remoteAlbum = message.RemoteAlbum;
var quality = message.Quality;
return new WebhookGrabPayload
@ -28,6 +29,7 @@ public WebhookGrabPayload BuildOnGrabPayload(GrabMessage message)
EventType = WebhookEventType.Grab,
InstanceName = _configFileProvider.InstanceName,
Artist = new WebhookArtist(message.Artist),
Albums = remoteAlbum.Albums.Select(x => new WebhookAlbum(x)).ToList(),
Release = new WebhookRelease(quality, remoteAlbum),
DownloadClient = message.DownloadClientName,
DownloadClientType = message.DownloadClientType,
@ -44,6 +46,7 @@ public WebhookImportPayload BuildOnReleaseImportPayload(AlbumDownloadMessage mes
EventType = WebhookEventType.Download,
InstanceName = _configFileProvider.InstanceName,
Artist = new WebhookArtist(message.Artist),
Album = new WebhookAlbum(message.Album),
Tracks = trackFiles.SelectMany(x => x.Tracks.Value.Select(y => new WebhookTrack(y))).ToList(),
TrackFiles = trackFiles.ConvertAll(x => new WebhookTrackFile(x)),
IsUpgrade = message.OldFiles.Any(),

View file

@ -5,6 +5,7 @@ namespace NzbDrone.Core.Notifications.Webhook
public class WebhookImportPayload : WebhookPayload
{
public WebhookArtist Artist { get; set; }
public WebhookAlbum Album { get; set; }
public List<WebhookTrack> Tracks { get; set; }
public List<WebhookTrackFile> TrackFiles { get; set; }
public List<WebhookTrackFile> DeletedFiles { get; set; }