1
0
mirror of https://github.com/Radarr/Radarr.git synced 2024-08-16 15:29:40 +02:00

Fixed some mediainfo subtitle codes

Co-Authored-By: Mark McDowall <markus101@users.noreply.github.com>
This commit is contained in:
Qstick 2020-10-16 23:06:17 -04:00
parent 0086e2699e
commit 6ee2780370
2 changed files with 40 additions and 4 deletions

View File

@ -364,7 +364,7 @@ public void should_format_mediainfo_properly()
{
_namingConfig.StandardMovieFormat = "{Movie.Title}.{MEDIAINFO.FULL}";
_movieFile.MediaInfo = new Core.MediaFiles.MediaInfo.MediaInfoModel()
_movieFile.MediaInfo = new MediaInfoModel()
{
VideoFormat = "AVC",
AudioFormat = "DTS",
@ -376,12 +376,33 @@ public void should_format_mediainfo_properly()
.Should().Be("South.Park.H264.DTS[EN+ES].[EN+ES+IT]");
}
[TestCase("Norwegian Bokmal", "NB")]
[TestCase("Swedis", "SV")]
[TestCase("Chinese", "ZH")]
public void should_format_languagecodes_properly(string language, string code)
{
_namingConfig.StandardMovieFormat = "{Movie.Title}.{MEDIAINFO.FULL}";
_movieFile.MediaInfo = new MediaInfoModel()
{
VideoCodec = "AVC",
AudioFormat = "DTS",
AudioChannels = 6,
AudioLanguages = "English",
Subtitles = language,
SchemaRevision = 3
};
Subject.BuildFileName(_movie, _movieFile)
.Should().Be($"South.Park.X264.DTS.[{code}]");
}
[Test]
public void should_exclude_english_in_mediainfo_audio_language()
{
_namingConfig.StandardMovieFormat = "{Movie.Title}.{MEDIAINFO.FULL}";
_movieFile.MediaInfo = new Core.MediaFiles.MediaInfo.MediaInfoModel()
_movieFile.MediaInfo = new MediaInfoModel()
{
VideoFormat = "AVC",
AudioFormat = "DTS",
@ -398,7 +419,7 @@ public void should_format_mediainfo_3d_properly()
{
_namingConfig.StandardMovieFormat = "{Movie.Title}.{MEDIAINFO.3D}.{MediaInfo.Simple}";
_movieFile.MediaInfo = new Core.MediaFiles.MediaInfo.MediaInfoModel()
_movieFile.MediaInfo = new MediaInfoModel()
{
VideoFormat = "AVC",
VideoMultiViewCount = 2,

View File

@ -6,6 +6,7 @@
using System.Text.RegularExpressions;
using NLog;
using NzbDrone.Common.EnsureThat;
using NzbDrone.Common.EnvironmentInfo;
using NzbDrone.Common.Extensions;
using NzbDrone.Core.CustomFormats;
using NzbDrone.Core.MediaFiles;
@ -414,9 +415,23 @@ private string GetLanguagesToken(string mediaInfoLanguages)
var cultures = CultureInfo.GetCultures(CultureTypes.NeutralCultures);
for (int i = 0; i < tokens.Count; i++)
{
if (tokens[i] == "Swedis")
{
// Probably typo in mediainfo (should be 'Swedish')
tokens[i] = "SV";
continue;
}
if (tokens[i] == "Chinese" && OsInfo.IsNotWindows)
{
// Mono only has 'Chinese (Simplified)' & 'Chinese (Traditional)'
tokens[i] = "ZH";
continue;
}
try
{
var cultureInfo = cultures.FirstOrDefault(p => p.EnglishName == tokens[i]);
var cultureInfo = cultures.FirstOrDefault(p => p.EnglishName.RemoveAccent() == tokens[i]);
if (cultureInfo != null)
{