diff --git a/src/NzbDrone.Core/MediaFiles/Events/AlbumImportedEvent.cs b/src/NzbDrone.Core/MediaFiles/Events/AlbumImportedEvent.cs index c9fddca50..675c670b8 100644 --- a/src/NzbDrone.Core/MediaFiles/Events/AlbumImportedEvent.cs +++ b/src/NzbDrone.Core/MediaFiles/Events/AlbumImportedEvent.cs @@ -9,16 +9,18 @@ namespace NzbDrone.Core.MediaFiles.Events { public Artist Artist { get; private set; } public Album Album { get; private set; } + public AlbumRelease AlbumRelease { get; private set; } public List ImportedTracks { get; private set; } public List OldFiles { get; private set; } public bool NewDownload { get; private set; } public string DownloadClient { get; private set; } public string DownloadId { get; private set; } - public AlbumImportedEvent(Artist artist, Album album, List importedTracks, List oldFiles, bool newDownload, DownloadClientItem downloadClientItem) + public AlbumImportedEvent(Artist artist, Album album, AlbumRelease release, List importedTracks, List oldFiles, bool newDownload, DownloadClientItem downloadClientItem) { Artist = artist; Album = album; + AlbumRelease = release; ImportedTracks = importedTracks; OldFiles = oldFiles; NewDownload = newDownload; diff --git a/src/NzbDrone.Core/MediaFiles/TrackImport/ImportApprovedTracks.cs b/src/NzbDrone.Core/MediaFiles/TrackImport/ImportApprovedTracks.cs index 692877d48..098b5fae0 100644 --- a/src/NzbDrone.Core/MediaFiles/TrackImport/ImportApprovedTracks.cs +++ b/src/NzbDrone.Core/MediaFiles/TrackImport/ImportApprovedTracks.cs @@ -187,6 +187,7 @@ namespace NzbDrone.Core.MediaFiles.TrackImport foreach (var albumImport in albumImports) { + var release = albumImport.First().ImportDecision.LocalTrack.Release; var album = albumImport.First().ImportDecision.LocalTrack.Album; var artist = albumImport.First().ImportDecision.LocalTrack.Artist; @@ -195,6 +196,7 @@ namespace NzbDrone.Core.MediaFiles.TrackImport _eventAggregator.PublishEvent(new AlbumImportedEvent( artist, album, + release, allImportedTrackFiles.Where(s => s.AlbumId == album.Id).ToList(), allOldTrackFiles.Where(s => s.AlbumId == album.Id).ToList(), newDownload, downloadClientItem)); diff --git a/src/NzbDrone.Core/Notifications/AlbumDownloadMessage.cs b/src/NzbDrone.Core/Notifications/AlbumDownloadMessage.cs index f2f82fc30..f7781d98a 100644 --- a/src/NzbDrone.Core/Notifications/AlbumDownloadMessage.cs +++ b/src/NzbDrone.Core/Notifications/AlbumDownloadMessage.cs @@ -9,6 +9,7 @@ namespace NzbDrone.Core.Notifications public string Message { get; set; } public Artist Artist { get; set; } public Album Album { get; set; } + public AlbumRelease Release { get; set; } public List TrackFiles { get; set; } public List OldFiles { get; set; } public string DownloadClient { get; set; } diff --git a/src/NzbDrone.Core/Notifications/CustomScript/CustomScript.cs b/src/NzbDrone.Core/Notifications/CustomScript/CustomScript.cs index 359ee1a1f..5dee8eb89 100644 --- a/src/NzbDrone.Core/Notifications/CustomScript/CustomScript.cs +++ b/src/NzbDrone.Core/Notifications/CustomScript/CustomScript.cs @@ -59,6 +59,7 @@ namespace NzbDrone.Core.Notifications.CustomScript { var artist = message.Artist; var album = message.Album; + var release = message.Release; var trackFile = message.TrackFile; var sourcePath = message.SourcePath; var environmentVariables = new StringDictionary(); @@ -73,6 +74,7 @@ namespace NzbDrone.Core.Notifications.CustomScript environmentVariables.Add("Lidarr_Album_Id", album.Id.ToString()); environmentVariables.Add("Lidarr_Album_Title", album.Title); environmentVariables.Add("Lidarr_Album_MBId", album.ForeignAlbumId); + environmentVariables.Add("Lidarr_AlbumRelease_MBId", release.ForeignReleaseId); environmentVariables.Add("Lidarr_Album_ReleaseDate", album.ReleaseDate.ToString()); environmentVariables.Add("Lidarr_TrackFile_Id", trackFile.Id.ToString()); environmentVariables.Add("Lidarr_TrackFile_TrackCount", trackFile.Tracks.Value.Count.ToString()); @@ -102,6 +104,7 @@ namespace NzbDrone.Core.Notifications.CustomScript { var artist = message.Artist; var album = message.Album; + var release = message.Release; var environmentVariables = new StringDictionary(); environmentVariables.Add("Lidarr_EventType", "AlbumDownload"); @@ -113,6 +116,7 @@ namespace NzbDrone.Core.Notifications.CustomScript environmentVariables.Add("Lidarr_Album_Id", album.Id.ToString()); environmentVariables.Add("Lidarr_Album_Title", album.Title); environmentVariables.Add("Lidarr_Album_MBId", album.ForeignAlbumId); + environmentVariables.Add("Lidarr_AlbumRelease_MBId", release.ForeignReleaseId); environmentVariables.Add("Lidarr_Album_ReleaseDate", album.ReleaseDate.ToString()); environmentVariables.Add("Lidarr_Download_Client", message.DownloadClient ?? string.Empty); environmentVariables.Add("Lidarr_Download_Id", message.DownloadId ?? string.Empty); diff --git a/src/NzbDrone.Core/Notifications/NotificationService.cs b/src/NzbDrone.Core/Notifications/NotificationService.cs index 9bf6d9c0b..4a8b428d5 100644 --- a/src/NzbDrone.Core/Notifications/NotificationService.cs +++ b/src/NzbDrone.Core/Notifications/NotificationService.cs @@ -132,6 +132,7 @@ namespace NzbDrone.Core.Notifications Message = GetTrackMessage(message.TrackInfo.Artist, message.TrackInfo.Tracks, message.TrackInfo.Quality), Artist = message.TrackInfo.Artist, Album = message.TrackInfo.Album, + Release = message.TrackInfo.Release, TrackFile = message.ImportedTrack, OldFiles = message.OldFiles, SourcePath = message.TrackInfo.Path, @@ -172,6 +173,7 @@ namespace NzbDrone.Core.Notifications Message = GetAlbumDownloadMessage(message.Artist, message.Album, message.ImportedTracks), Artist = message.Artist, Album = message.Album, + Release = message.AlbumRelease, DownloadClient = message.DownloadClient, DownloadId = message.DownloadId, TrackFiles = message.ImportedTracks, diff --git a/src/NzbDrone.Core/Notifications/TrackDownloadMessage.cs b/src/NzbDrone.Core/Notifications/TrackDownloadMessage.cs index dc442f288..e23a5c300 100644 --- a/src/NzbDrone.Core/Notifications/TrackDownloadMessage.cs +++ b/src/NzbDrone.Core/Notifications/TrackDownloadMessage.cs @@ -9,6 +9,7 @@ namespace NzbDrone.Core.Notifications public string Message { get; set; } public Artist Artist { get; set; } public Album Album { get; set; } + public AlbumRelease Release { get; set; } public TrackFile TrackFile { get; set; } public List OldFiles { get; set; } public string SourcePath { get; set; }