mirror of
https://github.com/Sonarr/Sonarr.git
synced 2026-04-23 22:25:56 -04:00
New: Add additional CleanTitle tokens and re-order options
Closes #6066
This commit is contained in:
@@ -353,6 +353,17 @@ namespace NzbDrone.Core.Organizer
|
||||
return TitlePrefixRegex.Replace(title, "$2, $1$3");
|
||||
}
|
||||
|
||||
public static string CleanTitleThe(string title)
|
||||
{
|
||||
if (TitlePrefixRegex.IsMatch(title))
|
||||
{
|
||||
var splitResult = TitlePrefixRegex.Split(title);
|
||||
return $"{CleanTitle(splitResult[2]).Trim()}, {splitResult[1]}{CleanTitle(splitResult[3])}";
|
||||
}
|
||||
|
||||
return CleanTitle(title);
|
||||
}
|
||||
|
||||
public static string TitleYear(string title, int year)
|
||||
{
|
||||
// Don't use 0 for the year.
|
||||
@@ -370,6 +381,25 @@ namespace NzbDrone.Core.Organizer
|
||||
return $"{title} ({year})";
|
||||
}
|
||||
|
||||
public static string CleanTitleTheYear(string title, int year)
|
||||
{
|
||||
// Don't use 0 for the year.
|
||||
if (year == 0)
|
||||
{
|
||||
return CleanTitleThe(title);
|
||||
}
|
||||
|
||||
// Regex match incase the year in the title doesn't match the year, for whatever reason.
|
||||
if (YearRegex.IsMatch(title))
|
||||
{
|
||||
var splitReturn = YearRegex.Split(title);
|
||||
var yearMatch = YearRegex.Match(title);
|
||||
return $"{CleanTitleThe(splitReturn[0].Trim())} {yearMatch.Value[1..5]}";
|
||||
}
|
||||
|
||||
return $"{CleanTitleThe(title)} {year}";
|
||||
}
|
||||
|
||||
public static string TitleWithoutYear(string title)
|
||||
{
|
||||
title = YearRegex.Replace(title, "");
|
||||
@@ -462,13 +492,16 @@ namespace NzbDrone.Core.Organizer
|
||||
{
|
||||
tokenHandlers["{Series Title}"] = m => series.Title;
|
||||
tokenHandlers["{Series CleanTitle}"] = m => CleanTitle(series.Title);
|
||||
tokenHandlers["{Series TitleYear}"] = m => TitleYear(series.Title, series.Year);
|
||||
tokenHandlers["{Series CleanTitleYear}"] = m => CleanTitle(TitleYear(series.Title, series.Year));
|
||||
tokenHandlers["{Series TitleWithoutYear}"] = m => TitleWithoutYear(series.Title);
|
||||
tokenHandlers["{Series CleanTitleWithoutYear}"] = m => CleanTitle(TitleWithoutYear(series.Title));
|
||||
tokenHandlers["{Series TitleThe}"] = m => TitleThe(series.Title);
|
||||
tokenHandlers["{Series TitleYear}"] = m => TitleYear(series.Title, series.Year);
|
||||
tokenHandlers["{Series TitleWithoutYear}"] = m => TitleWithoutYear(series.Title);
|
||||
tokenHandlers["{Series CleanTitleThe}"] = m => CleanTitleThe(series.Title);
|
||||
tokenHandlers["{Series TitleTheYear}"] = m => TitleYear(TitleThe(series.Title), series.Year);
|
||||
tokenHandlers["{Series CleanTitleTheYear}"] = m => CleanTitleTheYear(series.Title, series.Year);
|
||||
tokenHandlers["{Series TitleTheWithoutYear}"] = m => TitleWithoutYear(TitleThe(series.Title));
|
||||
tokenHandlers["{Series CleanTitleTheWithoutYear}"] = m => CleanTitleThe(TitleWithoutYear(series.Title));
|
||||
tokenHandlers["{Series TitleFirstCharacter}"] = m => TitleFirstCharacter(TitleThe(series.Title));
|
||||
tokenHandlers["{Series Year}"] = m => series.Year.ToString();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user