Add title without umlauts as base variation
This commit is contained in:
@@ -103,14 +103,17 @@ namespace UmlautAdaptarr.Models
|
||||
TitleSearchVariations = GenerateVariations($"{expectedAuthor} {expectedTitle}", mediaType).ToArray();
|
||||
AuthorMatchVariations = GenerateVariations(expectedAuthor, mediaType).ToArray();
|
||||
|
||||
if (mediaType == "book" && (expectedAuthor?.Contains(' ') ?? false))
|
||||
if (mediaType == "book")
|
||||
{
|
||||
var nameParts = expectedAuthor.Split(' ', StringSplitOptions.RemoveEmptyEntries);
|
||||
var lastName = nameParts.Last();
|
||||
var firstNames = nameParts.Take(nameParts.Length - 1);
|
||||
if (expectedAuthor?.Contains(' ') ?? false)
|
||||
{
|
||||
var nameParts = expectedAuthor.Split(' ', StringSplitOptions.RemoveEmptyEntries);
|
||||
var lastName = nameParts.Last();
|
||||
var firstNames = nameParts.Take(nameParts.Length - 1);
|
||||
|
||||
var alternativeExpectedAuthor = $"{lastName}, {string.Join(" ", firstNames)}";
|
||||
AuthorMatchVariations = [.. AuthorMatchVariations, .. GenerateVariations(alternativeExpectedAuthor, mediaType)];
|
||||
var alternativeExpectedAuthor = $"{lastName}, {string.Join(" ", firstNames)}";
|
||||
AuthorMatchVariations = [.. AuthorMatchVariations, .. GenerateVariations(alternativeExpectedAuthor, mediaType)];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -135,6 +138,11 @@ namespace UmlautAdaptarr.Models
|
||||
cleanTitle.RemoveGermanUmlautDots()
|
||||
};
|
||||
|
||||
if (mediaType == "book" || mediaType == "audio")
|
||||
{
|
||||
baseVariations.Add(cleanTitle.RemoveGermanUmlauts());
|
||||
}
|
||||
|
||||
// TODO: determine if this is really needed
|
||||
// Additional variations to accommodate titles with "-"
|
||||
if (cleanTitle.Contains('-'))
|
||||
|
||||
@@ -132,6 +132,18 @@ namespace UmlautAdaptarr.Utilities
|
||||
.Replace("ß", "ss");
|
||||
}
|
||||
|
||||
public static string RemoveGermanUmlauts(this string text)
|
||||
{
|
||||
return text
|
||||
.Replace("ö", "")
|
||||
.Replace("ü", "")
|
||||
.Replace("ä", "")
|
||||
.Replace("Ö", "")
|
||||
.Replace("Ü", "")
|
||||
.Replace("Ä", "")
|
||||
.Replace("ß", "");
|
||||
}
|
||||
|
||||
public static string RemoveExtraWhitespaces(this string text)
|
||||
{
|
||||
return MultipleWhitespaceRegex().Replace(text, " ");
|
||||
|
||||
Reference in New Issue
Block a user