mirror of
https://github.com/Radarr/Radarr
synced 2025-12-06 08:28:50 +01:00
Fixed: Allow opening curly bracket as prefix in naming format
This commit is contained in:
parent
22ef334de6
commit
187dd79b9c
3 changed files with 49 additions and 8 deletions
|
|
@ -27,7 +27,7 @@ public void Setup()
|
|||
.With(m => m.Title = "Movie Title")
|
||||
.Build();
|
||||
|
||||
_movieFile = new MovieFile { Quality = new QualityModel(), ReleaseGroup = "RadarrTest" };
|
||||
_movieFile = new MovieFile { Quality = new QualityModel(), ReleaseGroup = "RadarrTest", Edition = "Uncut" };
|
||||
|
||||
_namingConfig = NamingConfig.Default;
|
||||
_namingConfig.RenameMovies = true;
|
||||
|
|
@ -47,15 +47,17 @@ public void Setup()
|
|||
[Test]
|
||||
public void should_add_edition_tag()
|
||||
{
|
||||
_movieFile.Edition = "Uncut";
|
||||
_namingConfig.StandardMovieFormat = "{Movie Title} [{Edition Tags}]";
|
||||
|
||||
Subject.BuildFileName(_movie, _movieFile)
|
||||
.Should().Be("Movie Title [Uncut]");
|
||||
}
|
||||
|
||||
[TestCase("{Movie Title} {Edition Tags}")]
|
||||
[TestCase("{Movie Title} {{Edition Tags}}")]
|
||||
[TestCase("{Movie Title} {edition-{Edition Tags}}")]
|
||||
public void should_conditional_hide_edition_tags_in_plex_format(string movieFormat)
|
||||
[TestCase("{Movie Title} {{edition-{Edition Tags}}}")]
|
||||
public void should_conditional_hide_edition_tags(string movieFormat)
|
||||
{
|
||||
_movieFile.Edition = "";
|
||||
_namingConfig.StandardMovieFormat = movieFormat;
|
||||
|
|
@ -64,6 +66,24 @@ public void should_conditional_hide_edition_tags_in_plex_format(string movieForm
|
|||
.Should().Be("Movie Title");
|
||||
}
|
||||
|
||||
[TestCase("{Movie Title} {{Edition Tags}}")]
|
||||
public void should_handle_edition_curly_brackets(string movieFormat)
|
||||
{
|
||||
_namingConfig.StandardMovieFormat = movieFormat;
|
||||
|
||||
Subject.BuildFileName(_movie, _movieFile)
|
||||
.Should().Be("Movie Title {Uncut}");
|
||||
}
|
||||
|
||||
[TestCase("{Movie Title} {{edition-{Edition Tags}}}")]
|
||||
public void should_handle_edition_tag_curly_brackets(string movieFormat)
|
||||
{
|
||||
_namingConfig.StandardMovieFormat = movieFormat;
|
||||
|
||||
Subject.BuildFileName(_movie, _movieFile)
|
||||
.Should().Be("Movie Title {{edition-Uncut}}");
|
||||
}
|
||||
|
||||
[TestCase("1st anniversary edition", "{Movie Title} [{Edition Tags}]", "Movie Title [1st Anniversary Edition]")]
|
||||
[TestCase("2nd Anniversary edition", "{Movie Title} [{Edition Tags}]", "Movie Title [2nd Anniversary Edition]")]
|
||||
[TestCase("3rd anniversary Edition", "{Movie Title} [{Edition Tags}]", "Movie Title [3rd Anniversary Edition]")]
|
||||
|
|
|
|||
|
|
@ -56,15 +56,36 @@ public void should_add_imdb_tag()
|
|||
.Should().Be($"Movie Title {{imdb-{_movie.ImdbId}}}");
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void should_skip_imdb_tag_if_null()
|
||||
[TestCase("{Movie Title} {imdb-{ImdbId}}")]
|
||||
[TestCase("{Movie Title} {imdbid-{ImdbId}}")]
|
||||
[TestCase("{Movie Title} {{imdb-{ImdbId}}}")]
|
||||
[TestCase("{Movie Title} {{imdbid-{ImdbId}}}")]
|
||||
public void should_skip_imdb_tag_if_null(string movieFormat)
|
||||
{
|
||||
_namingConfig.MovieFolderFormat = "{Movie Title} {imdb-{ImdbId}}";
|
||||
_namingConfig.MovieFolderFormat = movieFormat;
|
||||
|
||||
_movie.ImdbId = null;
|
||||
|
||||
Subject.GetMovieFolder(_movie)
|
||||
.Should().Be($"Movie Title");
|
||||
.Should().Be("Movie Title");
|
||||
}
|
||||
|
||||
[TestCase("{Movie Title} {{imdb-{ImdbId}}}")]
|
||||
public void should_handle_imdb_tag_curly_brackets(string movieFormat)
|
||||
{
|
||||
_namingConfig.MovieFolderFormat = movieFormat;
|
||||
|
||||
Subject.GetMovieFolder(_movie)
|
||||
.Should().Be($"Movie Title {{{{imdb-{_movie.ImdbId}}}}}");
|
||||
}
|
||||
|
||||
[TestCase("{Movie Title} {{tmdb-{TmdbId}}}")]
|
||||
public void should_handle_tmdb_tag_curly_brackets(string movieFormat)
|
||||
{
|
||||
_namingConfig.MovieFolderFormat = movieFormat;
|
||||
|
||||
Subject.GetMovieFolder(_movie)
|
||||
.Should().Be($"Movie Title {{{{tmdb-{_movie.TmdbId}}}}}");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@ public class FileNameBuilder : IBuildFileNames
|
|||
private readonly ICustomFormatCalculationService _formatCalculator;
|
||||
private readonly Logger _logger;
|
||||
|
||||
private static readonly Regex TitleRegex = new Regex(@"(?<tag>\{(?:imdb-|edition-))?\{(?<prefix>[- ._\[(]*)(?<token>(?:[a-z0-9]+)(?:(?<separator>[- ._]+)(?:[a-z0-9]+))?)(?::(?<customFormat>[ ,a-z0-9|+-]+(?<![- ])))?(?<suffix>[-} ._)\]]*)\}",
|
||||
private static readonly Regex TitleRegex = new Regex(@"(?<tag>\{(?<prefix>[-{ ._\[(]*)(?:imdb(?:id)?-|edition-))?\{(?<prefix>[-{ ._\[(]*)(?<token>(?:[a-z0-9]+)(?:(?<separator>[- ._]+)(?:[a-z0-9]+))?)(?::(?<customFormat>[ ,a-z0-9|+-]+(?<![- ])))?(?<suffix>[-} ._)\]]*)\}",
|
||||
RegexOptions.Compiled | RegexOptions.IgnoreCase | RegexOptions.CultureInvariant);
|
||||
|
||||
public static readonly Regex ReleaseYearRegex = new Regex(@"\{[\[\(]?Release[- ._]Year[\]\)]?\}", RegexOptions.Compiled | RegexOptions.IgnoreCase);
|
||||
|
|
|
|||
Loading…
Reference in a new issue