mirror of https://github.com/Sonarr/Sonarr
Files will be tagged with Proper when append quality is enabled and episode is a proper.
This commit is contained in:
parent
dc4f5e48f3
commit
d5e62bc70b
|
@ -196,7 +196,7 @@ namespace NzbDrone.Core.Test.ProviderTests
|
||||||
.Returns(fakeEpisode);
|
.Returns(fakeEpisode);
|
||||||
|
|
||||||
Mocker.GetMock<MediaFileProvider>()
|
Mocker.GetMock<MediaFileProvider>()
|
||||||
.Setup(e => e.GetNewFilename(fakeEpisode, fakeSeries.Title, It.IsAny<QualityTypes>()))
|
.Setup(e => e.GetNewFilename(fakeEpisode, fakeSeries.Title, It.IsAny<QualityTypes>(), It.IsAny<bool>()))
|
||||||
.Returns(filename);
|
.Returns(filename);
|
||||||
|
|
||||||
Mocker.GetMock<MediaFileProvider>()
|
Mocker.GetMock<MediaFileProvider>()
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
|
||||||
using FizzWare.NBuilder;
|
using FizzWare.NBuilder;
|
||||||
|
using FluentAssertions;
|
||||||
using NUnit.Framework;
|
using NUnit.Framework;
|
||||||
using NzbDrone.Core.Providers;
|
using NzbDrone.Core.Providers;
|
||||||
using NzbDrone.Core.Providers.Core;
|
using NzbDrone.Core.Providers.Core;
|
||||||
|
@ -38,7 +39,7 @@ namespace NzbDrone.Core.Test.ProviderTests.MediaFileProviderTests
|
||||||
.Build();
|
.Build();
|
||||||
|
|
||||||
//Act
|
//Act
|
||||||
string result = Mocker.Resolve<MediaFileProvider>().GetNewFilename(new List<Episode> { episode }, "South Park", QualityTypes.HDTV);
|
string result = Mocker.Resolve<MediaFileProvider>().GetNewFilename(new List<Episode> { episode }, "South Park", QualityTypes.HDTV, false);
|
||||||
|
|
||||||
//Assert
|
//Assert
|
||||||
Assert.AreEqual("South Park - S15E06 - City Sushi [HDTV]", result);
|
Assert.AreEqual("South Park - S15E06 - City Sushi [HDTV]", result);
|
||||||
|
@ -65,7 +66,7 @@ namespace NzbDrone.Core.Test.ProviderTests.MediaFileProviderTests
|
||||||
.Build();
|
.Build();
|
||||||
|
|
||||||
//Act
|
//Act
|
||||||
string result = Mocker.Resolve<MediaFileProvider>().GetNewFilename(new List<Episode> { episode }, "South Park", QualityTypes.HDTV);
|
string result = Mocker.Resolve<MediaFileProvider>().GetNewFilename(new List<Episode> { episode }, "South Park", QualityTypes.HDTV, false);
|
||||||
|
|
||||||
//Assert
|
//Assert
|
||||||
Assert.AreEqual("15x06 - City Sushi [HDTV]", result);
|
Assert.AreEqual("15x06 - City Sushi [HDTV]", result);
|
||||||
|
@ -92,7 +93,7 @@ namespace NzbDrone.Core.Test.ProviderTests.MediaFileProviderTests
|
||||||
.Build();
|
.Build();
|
||||||
|
|
||||||
//Act
|
//Act
|
||||||
string result = Mocker.Resolve<MediaFileProvider>().GetNewFilename(new List<Episode> { episode }, "South Park", QualityTypes.HDTV);
|
string result = Mocker.Resolve<MediaFileProvider>().GetNewFilename(new List<Episode> { episode }, "South Park", QualityTypes.HDTV, false);
|
||||||
|
|
||||||
//Assert
|
//Assert
|
||||||
Assert.AreEqual("South Park 05x06 [HDTV]", result);
|
Assert.AreEqual("South Park 05x06 [HDTV]", result);
|
||||||
|
@ -120,7 +121,7 @@ namespace NzbDrone.Core.Test.ProviderTests.MediaFileProviderTests
|
||||||
.Build();
|
.Build();
|
||||||
|
|
||||||
//Act
|
//Act
|
||||||
string result = Mocker.Resolve<MediaFileProvider>().GetNewFilename(new List<Episode> { episode }, "South Park", QualityTypes.HDTV);
|
string result = Mocker.Resolve<MediaFileProvider>().GetNewFilename(new List<Episode> { episode }, "South Park", QualityTypes.HDTV, false);
|
||||||
|
|
||||||
//Assert
|
//Assert
|
||||||
Assert.AreEqual("South Park s05e06", result);
|
Assert.AreEqual("South Park s05e06", result);
|
||||||
|
@ -147,7 +148,7 @@ namespace NzbDrone.Core.Test.ProviderTests.MediaFileProviderTests
|
||||||
.Build();
|
.Build();
|
||||||
|
|
||||||
//Act
|
//Act
|
||||||
string result = Mocker.Resolve<MediaFileProvider>().GetNewFilename(new List<Episode> { episode }, "South Park", QualityTypes.HDTV);
|
string result = Mocker.Resolve<MediaFileProvider>().GetNewFilename(new List<Episode> { episode }, "South Park", QualityTypes.HDTV, false);
|
||||||
|
|
||||||
//Assert
|
//Assert
|
||||||
Assert.AreEqual("South.Park.s05e06.City.Sushi", result);
|
Assert.AreEqual("South.Park.s05e06.City.Sushi", result);
|
||||||
|
@ -174,7 +175,7 @@ namespace NzbDrone.Core.Test.ProviderTests.MediaFileProviderTests
|
||||||
.Build();
|
.Build();
|
||||||
|
|
||||||
//Act
|
//Act
|
||||||
string result = Mocker.Resolve<MediaFileProvider>().GetNewFilename(new List<Episode> { episode }, "South Park", QualityTypes.HDTV);
|
string result = Mocker.Resolve<MediaFileProvider>().GetNewFilename(new List<Episode> { episode }, "South Park", QualityTypes.HDTV, false);
|
||||||
|
|
||||||
//Assert
|
//Assert
|
||||||
Assert.AreEqual("South.Park.-.s05e06.-.City.Sushi.[HDTV]", result);
|
Assert.AreEqual("South.Park.-.s05e06.-.City.Sushi.[HDTV]", result);
|
||||||
|
@ -202,7 +203,7 @@ namespace NzbDrone.Core.Test.ProviderTests.MediaFileProviderTests
|
||||||
.Build();
|
.Build();
|
||||||
|
|
||||||
//Act
|
//Act
|
||||||
string result = Mocker.Resolve<MediaFileProvider>().GetNewFilename(new List<Episode> { episode }, "South Park", QualityTypes.HDTV);
|
string result = Mocker.Resolve<MediaFileProvider>().GetNewFilename(new List<Episode> { episode }, "South Park", QualityTypes.HDTV, false);
|
||||||
|
|
||||||
//Assert
|
//Assert
|
||||||
Assert.AreEqual("S15E06", result);
|
Assert.AreEqual("S15E06", result);
|
||||||
|
@ -236,7 +237,7 @@ namespace NzbDrone.Core.Test.ProviderTests.MediaFileProviderTests
|
||||||
.Build();
|
.Build();
|
||||||
|
|
||||||
//Act
|
//Act
|
||||||
string result = Mocker.Resolve<MediaFileProvider>().GetNewFilename(new List<Episode> { episodeOne, episodeTwo }, "The Mentalist", QualityTypes.HDTV);
|
string result = Mocker.Resolve<MediaFileProvider>().GetNewFilename(new List<Episode> { episodeOne, episodeTwo }, "The Mentalist", QualityTypes.HDTV, false);
|
||||||
|
|
||||||
//Assert
|
//Assert
|
||||||
Assert.AreEqual("The Mentalist - S03E23-E24 - Strawberries and Cream (1) + Strawberries and Cream (2) [HDTV]", result);
|
Assert.AreEqual("The Mentalist - S03E23-E24 - Strawberries and Cream (1) + Strawberries and Cream (2) [HDTV]", result);
|
||||||
|
@ -270,7 +271,7 @@ namespace NzbDrone.Core.Test.ProviderTests.MediaFileProviderTests
|
||||||
.Build();
|
.Build();
|
||||||
|
|
||||||
//Act
|
//Act
|
||||||
string result = Mocker.Resolve<MediaFileProvider>().GetNewFilename(new List<Episode> { episodeOne, episodeTwo }, "The Mentalist", QualityTypes.HDTV);
|
string result = Mocker.Resolve<MediaFileProvider>().GetNewFilename(new List<Episode> { episodeOne, episodeTwo }, "The Mentalist", QualityTypes.HDTV, false);
|
||||||
|
|
||||||
//Assert
|
//Assert
|
||||||
Assert.AreEqual("3x23x24 - Strawberries and Cream (1) + Strawberries and Cream (2) [HDTV]", result);
|
Assert.AreEqual("3x23x24 - Strawberries and Cream (1) + Strawberries and Cream (2) [HDTV]", result);
|
||||||
|
@ -304,7 +305,7 @@ namespace NzbDrone.Core.Test.ProviderTests.MediaFileProviderTests
|
||||||
.Build();
|
.Build();
|
||||||
|
|
||||||
//Act
|
//Act
|
||||||
string result = Mocker.Resolve<MediaFileProvider>().GetNewFilename(new List<Episode> { episodeOne, episodeTwo }, "The Mentalist", QualityTypes.HDTV);
|
string result = Mocker.Resolve<MediaFileProvider>().GetNewFilename(new List<Episode> { episodeOne, episodeTwo }, "The Mentalist", QualityTypes.HDTV, false);
|
||||||
|
|
||||||
//Assert
|
//Assert
|
||||||
Assert.AreEqual("3x23x24 Strawberries and Cream (1) + Strawberries and Cream (2) [HDTV]", result);
|
Assert.AreEqual("3x23x24 Strawberries and Cream (1) + Strawberries and Cream (2) [HDTV]", result);
|
||||||
|
@ -338,7 +339,7 @@ namespace NzbDrone.Core.Test.ProviderTests.MediaFileProviderTests
|
||||||
.Build();
|
.Build();
|
||||||
|
|
||||||
//Act
|
//Act
|
||||||
string result = Mocker.Resolve<MediaFileProvider>().GetNewFilename(new List<Episode> { episodeOne, episodeTwo }, "The Mentalist", QualityTypes.HDTV);
|
string result = Mocker.Resolve<MediaFileProvider>().GetNewFilename(new List<Episode> { episodeOne, episodeTwo }, "The Mentalist", QualityTypes.HDTV, false);
|
||||||
|
|
||||||
//Assert
|
//Assert
|
||||||
Assert.AreEqual("The.Mentalist.s03e23.s03e24.Strawberries.and.Cream.(1).+.Strawberries.and.Cream.(2)", result);
|
Assert.AreEqual("The.Mentalist.s03e23.s03e24.Strawberries.and.Cream.(1).+.Strawberries.and.Cream.(2)", result);
|
||||||
|
@ -372,7 +373,7 @@ namespace NzbDrone.Core.Test.ProviderTests.MediaFileProviderTests
|
||||||
.Build();
|
.Build();
|
||||||
|
|
||||||
//Act
|
//Act
|
||||||
string result = Mocker.Resolve<MediaFileProvider>().GetNewFilename(new List<Episode> { episodeOne, episodeTwo }, "The Mentalist", QualityTypes.HDTV);
|
string result = Mocker.Resolve<MediaFileProvider>().GetNewFilename(new List<Episode> { episodeOne, episodeTwo }, "The Mentalist", QualityTypes.HDTV, false);
|
||||||
|
|
||||||
//Assert
|
//Assert
|
||||||
Assert.AreEqual("The.Mentalist.-.S03E23-24", result);
|
Assert.AreEqual("The.Mentalist.-.S03E23-24", result);
|
||||||
|
@ -406,10 +407,85 @@ namespace NzbDrone.Core.Test.ProviderTests.MediaFileProviderTests
|
||||||
.Build();
|
.Build();
|
||||||
|
|
||||||
//Act
|
//Act
|
||||||
string result = Mocker.Resolve<MediaFileProvider>().GetNewFilename(new List<Episode> { episodeOne, episodeTwo }, "The Mentalist", QualityTypes.HDTV);
|
string result = Mocker.Resolve<MediaFileProvider>().GetNewFilename(new List<Episode> { episodeOne, episodeTwo }, "The Mentalist", QualityTypes.HDTV, false);
|
||||||
|
|
||||||
//Assert
|
//Assert
|
||||||
Assert.AreEqual("3x23x24", result);
|
Assert.AreEqual("3x23x24", result);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[Test]
|
||||||
|
public void GetNewFilename_should_append_proper_when_proper_and_append_quality_is_true()
|
||||||
|
{
|
||||||
|
//Setup
|
||||||
|
var fakeConfig = Mocker.GetMock<ConfigProvider>();
|
||||||
|
fakeConfig.SetupGet(c => c.SortingIncludeSeriesName).Returns(true);
|
||||||
|
fakeConfig.SetupGet(c => c.SortingIncludeEpisodeTitle).Returns(true);
|
||||||
|
fakeConfig.SetupGet(c => c.SortingAppendQuality).Returns(true);
|
||||||
|
fakeConfig.SetupGet(c => c.SortingSeparatorStyle).Returns(0);
|
||||||
|
fakeConfig.SetupGet(c => c.SortingNumberStyle).Returns(2);
|
||||||
|
fakeConfig.SetupGet(c => c.SortingReplaceSpaces).Returns(false);
|
||||||
|
|
||||||
|
var episode = Builder<Episode>.CreateNew()
|
||||||
|
.With(e => e.Title = "City Sushi")
|
||||||
|
.With(e => e.SeasonNumber = 15)
|
||||||
|
.With(e => e.EpisodeNumber = 6)
|
||||||
|
.Build();
|
||||||
|
|
||||||
|
//Act
|
||||||
|
string result = Mocker.Resolve<MediaFileProvider>().GetNewFilename(new List<Episode> { episode }, "South Park", QualityTypes.HDTV, true);
|
||||||
|
|
||||||
|
//Assert
|
||||||
|
result.Should().Be("South Park - S15E06 - City Sushi [HDTV] [Proper]");
|
||||||
|
}
|
||||||
|
|
||||||
|
[Test]
|
||||||
|
public void GetNewFilename_should_not_append_proper_when_not_proper_and_append_quality_is_true()
|
||||||
|
{
|
||||||
|
//Setup
|
||||||
|
var fakeConfig = Mocker.GetMock<ConfigProvider>();
|
||||||
|
fakeConfig.SetupGet(c => c.SortingIncludeSeriesName).Returns(true);
|
||||||
|
fakeConfig.SetupGet(c => c.SortingIncludeEpisodeTitle).Returns(true);
|
||||||
|
fakeConfig.SetupGet(c => c.SortingAppendQuality).Returns(true);
|
||||||
|
fakeConfig.SetupGet(c => c.SortingSeparatorStyle).Returns(0);
|
||||||
|
fakeConfig.SetupGet(c => c.SortingNumberStyle).Returns(2);
|
||||||
|
fakeConfig.SetupGet(c => c.SortingReplaceSpaces).Returns(false);
|
||||||
|
|
||||||
|
var episode = Builder<Episode>.CreateNew()
|
||||||
|
.With(e => e.Title = "City Sushi")
|
||||||
|
.With(e => e.SeasonNumber = 15)
|
||||||
|
.With(e => e.EpisodeNumber = 6)
|
||||||
|
.Build();
|
||||||
|
|
||||||
|
//Act
|
||||||
|
string result = Mocker.Resolve<MediaFileProvider>().GetNewFilename(new List<Episode> { episode }, "South Park", QualityTypes.HDTV, false);
|
||||||
|
|
||||||
|
//Assert
|
||||||
|
result.Should().Be("South Park - S15E06 - City Sushi [HDTV]");
|
||||||
|
}
|
||||||
|
|
||||||
|
[Test]
|
||||||
|
public void GetNewFilename_should_not_append_proper_when_proper_and_append_quality_is_false()
|
||||||
|
{
|
||||||
|
//Setup
|
||||||
|
var fakeConfig = Mocker.GetMock<ConfigProvider>();
|
||||||
|
fakeConfig.SetupGet(c => c.SortingIncludeSeriesName).Returns(true);
|
||||||
|
fakeConfig.SetupGet(c => c.SortingIncludeEpisodeTitle).Returns(true);
|
||||||
|
fakeConfig.SetupGet(c => c.SortingAppendQuality).Returns(false);
|
||||||
|
fakeConfig.SetupGet(c => c.SortingSeparatorStyle).Returns(0);
|
||||||
|
fakeConfig.SetupGet(c => c.SortingNumberStyle).Returns(2);
|
||||||
|
fakeConfig.SetupGet(c => c.SortingReplaceSpaces).Returns(false);
|
||||||
|
|
||||||
|
var episode = Builder<Episode>.CreateNew()
|
||||||
|
.With(e => e.Title = "City Sushi")
|
||||||
|
.With(e => e.SeasonNumber = 15)
|
||||||
|
.With(e => e.EpisodeNumber = 6)
|
||||||
|
.Build();
|
||||||
|
|
||||||
|
//Act
|
||||||
|
string result = Mocker.Resolve<MediaFileProvider>().GetNewFilename(new List<Episode> { episode }, "South Park", QualityTypes.HDTV, true);
|
||||||
|
|
||||||
|
//Assert
|
||||||
|
result.Should().Be("South Park - S15E06 - City Sushi");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -49,11 +49,11 @@ namespace NzbDrone.Core.Test.ProviderTests
|
||||||
.Setup(c => c.EpisodesWithFiles()).Returns(episodes);
|
.Setup(c => c.EpisodesWithFiles()).Returns(episodes);
|
||||||
|
|
||||||
Mocker.GetMock<MediaFileProvider>()
|
Mocker.GetMock<MediaFileProvider>()
|
||||||
.Setup(c => c.GetNewFilename(new List<Episode> { episodes[0] }, "SeriesTitle", It.IsAny<QualityTypes>()))
|
.Setup(c => c.GetNewFilename(new List<Episode> { episodes[0] }, "SeriesTitle", It.IsAny<QualityTypes>(), It.IsAny<bool>()))
|
||||||
.Returns("Title1");
|
.Returns("Title1");
|
||||||
|
|
||||||
Mocker.GetMock<MediaFileProvider>()
|
Mocker.GetMock<MediaFileProvider>()
|
||||||
.Setup(c => c.GetNewFilename(new List<Episode> { episodes[1] }, "SeriesTitle", It.IsAny<QualityTypes>()))
|
.Setup(c => c.GetNewFilename(new List<Episode> { episodes[1] }, "SeriesTitle", It.IsAny<QualityTypes>(), It.IsAny<bool>()))
|
||||||
.Returns("Title2");
|
.Returns("Title2");
|
||||||
|
|
||||||
//Act
|
//Act
|
||||||
|
@ -98,11 +98,11 @@ namespace NzbDrone.Core.Test.ProviderTests
|
||||||
.Setup(c => c.EpisodesWithFiles()).Returns(episodes);
|
.Setup(c => c.EpisodesWithFiles()).Returns(episodes);
|
||||||
|
|
||||||
Mocker.GetMock<MediaFileProvider>()
|
Mocker.GetMock<MediaFileProvider>()
|
||||||
.Setup(c => c.GetNewFilename(new List<Episode> { episodes[0] }, "SeriesTitle", It.IsAny<QualityTypes>()))
|
.Setup(c => c.GetNewFilename(new List<Episode> { episodes[0] }, "SeriesTitle", It.IsAny<QualityTypes>(), It.IsAny<bool>()))
|
||||||
.Returns("New Title 1");
|
.Returns("New Title 1");
|
||||||
|
|
||||||
Mocker.GetMock<MediaFileProvider>()
|
Mocker.GetMock<MediaFileProvider>()
|
||||||
.Setup(c => c.GetNewFilename(new List<Episode> { episodes[1] }, "SeriesTitle", It.IsAny<QualityTypes>()))
|
.Setup(c => c.GetNewFilename(new List<Episode> { episodes[1] }, "SeriesTitle", It.IsAny<QualityTypes>(), It.IsAny<bool>()))
|
||||||
.Returns("New Title 2");
|
.Returns("New Title 2");
|
||||||
|
|
||||||
//Act
|
//Act
|
||||||
|
@ -147,11 +147,11 @@ namespace NzbDrone.Core.Test.ProviderTests
|
||||||
.Setup(c => c.EpisodesWithFiles()).Returns(episodes);
|
.Setup(c => c.EpisodesWithFiles()).Returns(episodes);
|
||||||
|
|
||||||
Mocker.GetMock<MediaFileProvider>()
|
Mocker.GetMock<MediaFileProvider>()
|
||||||
.Setup(c => c.GetNewFilename(new List<Episode> { episodes[0] }, "SeriesTitle", It.IsAny<QualityTypes>()))
|
.Setup(c => c.GetNewFilename(new List<Episode> { episodes[0] }, "SeriesTitle", It.IsAny<QualityTypes>(), It.IsAny<bool>()))
|
||||||
.Returns("New Title 1");
|
.Returns("New Title 1");
|
||||||
|
|
||||||
Mocker.GetMock<MediaFileProvider>()
|
Mocker.GetMock<MediaFileProvider>()
|
||||||
.Setup(c => c.GetNewFilename(new List<Episode> { episodes[1] }, "SeriesTitle", It.IsAny<QualityTypes>()))
|
.Setup(c => c.GetNewFilename(new List<Episode> { episodes[1] }, "SeriesTitle", It.IsAny<QualityTypes>(), It.IsAny<bool>()))
|
||||||
.Returns("Title2");
|
.Returns("Title2");
|
||||||
|
|
||||||
//Act
|
//Act
|
||||||
|
@ -198,11 +198,11 @@ namespace NzbDrone.Core.Test.ProviderTests
|
||||||
.Setup(c => c.EpisodesWithFiles()).Returns(episodes);
|
.Setup(c => c.EpisodesWithFiles()).Returns(episodes);
|
||||||
|
|
||||||
Mocker.GetMock<MediaFileProvider>()
|
Mocker.GetMock<MediaFileProvider>()
|
||||||
.Setup(c => c.GetNewFilename(new List<Episode> { episodes[0], episodes[1] }, "SeriesTitle", It.IsAny<QualityTypes>()))
|
.Setup(c => c.GetNewFilename(new List<Episode> { episodes[0], episodes[1] }, "SeriesTitle", It.IsAny<QualityTypes>(), It.IsAny<bool>()))
|
||||||
.Returns("New Title 1");
|
.Returns("New Title 1");
|
||||||
|
|
||||||
Mocker.GetMock<MediaFileProvider>()
|
Mocker.GetMock<MediaFileProvider>()
|
||||||
.Setup(c => c.GetNewFilename(new List<Episode> { episodes[2] }, "SeriesTitle", It.IsAny<QualityTypes>()))
|
.Setup(c => c.GetNewFilename(new List<Episode> { episodes[2] }, "SeriesTitle", It.IsAny<QualityTypes>(), It.IsAny<bool>()))
|
||||||
.Returns("Title2");
|
.Returns("Title2");
|
||||||
|
|
||||||
//Act
|
//Act
|
||||||
|
@ -249,11 +249,11 @@ namespace NzbDrone.Core.Test.ProviderTests
|
||||||
.Setup(c => c.EpisodesWithFiles()).Returns(episodes);
|
.Setup(c => c.EpisodesWithFiles()).Returns(episodes);
|
||||||
|
|
||||||
Mocker.GetMock<MediaFileProvider>()
|
Mocker.GetMock<MediaFileProvider>()
|
||||||
.Setup(c => c.GetNewFilename(new List<Episode> { episodes[0], episodes[1] }, "SeriesTitle", It.IsAny<QualityTypes>()))
|
.Setup(c => c.GetNewFilename(new List<Episode> { episodes[0], episodes[1] }, "SeriesTitle", It.IsAny<QualityTypes>(), It.IsAny<bool>()))
|
||||||
.Returns("Title1");
|
.Returns("Title1");
|
||||||
|
|
||||||
Mocker.GetMock<MediaFileProvider>()
|
Mocker.GetMock<MediaFileProvider>()
|
||||||
.Setup(c => c.GetNewFilename(new List<Episode> { episodes[2] }, "SeriesTitle", It.IsAny<QualityTypes>()))
|
.Setup(c => c.GetNewFilename(new List<Episode> { episodes[2] }, "SeriesTitle", It.IsAny<QualityTypes>(), It.IsAny<bool>()))
|
||||||
.Returns("Title2");
|
.Returns("Title2");
|
||||||
|
|
||||||
//Act
|
//Act
|
||||||
|
|
|
@ -171,7 +171,7 @@ namespace NzbDrone.Core.Providers
|
||||||
|
|
||||||
var series = _seriesProvider.GetSeries(episodeFile.SeriesId);
|
var series = _seriesProvider.GetSeries(episodeFile.SeriesId);
|
||||||
var episodes = _episodeProvider.GetEpisodesByFileId(episodeFile.EpisodeFileId);
|
var episodes = _episodeProvider.GetEpisodesByFileId(episodeFile.EpisodeFileId);
|
||||||
string newFileName = _mediaFileProvider.GetNewFilename(episodes, series.Title, episodeFile.Quality);
|
string newFileName = _mediaFileProvider.GetNewFilename(episodes, series.Title, episodeFile.Quality, episodeFile.Proper);
|
||||||
var newFile = _mediaFileProvider.CalculateFilePath(series, episodes.First().SeasonNumber, newFileName, Path.GetExtension(episodeFile.Path));
|
var newFile = _mediaFileProvider.CalculateFilePath(series, episodes.First().SeasonNumber, newFileName, Path.GetExtension(episodeFile.Path));
|
||||||
|
|
||||||
//Only rename if existing and new filenames don't match
|
//Only rename if existing and new filenames don't match
|
||||||
|
|
|
@ -137,7 +137,7 @@ namespace NzbDrone.Core.Providers
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public virtual string GetNewFilename(IList<Episode> episodes, string seriesTitle, QualityTypes quality)
|
public virtual string GetNewFilename(IList<Episode> episodes, string seriesTitle, QualityTypes quality, bool proper)
|
||||||
{
|
{
|
||||||
var separatorStyle = EpisodeSortingHelper.GetSeparatorStyle(_configProvider.SortingSeparatorStyle);
|
var separatorStyle = EpisodeSortingHelper.GetSeparatorStyle(_configProvider.SortingSeparatorStyle);
|
||||||
var numberStyle = EpisodeSortingHelper.GetNumberStyle(_configProvider.SortingNumberStyle);
|
var numberStyle = EpisodeSortingHelper.GetNumberStyle(_configProvider.SortingNumberStyle);
|
||||||
|
@ -186,8 +186,13 @@ namespace NzbDrone.Core.Providers
|
||||||
}
|
}
|
||||||
|
|
||||||
if (_configProvider.SortingAppendQuality)
|
if (_configProvider.SortingAppendQuality)
|
||||||
|
{
|
||||||
result += String.Format(" [{0}]", quality);
|
result += String.Format(" [{0}]", quality);
|
||||||
|
|
||||||
|
if (proper)
|
||||||
|
result += " [Proper]";
|
||||||
|
}
|
||||||
|
|
||||||
if (_configProvider.SortingReplaceSpaces)
|
if (_configProvider.SortingReplaceSpaces)
|
||||||
result = result.Replace(' ', '.');
|
result = result.Replace(' ', '.');
|
||||||
|
|
||||||
|
|
|
@ -37,7 +37,7 @@ namespace NzbDrone.Core.Providers
|
||||||
w =>
|
w =>
|
||||||
w.First().EpisodeFile.Path !=
|
w.First().EpisodeFile.Path !=
|
||||||
_mediaFileProvider.GetNewFilename(w.Select(e => e).ToList(), w.First().Series.Title,
|
_mediaFileProvider.GetNewFilename(w.Select(e => e).ToList(), w.First().Series.Title,
|
||||||
w.First().EpisodeFile.Quality)).Skip(Math.Max(pageSize * (pageNumber - 1), 0)).Take(pageSize);
|
w.First().EpisodeFile.Quality, w.First().EpisodeFile.Proper)).Skip(Math.Max(pageSize * (pageNumber - 1), 0)).Take(pageSize);
|
||||||
|
|
||||||
//Process the episodes
|
//Process the episodes
|
||||||
misnamedFilesSelect.AsParallel().ForAll(f =>
|
misnamedFilesSelect.AsParallel().ForAll(f =>
|
||||||
|
@ -46,7 +46,7 @@ namespace NzbDrone.Core.Providers
|
||||||
var firstEpisode = episodes[0];
|
var firstEpisode = episodes[0];
|
||||||
var properName = _mediaFileProvider.GetNewFilename(episodes,
|
var properName = _mediaFileProvider.GetNewFilename(episodes,
|
||||||
firstEpisode.Series.Title,
|
firstEpisode.Series.Title,
|
||||||
firstEpisode.EpisodeFile.Quality);
|
firstEpisode.EpisodeFile.Quality, firstEpisode.EpisodeFile.Proper);
|
||||||
|
|
||||||
var currentName = Path.GetFileNameWithoutExtension(firstEpisode.EpisodeFile.Path);
|
var currentName = Path.GetFileNameWithoutExtension(firstEpisode.EpisodeFile.Path);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue