New: Add custom format info to episode import notifications
This commit is contained in:
parent
899d6ddbab
commit
68d026479f
|
@ -134,6 +134,8 @@ namespace NzbDrone.Core.Notifications.CustomScript
|
||||||
environmentVariables.Add("Sonarr_EpisodeFile_MediaInfo_Subtitles", episodeFile.MediaInfo.Subtitles.ConcatToString(" / "));
|
environmentVariables.Add("Sonarr_EpisodeFile_MediaInfo_Subtitles", episodeFile.MediaInfo.Subtitles.ConcatToString(" / "));
|
||||||
environmentVariables.Add("Sonarr_EpisodeFile_MediaInfo_VideoCodec", MediaInfoFormatter.FormatVideoCodec(episodeFile.MediaInfo, null));
|
environmentVariables.Add("Sonarr_EpisodeFile_MediaInfo_VideoCodec", MediaInfoFormatter.FormatVideoCodec(episodeFile.MediaInfo, null));
|
||||||
environmentVariables.Add("Sonarr_EpisodeFile_MediaInfo_VideoDynamicRangeType", MediaInfoFormatter.FormatVideoDynamicRangeType(episodeFile.MediaInfo));
|
environmentVariables.Add("Sonarr_EpisodeFile_MediaInfo_VideoDynamicRangeType", MediaInfoFormatter.FormatVideoDynamicRangeType(episodeFile.MediaInfo));
|
||||||
|
environmentVariables.Add("Sonarr_EpisodeFile_CustomFormat", string.Join("|", message.EpisodeInfo.CustomFormats));
|
||||||
|
environmentVariables.Add("Sonarr_EpisodeFile_CustomFormatScore", message.EpisodeInfo.CustomFormatScore.ToString());
|
||||||
|
|
||||||
if (message.OldFiles.Any())
|
if (message.OldFiles.Any())
|
||||||
{
|
{
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using NzbDrone.Core.Download;
|
using NzbDrone.Core.Download;
|
||||||
using NzbDrone.Core.MediaFiles;
|
using NzbDrone.Core.MediaFiles;
|
||||||
|
using NzbDrone.Core.Parser.Model;
|
||||||
using NzbDrone.Core.Tv;
|
using NzbDrone.Core.Tv;
|
||||||
|
|
||||||
namespace NzbDrone.Core.Notifications
|
namespace NzbDrone.Core.Notifications
|
||||||
|
@ -9,6 +10,7 @@ namespace NzbDrone.Core.Notifications
|
||||||
{
|
{
|
||||||
public string Message { get; set; }
|
public string Message { get; set; }
|
||||||
public Series Series { get; set; }
|
public Series Series { get; set; }
|
||||||
|
public LocalEpisode EpisodeInfo { get; set; }
|
||||||
public EpisodeFile EpisodeFile { get; set; }
|
public EpisodeFile EpisodeFile { get; set; }
|
||||||
public List<EpisodeFile> OldFiles { get; set; }
|
public List<EpisodeFile> OldFiles { get; set; }
|
||||||
public string SourcePath { get; set; }
|
public string SourcePath { get; set; }
|
||||||
|
|
|
@ -104,6 +104,8 @@ namespace NzbDrone.Core.Notifications.Notifiarr
|
||||||
variables.Add("Sonarr_EpisodeFile_MediaInfo_Subtitles", episodeFile.MediaInfo.Subtitles.ConcatToString(" / "));
|
variables.Add("Sonarr_EpisodeFile_MediaInfo_Subtitles", episodeFile.MediaInfo.Subtitles.ConcatToString(" / "));
|
||||||
variables.Add("Sonarr_EpisodeFile_MediaInfo_VideoCodec", MediaInfoFormatter.FormatVideoCodec(episodeFile.MediaInfo, null));
|
variables.Add("Sonarr_EpisodeFile_MediaInfo_VideoCodec", MediaInfoFormatter.FormatVideoCodec(episodeFile.MediaInfo, null));
|
||||||
variables.Add("Sonarr_EpisodeFile_MediaInfo_VideoDynamicRangeType", MediaInfoFormatter.FormatVideoDynamicRangeType(episodeFile.MediaInfo));
|
variables.Add("Sonarr_EpisodeFile_MediaInfo_VideoDynamicRangeType", MediaInfoFormatter.FormatVideoDynamicRangeType(episodeFile.MediaInfo));
|
||||||
|
variables.Add("Sonarr_EpisodeFile_CustomFormat", string.Join("|", message.EpisodeInfo.CustomFormats));
|
||||||
|
variables.Add("Sonarr_EpisodeFile_CustomFormatScore", message.EpisodeInfo.CustomFormatScore.ToString());
|
||||||
|
|
||||||
if (message.OldFiles.Any())
|
if (message.OldFiles.Any())
|
||||||
{
|
{
|
||||||
|
|
|
@ -152,6 +152,7 @@ namespace NzbDrone.Core.Notifications
|
||||||
{
|
{
|
||||||
Message = GetMessage(message.EpisodeInfo.Series, message.EpisodeInfo.Episodes, message.EpisodeInfo.Quality),
|
Message = GetMessage(message.EpisodeInfo.Series, message.EpisodeInfo.Episodes, message.EpisodeInfo.Quality),
|
||||||
Series = message.EpisodeInfo.Series,
|
Series = message.EpisodeInfo.Series,
|
||||||
|
EpisodeInfo = message.EpisodeInfo,
|
||||||
EpisodeFile = message.ImportedEpisode,
|
EpisodeFile = message.ImportedEpisode,
|
||||||
OldFiles = message.OldFiles,
|
OldFiles = message.OldFiles,
|
||||||
SourcePath = message.EpisodeInfo.Path,
|
SourcePath = message.EpisodeInfo.Path,
|
||||||
|
|
|
@ -42,7 +42,8 @@ namespace NzbDrone.Core.Notifications.Webhook
|
||||||
Release = new WebhookRelease(quality, remoteEpisode),
|
Release = new WebhookRelease(quality, remoteEpisode),
|
||||||
DownloadClient = message.DownloadClientName,
|
DownloadClient = message.DownloadClientName,
|
||||||
DownloadClientType = message.DownloadClientType,
|
DownloadClientType = message.DownloadClientType,
|
||||||
DownloadId = message.DownloadId
|
DownloadId = message.DownloadId,
|
||||||
|
CustomFormatInfo = new WebhookCustomFormatInfo(remoteEpisode.CustomFormats, remoteEpisode.CustomFormatScore)
|
||||||
};
|
};
|
||||||
|
|
||||||
_proxy.SendWebhook(payload, Settings);
|
_proxy.SendWebhook(payload, Settings);
|
||||||
|
@ -63,7 +64,8 @@ namespace NzbDrone.Core.Notifications.Webhook
|
||||||
IsUpgrade = message.OldFiles.Any(),
|
IsUpgrade = message.OldFiles.Any(),
|
||||||
DownloadClient = message.DownloadClientInfo?.Name,
|
DownloadClient = message.DownloadClientInfo?.Name,
|
||||||
DownloadClientType = message.DownloadClientInfo?.Type,
|
DownloadClientType = message.DownloadClientInfo?.Type,
|
||||||
DownloadId = message.DownloadId
|
DownloadId = message.DownloadId,
|
||||||
|
CustomFormatInfo = new WebhookCustomFormatInfo(message.EpisodeInfo.CustomFormats, message.EpisodeInfo.CustomFormatScore)
|
||||||
};
|
};
|
||||||
|
|
||||||
if (message.OldFiles.Any())
|
if (message.OldFiles.Any())
|
||||||
|
|
|
@ -0,0 +1,18 @@
|
||||||
|
using System.Text.Json.Serialization;
|
||||||
|
using NzbDrone.Core.CustomFormats;
|
||||||
|
|
||||||
|
namespace NzbDrone.Core.Notifications.Webhook
|
||||||
|
{
|
||||||
|
public class WebhookCustomFormat
|
||||||
|
{
|
||||||
|
[JsonIgnore(Condition = JsonIgnoreCondition.Never)]
|
||||||
|
public int Id { get; set; }
|
||||||
|
public string Name { get; set; }
|
||||||
|
|
||||||
|
public WebhookCustomFormat(CustomFormat customFormat)
|
||||||
|
{
|
||||||
|
Id = customFormat.Id;
|
||||||
|
Name = customFormat.Name;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,18 @@
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using NzbDrone.Core.CustomFormats;
|
||||||
|
|
||||||
|
namespace NzbDrone.Core.Notifications.Webhook
|
||||||
|
{
|
||||||
|
public class WebhookCustomFormatInfo
|
||||||
|
{
|
||||||
|
public List<WebhookCustomFormat> CustomFormats { get; set; }
|
||||||
|
public int CustomFormatScore { get; set; }
|
||||||
|
|
||||||
|
public WebhookCustomFormatInfo(List<CustomFormat> customFormats, int customFormatScore)
|
||||||
|
{
|
||||||
|
CustomFormats = customFormats.Select(c => new WebhookCustomFormat(c)).ToList();
|
||||||
|
CustomFormatScore = customFormatScore;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,4 +1,4 @@
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
|
||||||
namespace NzbDrone.Core.Notifications.Webhook
|
namespace NzbDrone.Core.Notifications.Webhook
|
||||||
{
|
{
|
||||||
|
@ -10,5 +10,6 @@ namespace NzbDrone.Core.Notifications.Webhook
|
||||||
public string DownloadClient { get; set; }
|
public string DownloadClient { get; set; }
|
||||||
public string DownloadClientType { get; set; }
|
public string DownloadClientType { get; set; }
|
||||||
public string DownloadId { get; set; }
|
public string DownloadId { get; set; }
|
||||||
|
public WebhookCustomFormatInfo CustomFormatInfo { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
|
||||||
namespace NzbDrone.Core.Notifications.Webhook
|
namespace NzbDrone.Core.Notifications.Webhook
|
||||||
{
|
{
|
||||||
|
@ -12,5 +12,6 @@ namespace NzbDrone.Core.Notifications.Webhook
|
||||||
public string DownloadClientType { get; set; }
|
public string DownloadClientType { get; set; }
|
||||||
public string DownloadId { get; set; }
|
public string DownloadId { get; set; }
|
||||||
public List<WebhookEpisodeFile> DeletedFiles { get; set; }
|
public List<WebhookEpisodeFile> DeletedFiles { get; set; }
|
||||||
|
public WebhookCustomFormatInfo CustomFormatInfo { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -15,6 +15,7 @@ namespace NzbDrone.Core.Parser.Model
|
||||||
{
|
{
|
||||||
Episodes = new List<Episode>();
|
Episodes = new List<Episode>();
|
||||||
Languages = new List<Language>();
|
Languages = new List<Language>();
|
||||||
|
CustomFormats = new List<CustomFormat>();
|
||||||
}
|
}
|
||||||
|
|
||||||
public string Path { get; set; }
|
public string Path { get; set; }
|
||||||
|
|
Loading…
Reference in New Issue