Prevent missing media info from failing script import

Towards #8214
This commit is contained in:
Mark McDowall 2025-12-03 18:52:36 -08:00
parent 1178c98341
commit e7c2e136a3
No known key found for this signature in database

View file

@ -160,15 +160,31 @@ public ScriptImportDecision TryImport(string sourcePath, string destinationFileP
environmentVariables.Add("Sonarr_Download_Client", downloadClientInfo?.Name ?? string.Empty); environmentVariables.Add("Sonarr_Download_Client", downloadClientInfo?.Name ?? string.Empty);
environmentVariables.Add("Sonarr_Download_Client_Type", downloadClientInfo?.Type ?? string.Empty); environmentVariables.Add("Sonarr_Download_Client_Type", downloadClientInfo?.Type ?? string.Empty);
environmentVariables.Add("Sonarr_Download_Id", downloadId ?? string.Empty); environmentVariables.Add("Sonarr_Download_Id", downloadId ?? string.Empty);
environmentVariables.Add("Sonarr_EpisodeFile_MediaInfo_AudioChannels", MediaInfoFormatter.FormatAudioChannels(localEpisode.MediaInfo).ToString());
environmentVariables.Add("Sonarr_EpisodeFile_MediaInfo_AudioCodec", MediaInfoFormatter.FormatAudioCodec(localEpisode.MediaInfo, null)); if (localEpisode.MediaInfo == null)
environmentVariables.Add("Sonarr_EpisodeFile_MediaInfo_AudioLanguages", localEpisode.MediaInfo.AudioLanguages.Distinct().ConcatToString(" / ")); {
environmentVariables.Add("Sonarr_EpisodeFile_MediaInfo_Languages", localEpisode.MediaInfo.AudioLanguages.ConcatToString(" / ")); _logger.Trace("MediaInfo is null for episode file import. This may cause issues with the import script.");
environmentVariables.Add("Sonarr_EpisodeFile_MediaInfo_Height", localEpisode.MediaInfo.Height.ToString()); }
else
{
environmentVariables.Add("Sonarr_EpisodeFile_MediaInfo_AudioChannels",
MediaInfoFormatter.FormatAudioChannels(localEpisode.MediaInfo).ToString());
environmentVariables.Add("Sonarr_EpisodeFile_MediaInfo_AudioCodec",
MediaInfoFormatter.FormatAudioCodec(localEpisode.MediaInfo, null));
environmentVariables.Add("Sonarr_EpisodeFile_MediaInfo_AudioLanguages",
localEpisode.MediaInfo.AudioLanguages.Distinct().ConcatToString(" / "));
environmentVariables.Add("Sonarr_EpisodeFile_MediaInfo_Languages",
localEpisode.MediaInfo.AudioLanguages.ConcatToString(" / "));
environmentVariables.Add("Sonarr_EpisodeFile_MediaInfo_Height",
localEpisode.MediaInfo.Height.ToString());
environmentVariables.Add("Sonarr_EpisodeFile_MediaInfo_Width", localEpisode.MediaInfo.Width.ToString()); environmentVariables.Add("Sonarr_EpisodeFile_MediaInfo_Width", localEpisode.MediaInfo.Width.ToString());
environmentVariables.Add("Sonarr_EpisodeFile_MediaInfo_Subtitles", localEpisode.MediaInfo.Subtitles.ConcatToString(" / ")); environmentVariables.Add("Sonarr_EpisodeFile_MediaInfo_Subtitles",
environmentVariables.Add("Sonarr_EpisodeFile_MediaInfo_VideoCodec", MediaInfoFormatter.FormatVideoCodec(localEpisode.MediaInfo, null)); localEpisode.MediaInfo.Subtitles.ConcatToString(" / "));
environmentVariables.Add("Sonarr_EpisodeFile_MediaInfo_VideoDynamicRangeType", MediaInfoFormatter.FormatVideoDynamicRangeType(localEpisode.MediaInfo)); environmentVariables.Add("Sonarr_EpisodeFile_MediaInfo_VideoCodec",
MediaInfoFormatter.FormatVideoCodec(localEpisode.MediaInfo, null));
environmentVariables.Add("Sonarr_EpisodeFile_MediaInfo_VideoDynamicRangeType",
MediaInfoFormatter.FormatVideoDynamicRangeType(localEpisode.MediaInfo));
}
environmentVariables.Add("Sonarr_EpisodeFile_CustomFormat", string.Join("|", localEpisode.CustomFormats)); environmentVariables.Add("Sonarr_EpisodeFile_CustomFormat", string.Join("|", localEpisode.CustomFormats));
environmentVariables.Add("Sonarr_EpisodeFile_CustomFormatScore", localEpisode.CustomFormatScore.ToString()); environmentVariables.Add("Sonarr_EpisodeFile_CustomFormatScore", localEpisode.CustomFormatScore.ToString());