mirror of
https://github.com/Radarr/Radarr.git
synced 2026-04-18 21:35:51 -04:00
Fixed: Allow opening curly bracket as prefix in naming format
This commit is contained in:
@@ -27,7 +27,7 @@ namespace NzbDrone.Core.Test.OrganizerTests.FileNameBuilderTests
|
|||||||
.With(m => m.Title = "Movie Title")
|
.With(m => m.Title = "Movie Title")
|
||||||
.Build();
|
.Build();
|
||||||
|
|
||||||
_movieFile = new MovieFile { Quality = new QualityModel(), ReleaseGroup = "RadarrTest" };
|
_movieFile = new MovieFile { Quality = new QualityModel(), ReleaseGroup = "RadarrTest", Edition = "Uncut" };
|
||||||
|
|
||||||
_namingConfig = NamingConfig.Default;
|
_namingConfig = NamingConfig.Default;
|
||||||
_namingConfig.RenameMovies = true;
|
_namingConfig.RenameMovies = true;
|
||||||
@@ -47,15 +47,17 @@ namespace NzbDrone.Core.Test.OrganizerTests.FileNameBuilderTests
|
|||||||
[Test]
|
[Test]
|
||||||
public void should_add_edition_tag()
|
public void should_add_edition_tag()
|
||||||
{
|
{
|
||||||
_movieFile.Edition = "Uncut";
|
|
||||||
_namingConfig.StandardMovieFormat = "{Movie Title} [{Edition Tags}]";
|
_namingConfig.StandardMovieFormat = "{Movie Title} [{Edition Tags}]";
|
||||||
|
|
||||||
Subject.BuildFileName(_movie, _movieFile)
|
Subject.BuildFileName(_movie, _movieFile)
|
||||||
.Should().Be("Movie Title [Uncut]");
|
.Should().Be("Movie Title [Uncut]");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[TestCase("{Movie Title} {Edition Tags}")]
|
||||||
|
[TestCase("{Movie Title} {{Edition Tags}}")]
|
||||||
[TestCase("{Movie Title} {edition-{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 = "";
|
_movieFile.Edition = "";
|
||||||
_namingConfig.StandardMovieFormat = movieFormat;
|
_namingConfig.StandardMovieFormat = movieFormat;
|
||||||
@@ -64,6 +66,24 @@ namespace NzbDrone.Core.Test.OrganizerTests.FileNameBuilderTests
|
|||||||
.Should().Be("Movie Title");
|
.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("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("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]")]
|
[TestCase("3rd anniversary Edition", "{Movie Title} [{Edition Tags}]", "Movie Title [3rd Anniversary Edition]")]
|
||||||
|
|||||||
@@ -56,15 +56,36 @@ namespace NzbDrone.Core.Test.OrganizerTests.FileNameBuilderTests
|
|||||||
.Should().Be($"Movie Title {{imdb-{_movie.ImdbId}}}");
|
.Should().Be($"Movie Title {{imdb-{_movie.ImdbId}}}");
|
||||||
}
|
}
|
||||||
|
|
||||||
[Test]
|
[TestCase("{Movie Title} {imdb-{ImdbId}}")]
|
||||||
public void should_skip_imdb_tag_if_null()
|
[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;
|
_movie.ImdbId = null;
|
||||||
|
|
||||||
Subject.GetMovieFolder(_movie)
|
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 @@ namespace NzbDrone.Core.Organizer
|
|||||||
private readonly ICustomFormatCalculationService _formatCalculator;
|
private readonly ICustomFormatCalculationService _formatCalculator;
|
||||||
private readonly Logger _logger;
|
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);
|
RegexOptions.Compiled | RegexOptions.IgnoreCase | RegexOptions.CultureInvariant);
|
||||||
|
|
||||||
public static readonly Regex ReleaseYearRegex = new Regex(@"\{[\[\(]?Release[- ._]Year[\]\)]?\}", RegexOptions.Compiled | RegexOptions.IgnoreCase);
|
public static readonly Regex ReleaseYearRegex = new Regex(@"\{[\[\(]?Release[- ._]Year[\]\)]?\}", RegexOptions.Compiled | RegexOptions.IgnoreCase);
|
||||||
|
|||||||
Reference in New Issue
Block a user