|
|
|
@ -220,6 +220,23 @@ namespace NzbDrone.Core.Organizer
|
|
|
|
|
return TitlePrefixRegex.Replace(title, "$2, $1$3");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public static string TitleFirstCharacter(string title)
|
|
|
|
|
{
|
|
|
|
|
if (char.IsLetterOrDigit(title[0]))
|
|
|
|
|
{
|
|
|
|
|
return title.Substring(0, 1).ToUpper().RemoveAccent();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Try the second character if the first was non alphanumeric
|
|
|
|
|
if (char.IsLetterOrDigit(title[1]))
|
|
|
|
|
{
|
|
|
|
|
return title.Substring(1, 1).ToUpper().RemoveAccent();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Default to "_" if no alphanumeric character can be found in the first 2 positions
|
|
|
|
|
return "_";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public static string CleanFileName(string name, bool replace = true, ColonReplacementFormat colonReplacement = ColonReplacementFormat.Delete)
|
|
|
|
|
{
|
|
|
|
|
var colonReplacementFormat = colonReplacement.GetFormatString();
|
|
|
|
@ -248,7 +265,7 @@ namespace NzbDrone.Core.Organizer
|
|
|
|
|
tokenHandlers["{Movie Title}"] = m => GetLanguageTitle(movie, m.CustomFormat);
|
|
|
|
|
tokenHandlers["{Movie CleanTitle}"] = m => CleanTitle(GetLanguageTitle(movie, m.CustomFormat));
|
|
|
|
|
tokenHandlers["{Movie TitleThe}"] = m => TitleThe(movie.Title);
|
|
|
|
|
tokenHandlers["{Movie TitleFirstCharacter}"] = m => TitleThe(GetLanguageTitle(movie, m.CustomFormat)).Substring(0, 1).FirstCharToUpper();
|
|
|
|
|
tokenHandlers["{Movie TitleFirstCharacter}"] = m => TitleFirstCharacter(TitleThe(GetLanguageTitle(movie, m.CustomFormat)));
|
|
|
|
|
tokenHandlers["{Movie OriginalTitle}"] = m => movie.MovieMetadata.Value.OriginalTitle ?? string.Empty;
|
|
|
|
|
tokenHandlers["{Movie CleanOriginalTitle}"] = m => CleanTitle(movie.MovieMetadata.Value.OriginalTitle ?? string.Empty);
|
|
|
|
|
|
|
|
|
|