FF-1784: Movie Lookup replace "Ae" with "Ä" if german and no matches found

This commit is contained in:
John Andrews
2024-09-15 09:42:02 +12:00
parent 58b1da438b
commit 7aa758a735
2 changed files with 30 additions and 1 deletions
@@ -216,6 +216,26 @@ public class MovieLookupTests : TestBase
string nfo = (string)args.Variables["NFO"];
Assert.IsFalse(string.IsNullOrWhiteSpace(nfo));
}
[TestMethod]
public void MovieLookupTests_AdamsApples()
{
var args = GetNodeParameters("/storage/cache/sabnzbd/completed/movies/Adams.Aepfel.2005.German.DL.DTSHD.1080p.BDRip.x265-sikamikanico/Adams.Aepfel.2005.German.DL.DTSHD.1080p.BDRip.x265-sikamikanico.mkv");
MovieLookup ml = new MovieLookup();
ml.UseFolderName = false;
var result = ml.Execute(args);
Assert.AreEqual(1, result);
Assert.IsTrue(args.Parameters.ContainsKey(Globals.MOVIE_INFO));
var mi = args.Parameters[Globals.MOVIE_INFO] as MovieInfo;
Assert.IsNotNull(mi);
Assert.AreEqual("Adam's Apples", mi.Title);
Assert.AreEqual(2005, mi.ReleaseDate.Year);
}
}
#endif
+10 -1
View File
@@ -64,7 +64,10 @@ public class MovieLookup : Node
/// <returns>the output to call next</returns>
public override int Execute(NodeParameters args)
{
string lookupName = UseFolderName ? FileHelper.GetDirectoryName(args.LibraryFileName) : FileHelper.GetShortFileNameWithoutExtension(args.LibraryFileName);
var originalName = UseFolderName
? FileHelper.GetDirectoryName(args.LibraryFileName)
: FileHelper.GetShortFileNameWithoutExtension(args.LibraryFileName);
string lookupName = originalName;
lookupName = lookupName.Replace(".", " ").Replace("_", " ");
// look for year
@@ -91,6 +94,12 @@ public class MovieLookup : Node
var response = movieApi.SearchByTitleAsync(lookupName).Result;
if(response.Results.Count == 0 && originalName.Contains("german", StringComparison.CurrentCultureIgnoreCase) && lookupName.Contains("Ae", StringComparison.InvariantCultureIgnoreCase))
{
lookupName = lookupName.Replace("Ae", "Ä", StringComparison.InvariantCultureIgnoreCase);
response = movieApi.SearchByTitleAsync(lookupName).Result;
}
// try find an exact match
var results = response.Results.OrderBy(x =>