Rename Source to QualitySource

pull/9075/head
Qstick 1 year ago
parent 3cbdba51e9
commit bd3fad9636

@ -28,12 +28,12 @@ namespace NzbDrone.Core.Test.Datastore.Migration
[TestCase("R_576", "ResolutionSpecification", false, false, (int)Resolution.R576p)]
[TestCase("R_480", "ResolutionSpecification", false, false, (int)Resolution.R480p)]
[TestCase("R_2160", "ResolutionSpecification", false, false, (int)Resolution.R2160p)]
[TestCase("S_BLURAY", "SourceSpecification", false, false, (int)Source.BLURAY)]
[TestCase("s_tv", "SourceSpecification", false, false, (int)Source.TV)]
[TestCase("s_workPRINT", "SourceSpecification", false, false, (int)Source.WORKPRINT)]
[TestCase("s_Dvd", "SourceSpecification", false, false, (int)Source.DVD)]
[TestCase("S_WEBdL", "SourceSpecification", false, false, (int)Source.WEBDL)]
[TestCase("S_CAM", "SourceSpecification", false, false, (int)Source.CAM)]
[TestCase("S_BLURAY", "SourceSpecification", false, false, (int)QualitySource.BLURAY)]
[TestCase("s_tv", "SourceSpecification", false, false, (int)QualitySource.TV)]
[TestCase("s_workPRINT", "SourceSpecification", false, false, (int)QualitySource.WORKPRINT)]
[TestCase("s_Dvd", "SourceSpecification", false, false, (int)QualitySource.DVD)]
[TestCase("S_WEBdL", "SourceSpecification", false, false, (int)QualitySource.WEBDL)]
[TestCase("S_CAM", "SourceSpecification", false, false, (int)QualitySource.CAM)]
[TestCase("L_English", "LanguageSpecification", false, false, 1)]
[TestCase("L_Italian", "LanguageSpecification", false, false, 5)]
[TestCase("L_iTa", "LanguageSpecification", false, false, 5)]

@ -37,13 +37,13 @@ namespace NzbDrone.Core.Test.MediaFiles.MovieImport.Aggregation.Aggregators
_mediaInfoAugmenter.Setup(s => s.AugmentQuality(It.IsAny<LocalMovie>(), It.IsAny<DownloadClientItem>())).Returns(AugmentQualityResult.ResolutionOnly((int)Resolution.R1080p, Confidence.MediaInfo));
_fileExtensionAugmenter.Setup(s => s.AugmentQuality(It.IsAny<LocalMovie>(), It.IsAny<DownloadClientItem>()))
.Returns(new AugmentQualityResult(Source.TV, Confidence.Fallback, (int)Resolution.R720p, Confidence.Fallback, Modifier.NONE, Confidence.Fallback, new Revision(), Confidence.Fallback));
.Returns(new AugmentQualityResult(QualitySource.TV, Confidence.Fallback, (int)Resolution.R720p, Confidence.Fallback, Modifier.NONE, Confidence.Fallback, new Revision(), Confidence.Fallback));
_nameAugmenter.Setup(s => s.AugmentQuality(It.IsAny<LocalMovie>(), It.IsAny<DownloadClientItem>()))
.Returns(new AugmentQualityResult(Source.TV, Confidence.Default, 480, Confidence.Default, Modifier.NONE, Confidence.Fallback, new Revision(), Confidence.Default));
.Returns(new AugmentQualityResult(QualitySource.TV, Confidence.Default, 480, Confidence.Default, Modifier.NONE, Confidence.Fallback, new Revision(), Confidence.Default));
_releaseNameAugmenter.Setup(s => s.AugmentQuality(It.IsAny<LocalMovie>(), It.IsAny<DownloadClientItem>()))
.Returns(AugmentQualityResult.SourceOnly(Source.WEBDL, Confidence.MediaInfo));
.Returns(AugmentQualityResult.SourceOnly(QualitySource.WEBDL, Confidence.MediaInfo));
}
private void GivenAugmenters(params Mock<IAugmentQuality>[] mocks)
@ -130,7 +130,7 @@ namespace NzbDrone.Core.Test.MediaFiles.MovieImport.Aggregation.Aggregators
public void should_return_version_2_when_name_indicates_proper()
{
_nameAugmenter.Setup(s => s.AugmentQuality(It.IsAny<LocalMovie>(), It.IsAny<DownloadClientItem>()))
.Returns(new AugmentQualityResult(Source.TV, Confidence.Default, 480, Confidence.Default, Modifier.NONE, Confidence.Default, new Revision(2), Confidence.Tag));
.Returns(new AugmentQualityResult(QualitySource.TV, Confidence.Default, 480, Confidence.Default, Modifier.NONE, Confidence.Default, new Revision(2), Confidence.Tag));
GivenAugmenters(_nameAugmenter, _releaseNameAugmenter);
@ -144,7 +144,7 @@ namespace NzbDrone.Core.Test.MediaFiles.MovieImport.Aggregation.Aggregators
public void should_return_version_0_when_file_name_indicates_v0()
{
_nameAugmenter.Setup(s => s.AugmentQuality(It.IsAny<LocalMovie>(), It.IsAny<DownloadClientItem>()))
.Returns(new AugmentQualityResult(Source.TV, Confidence.Default, 480, Confidence.Default, Modifier.NONE, Confidence.Default, new Revision(0), Confidence.Tag));
.Returns(new AugmentQualityResult(QualitySource.TV, Confidence.Default, 480, Confidence.Default, Modifier.NONE, Confidence.Default, new Revision(0), Confidence.Tag));
GivenAugmenters(_nameAugmenter, _releaseNameAugmenter);
@ -158,10 +158,10 @@ namespace NzbDrone.Core.Test.MediaFiles.MovieImport.Aggregation.Aggregators
public void should_return_version_2_when_file_name_indicates_v0_and_release_name_indicates_v2()
{
_nameAugmenter.Setup(s => s.AugmentQuality(It.IsAny<LocalMovie>(), It.IsAny<DownloadClientItem>()))
.Returns(new AugmentQualityResult(Source.TV, Confidence.Default, 480, Confidence.Default, Modifier.NONE, Confidence.Default, new Revision(0), Confidence.Tag));
.Returns(new AugmentQualityResult(QualitySource.TV, Confidence.Default, 480, Confidence.Default, Modifier.NONE, Confidence.Default, new Revision(0), Confidence.Tag));
_releaseNameAugmenter.Setup(s => s.AugmentQuality(It.IsAny<LocalMovie>(), It.IsAny<DownloadClientItem>()))
.Returns(new AugmentQualityResult(Source.TV, Confidence.Default, 480, Confidence.Default, Modifier.NONE, Confidence.Default, new Revision(2), Confidence.Tag));
.Returns(new AugmentQualityResult(QualitySource.TV, Confidence.Default, 480, Confidence.Default, Modifier.NONE, Confidence.Default, new Revision(2), Confidence.Tag));
GivenAugmenters(_nameAugmenter, _releaseNameAugmenter);

@ -69,7 +69,7 @@ namespace NzbDrone.Core.Test.MediaFiles.MovieImport.Aggregation.Aggregators.Augm
result.Should().NotBe(null);
result.Resolution.Should().Be((int)expectedResolution);
result.Source.Should().Be(Source.UNKNOWN);
result.Source.Should().Be(QualitySource.UNKNOWN);
}
[Test]
@ -89,7 +89,7 @@ namespace NzbDrone.Core.Test.MediaFiles.MovieImport.Aggregation.Aggregators.Augm
result.Should().NotBe(null);
result.Resolution.Should().Be(1080);
result.Source.Should().Be(Source.WEBDL);
result.Source.Should().Be(QualitySource.WEBDL);
}
[Test]
@ -109,7 +109,7 @@ namespace NzbDrone.Core.Test.MediaFiles.MovieImport.Aggregation.Aggregators.Augm
result.Should().NotBe(null);
result.Resolution.Should().Be(1080);
result.Source.Should().Be(Source.UNKNOWN);
result.Source.Should().Be(QualitySource.UNKNOWN);
}
}
}

@ -55,10 +55,10 @@ namespace NzbDrone.Core.Test.MediaFiles.MovieImport.Aggregation.Aggregators.Augm
Subject.AugmentQuality(_localMovie, _downloadClientItem).Should().BeNull();
}
[TestCase("Series.Title.S01E01.1080p.WEB.x264", Source.WEBDL, Confidence.Tag, 1080, Confidence.Tag)]
[TestCase("Series.Title.S01E01.WEB.x264", Source.WEBDL, Confidence.Tag, 480, Confidence.Fallback)]
[TestCase("Series.Title.S01E01.720p.x264", Source.TV, Confidence.Fallback, 720, Confidence.Tag)]
public void should_return_augmented_quality(string title, Source source, Confidence sourceConfidence, int resolution, Confidence resolutionConfidence)
[TestCase("Series.Title.S01E01.1080p.WEB.x264", QualitySource.WEBDL, Confidence.Tag, 1080, Confidence.Tag)]
[TestCase("Series.Title.S01E01.WEB.x264", QualitySource.WEBDL, Confidence.Tag, 480, Confidence.Fallback)]
[TestCase("Series.Title.S01E01.720p.x264", QualitySource.TV, Confidence.Fallback, 720, Confidence.Tag)]
public void should_return_augmented_quality(string title, QualitySource source, Confidence sourceConfidence, int resolution, Confidence resolutionConfidence)
{
Mocker.GetMock<IDownloadHistoryService>()
.Setup(s => s.GetLatestGrab(It.IsAny<string>()))

@ -19,26 +19,26 @@ namespace NzbDrone.Core.Test.ParserTests
// public static object[] SelfQualityParserCases = QualityDefinition.DefaultQualityDefinitions.ToArray();
public static object[] OtherSourceQualityParserCases =
{
new object[] { "SD TV", Source.TV, Resolution.R480p, Modifier.NONE },
new object[] { "SD DVD", Source.DVD, Resolution.Unknown, Modifier.NONE },
new object[] { "480p WEB-DL", Source.WEBDL, Resolution.R480p, Modifier.NONE },
new object[] { "HD TV", Source.TV, Resolution.R720p, Modifier.NONE },
new object[] { "1080p HD TV", Source.TV, Resolution.R1080p, Modifier.NONE },
new object[] { "2160p HD TV", Source.TV, Resolution.R2160p, Modifier.NONE },
new object[] { "720p WEB-DL", Source.WEBDL, Resolution.R720p, Modifier.NONE },
new object[] { "1080p WEB-DL", Source.WEBDL, Resolution.R1080p, Modifier.NONE },
new object[] { "2160p WEB-DL", Source.WEBDL, Resolution.R2160p, Modifier.NONE },
new object[] { "720p BluRay", Source.BLURAY, Resolution.R720p, Modifier.NONE },
new object[] { "1080p BluRay", Source.BLURAY, Resolution.R1080p, Modifier.NONE },
new object[] { "2160p BluRay", Source.BLURAY, Resolution.R2160p, Modifier.NONE },
new object[] { "1080p Remux", Source.BLURAY, Resolution.R1080p, Modifier.REMUX },
new object[] { "2160p Remux", Source.BLURAY, Resolution.R2160p, Modifier.REMUX },
new object[] { "SD TV", QualitySource.TV, Resolution.R480p, Modifier.NONE },
new object[] { "SD DVD", QualitySource.DVD, Resolution.Unknown, Modifier.NONE },
new object[] { "480p WEB-DL", QualitySource.WEBDL, Resolution.R480p, Modifier.NONE },
new object[] { "HD TV", QualitySource.TV, Resolution.R720p, Modifier.NONE },
new object[] { "1080p HD TV", QualitySource.TV, Resolution.R1080p, Modifier.NONE },
new object[] { "2160p HD TV", QualitySource.TV, Resolution.R2160p, Modifier.NONE },
new object[] { "720p WEB-DL", QualitySource.WEBDL, Resolution.R720p, Modifier.NONE },
new object[] { "1080p WEB-DL", QualitySource.WEBDL, Resolution.R1080p, Modifier.NONE },
new object[] { "2160p WEB-DL", QualitySource.WEBDL, Resolution.R2160p, Modifier.NONE },
new object[] { "720p BluRay", QualitySource.BLURAY, Resolution.R720p, Modifier.NONE },
new object[] { "1080p BluRay", QualitySource.BLURAY, Resolution.R1080p, Modifier.NONE },
new object[] { "2160p BluRay", QualitySource.BLURAY, Resolution.R2160p, Modifier.NONE },
new object[] { "1080p Remux", QualitySource.BLURAY, Resolution.R1080p, Modifier.REMUX },
new object[] { "2160p Remux", QualitySource.BLURAY, Resolution.R2160p, Modifier.REMUX },
};
[TestCase("Movie.Title.3.2017.720p.TSRip.x264.AAC-Ozlem", false)]
public void should_parse_ts(string title, bool proper)
{
ParseAndVerifyQuality(title, Source.TELESYNC, proper, Resolution.R720p);
ParseAndVerifyQuality(title, QualitySource.TELESYNC, proper, Resolution.R720p);
}
[TestCase("Movie Name 2018 NEW PROPER 720p HD-CAM X264 HQ-CPG", true)]
@ -47,7 +47,7 @@ namespace NzbDrone.Core.Test.ParserTests
[TestCase("Movie Name (2022) New HDCAMRip 1080p [Love Rulz]", false)]
public void should_parse_cam(string title, bool proper)
{
ParseAndVerifyQuality(title, Source.CAM, proper, Resolution.Unknown);
ParseAndVerifyQuality(title, QualitySource.CAM, proper, Resolution.Unknown);
}
[TestCase("S07E23 .avi ", false)]
@ -68,7 +68,7 @@ namespace NzbDrone.Core.Test.ParserTests
[TestCase("Movie Name.S03.TVRip.XviD-NOGRP", false)]
public void should_parse_sdtv_quality(string title, bool proper)
{
ParseAndVerifyQuality(title, Source.TV, proper, Resolution.R480p);
ParseAndVerifyQuality(title, QualitySource.TV, proper, Resolution.R480p);
}
[TestCase("Some.Movie.S03E06.DVDRip.XviD-WiDE", false)]
@ -79,7 +79,7 @@ namespace NzbDrone.Core.Test.ParserTests
[TestCase("SomeMovie.2018.DVDRip.ts", false)]
public void should_parse_dvd_quality(string title, bool proper)
{
ParseAndVerifyQuality(title, Source.DVD, proper, Resolution.Unknown);
ParseAndVerifyQuality(title, QualitySource.DVD, proper, Resolution.Unknown);
}
[TestCase("Some.Movie.Magic.Rainbow.2007.DVD5.NTSC", false)]
@ -91,7 +91,7 @@ namespace NzbDrone.Core.Test.ParserTests
[TestCase("Some.Movie.2005.PAL.MDVDR-SOMegRoUP", false)]
public void should_parse_dvdr_quality(string title, bool proper)
{
ParseAndVerifyQuality(title, Source.DVD, proper, Resolution.R480p, Modifier.REMUX);
ParseAndVerifyQuality(title, QualitySource.DVD, proper, Resolution.R480p, Modifier.REMUX);
}
[TestCase("Movie.Name.S01E10.The.Leviathan.480p.WEB-DL.x264-mSD", false)]
@ -103,13 +103,13 @@ namespace NzbDrone.Core.Test.ParserTests
[TestCase("[Erai-raws] Movie Title [540p][Multiple Subtitle].mkv", false)]
public void should_parse_webdl480p_quality(string title, bool proper)
{
ParseAndVerifyQuality(title, Source.WEBDL, proper, Resolution.R480p);
ParseAndVerifyQuality(title, QualitySource.WEBDL, proper, Resolution.R480p);
}
[TestCase("Movie.Name.1x04.ITA.WEBMux.x264-NovaRip", false)]
public void should_parse_webrip480p_quality(string title, bool proper)
{
ParseAndVerifyQuality(title, Source.WEBRIP, proper, Resolution.R480p);
ParseAndVerifyQuality(title, QualitySource.WEBRIP, proper, Resolution.R480p);
}
[TestCase("Movie.Name (BD)(640x480(RAW) (BATCH 1) (1-13)", false)]
@ -118,7 +118,7 @@ namespace NzbDrone.Core.Test.ParserTests
[TestCase("Movie.Name.2011.LIMITED.BluRay.360p.H264-20-40", false)]
public void should_parse_bluray480p_quality(string title, bool proper)
{
ParseAndVerifyQuality(title, Source.BLURAY, proper, Resolution.R480p);
ParseAndVerifyQuality(title, QualitySource.BLURAY, proper, Resolution.R480p);
}
[TestCase("Movie Name - S01E01 - Title [HDTV]", false)]
@ -134,7 +134,7 @@ namespace NzbDrone.Core.Test.ParserTests
[TestCase("Movie.Name.The.Lost.Pilots.Movie.HR.WS.PDTV.x264-DHD-Remux.mkv", false)]
public void should_parse_hdtv720p_quality(string title, bool proper)
{
ParseAndVerifyQuality(title, Source.TV, proper, Resolution.R720p);
ParseAndVerifyQuality(title, QualitySource.TV, proper, Resolution.R720p);
}
[TestCase("Movie Name.S07E01.ARE.YOU.1080P.HDTV.X264-QCF", false)]
@ -144,7 +144,7 @@ namespace NzbDrone.Core.Test.ParserTests
[TestCase("Movie.Name.2020.1080i.HDTV.DD5.1.H.264-NOGRP", false)]
public void should_parse_hdtv1080p_quality(string title, bool proper)
{
ParseAndVerifyQuality(title, Source.TV, proper, Resolution.R1080p);
ParseAndVerifyQuality(title, QualitySource.TV, proper, Resolution.R1080p);
}
[TestCase("Movie Name S01E04 Mexicos Death Train 720p WEB DL", false)]
@ -167,14 +167,14 @@ namespace NzbDrone.Core.Test.ParserTests
[TestCase("Movie.Title.2021.DP.WEB.720p.DDP.5.1.H.264.PLEX", false)]
public void should_parse_webdl720p_quality(string title, bool proper)
{
ParseAndVerifyQuality(title, Source.WEBDL, proper, Resolution.R720p);
ParseAndVerifyQuality(title, QualitySource.WEBDL, proper, Resolution.R720p);
}
[TestCase("Movie.Title.ITA.720p.WEBMux.x264-NovaRip", false)]
[TestCase("Movie Name.S04E01.720p.WEBRip.AAC2.0.x264-NFRiP", false)]
public void should_parse_webrip720p_quality(string title, bool proper)
{
ParseAndVerifyQuality(title, Source.WEBRIP, proper, Resolution.R720p);
ParseAndVerifyQuality(title, QualitySource.WEBRIP, proper, Resolution.R720p);
}
[TestCase("Movie Name S09E03 1080p WEB DL DD5 1 H264 NFHD", false)]
@ -206,7 +206,7 @@ namespace NzbDrone.Core.Test.ParserTests
[TestCase("Movie Title 2018 (WEB 1080p HEVC Opus) [Netaro]", false)]
public void should_parse_webdl1080p_quality(string title, bool proper)
{
ParseAndVerifyQuality(title, Source.WEBDL, proper, Resolution.R1080p);
ParseAndVerifyQuality(title, QualitySource.WEBDL, proper, Resolution.R1080p);
}
[TestCase("Movie.Name.S04E01.iNTERNAL.1080p.WEBRip.x264-QRUS", false)]
@ -215,7 +215,7 @@ namespace NzbDrone.Core.Test.ParserTests
[TestCase("Movie.Title.2019.1080p.AMZN.WEB-Rip.DDP.5.1.HEVC", false)]
public void should_parse_webrip1080p_quality(string title, bool proper)
{
ParseAndVerifyQuality(title, Source.WEBRIP, proper, Resolution.R1080p);
ParseAndVerifyQuality(title, QualitySource.WEBRIP, proper, Resolution.R1080p);
}
[TestCase("Movie.Name.2016.03.14.2160p.WEB.x264-spamTV", false)]
@ -226,7 +226,7 @@ namespace NzbDrone.Core.Test.ParserTests
[TestCase("The.Movie.2022.NORDiC.2160p.DV.HDR.WEB.H.265-NiDHUG", false)]
public void should_parse_webdl2160p_quality(string title, bool proper)
{
ParseAndVerifyQuality(title, Source.WEBDL, proper, Resolution.R2160p);
ParseAndVerifyQuality(title, QualitySource.WEBDL, proper, Resolution.R2160p);
}
[TestCase("Movie Name S01E01.2160P AMZN WEBRIP DD2.0 HI10P X264-TROLLUHD", false)]
@ -235,7 +235,7 @@ namespace NzbDrone.Core.Test.ParserTests
[TestCase("Movie Name S01E01 2160p AMZN WEBRip DD2.0 Hi10P x264-TrollUHD", false)]
public void should_parse_webrip2160p_quality(string title, bool proper)
{
ParseAndVerifyQuality(title, Source.WEBRIP, proper, Resolution.R2160p);
ParseAndVerifyQuality(title, QualitySource.WEBRIP, proper, Resolution.R2160p);
}
[TestCase("Movie.Name.S03E01-06.DUAL.Bluray.AC3.-HELLYWOOD.avi", false)]
@ -258,7 +258,7 @@ namespace NzbDrone.Core.Test.ParserTests
[TestCase("Movie.Hunter.2018.720p.Blu-ray.Remux.AVC.FLAC.2.0-SiCFoI", false)]
public void should_parse_bluray720p_quality(string title, bool proper)
{
ParseAndVerifyQuality(title, Source.BLURAY, proper, Resolution.R720p);
ParseAndVerifyQuality(title, QualitySource.BLURAY, proper, Resolution.R720p);
}
[TestCase("Movie Title - S01E03 - Come Fly With Me - 1080p BluRay.mkv", false)]
@ -281,7 +281,7 @@ namespace NzbDrone.Core.Test.ParserTests
[TestCase("Movie.Title.2012.German.DL.1080p.UHD2BD.x264-QfG", false)]
public void should_parse_bluray1080p_quality(string title, bool proper)
{
ParseAndVerifyQuality(title, Source.BLURAY, proper, Resolution.R1080p);
ParseAndVerifyQuality(title, QualitySource.BLURAY, proper, Resolution.R1080p);
}
[TestCase("Movie.S01E02.Chained.Heat.[Bluray2160p].mkv", false)]
@ -299,20 +299,20 @@ namespace NzbDrone.Core.Test.ParserTests
[TestCase("Movie.Title.2014.2160p.BDRip.AAC.7.1.HDR10.x265.10bit-Markll", false)]
public void should_parse_bluray2160p_quality(string title, bool proper)
{
ParseAndVerifyQuality(title, Source.BLURAY, proper, Resolution.R2160p);
ParseAndVerifyQuality(title, QualitySource.BLURAY, proper, Resolution.R2160p);
}
[TestCase("Movie.Name.2004.576p.BDRip.x264-HANDJOB")]
[TestCase("Movie.Title.S01E05.576p.BluRay.DD5.1.x264-HiSD")]
public void should_parse_bluray576p_quality(string title)
{
ParseAndVerifyQuality(title, Source.BLURAY, false, Resolution.R576p);
ParseAndVerifyQuality(title, QualitySource.BLURAY, false, Resolution.R576p);
}
[TestCase("Movie.1993.720p.BluRay.REMUX.AVC.FLAC.2.0-BLURANiUM")]
public void should_parse_remux720p_as_bluray720p_quality(string title)
{
ParseAndVerifyQuality(title, Source.BLURAY, false, Resolution.R720p);
ParseAndVerifyQuality(title, QualitySource.BLURAY, false, Resolution.R720p);
}
[TestCase("Movie.Title.2016.REMUX.1080p.BluRay.AVC.DTS-HD.MA.5.1-iFT")]
@ -326,7 +326,7 @@ namespace NzbDrone.Core.Test.ParserTests
[TestCase("This.Wonderful.Movie.1991.German.ML.1080p.BluRay.AVC-GeRMaNSCeNEGRoUP")]
public void should_parse_remux1080p_quality(string title)
{
ParseAndVerifyQuality(title, Source.BLURAY, false, Resolution.R1080p, Modifier.REMUX);
ParseAndVerifyQuality(title, QualitySource.BLURAY, false, Resolution.R1080p, Modifier.REMUX);
}
[TestCase("Movie.Title.2016.REMUX.2160p.BluRay.AVC.DTS-HD.MA.5.1-iFT")]
@ -339,7 +339,7 @@ namespace NzbDrone.Core.Test.ParserTests
[TestCase("This.Wonderful.Movie.1991.German.ML.2160p.BluRay.HEVC-GeRMaNSCeNEGRoUP")]
public void should_parse_remux2160p_quality(string title)
{
ParseAndVerifyQuality(title, Source.BLURAY, false, Resolution.R2160p, Modifier.REMUX);
ParseAndVerifyQuality(title, QualitySource.BLURAY, false, Resolution.R2160p, Modifier.REMUX);
}
[TestCase("Movie.Title.2013.BDISO")]
@ -366,14 +366,14 @@ namespace NzbDrone.Core.Test.ParserTests
[TestCase("Movie.2009.Blu.ray.AVC.DTS.HD.MA.5.1")]
public void should_parse_brdisk_1080p_quality(string title)
{
ParseAndVerifyQuality(title, Source.BLURAY, false, Resolution.R1080p, Modifier.BRDISK);
ParseAndVerifyQuality(title, QualitySource.BLURAY, false, Resolution.R1080p, Modifier.BRDISK);
}
[TestCase("Movie.Title.2015.Open.Matte.1080i.HDTV.DD5.1.MPEG2", false)]
[TestCase("Movie.Title.2009.1080i.HDTV.AAC2.0.MPEG2-PepelefuF", false)]
public void should_parse_raw_quality(string title, bool proper)
{
ParseAndVerifyQuality(title, Source.TV, proper, Resolution.R1080p, Modifier.RAWHD);
ParseAndVerifyQuality(title, QualitySource.TV, proper, Resolution.R1080p, Modifier.RAWHD);
}
[TestCase("Some.Movie.S02E15", false)]
@ -382,7 +382,7 @@ namespace NzbDrone.Core.Test.ParserTests
[TestCase("Movie.Title.S01E01.The.Web.MT-dd", false)]
public void quality_parse(string title, bool proper)
{
ParseAndVerifyQuality(title, Source.UNKNOWN, proper, Resolution.Unknown);
ParseAndVerifyQuality(title, QualitySource.UNKNOWN, proper, Resolution.Unknown);
}
/*[Test, TestCaseSource("SelfQualityParserCases")]
@ -401,7 +401,7 @@ namespace NzbDrone.Core.Test.ParserTests
[Test]
[TestCaseSource("OtherSourceQualityParserCases")]
public void should_parse_quality_from_other_source(string qualityString, Source source, Resolution resolution, Modifier modifier = Modifier.NONE)
public void should_parse_quality_from_other_source(string qualityString, QualitySource source, Resolution resolution, Modifier modifier = Modifier.NONE)
{
foreach (var c in new char[] { '-', '.', ' ', '_' })
{
@ -486,7 +486,7 @@ namespace NzbDrone.Core.Test.ParserTests
result.Revision.IsRepack.Should().Be(isRepack);
}
private void ParseAndVerifyQuality(string title, Source source, bool proper, Resolution resolution, Modifier modifier = Modifier.NONE)
private void ParseAndVerifyQuality(string title, QualitySource source, bool proper, Resolution resolution, Modifier modifier = Modifier.NONE)
{
var result = QualityParser.ParseQuality(title);
if (resolution != Resolution.Unknown)

@ -7,56 +7,56 @@ namespace NzbDrone.Core.Test.Qualities
[TestFixture]
public class QualityFinderFixture
{
[TestCase(Source.CAM, 480, Modifier.NONE)]
[TestCase(Source.CAM, 1080, Modifier.NONE)]
[TestCase(Source.CAM, 0, Modifier.NONE)]
public void should_return_CAM(Source source, int resolution, Modifier modifier)
[TestCase(QualitySource.CAM, 480, Modifier.NONE)]
[TestCase(QualitySource.CAM, 1080, Modifier.NONE)]
[TestCase(QualitySource.CAM, 0, Modifier.NONE)]
public void should_return_CAM(QualitySource source, int resolution, Modifier modifier)
{
QualityFinder.FindBySourceAndResolution(source, resolution, modifier).Should().Be(Quality.CAM);
}
[TestCase(Source.CAM, 1080, Modifier.SCREENER)]
[TestCase(Source.CAM, 0, Modifier.SCREENER)]
public void should_return_Unknown(Source source, int resolution, Modifier modifier)
[TestCase(QualitySource.CAM, 1080, Modifier.SCREENER)]
[TestCase(QualitySource.CAM, 0, Modifier.SCREENER)]
public void should_return_Unknown(QualitySource source, int resolution, Modifier modifier)
{
QualityFinder.FindBySourceAndResolution(source, resolution, modifier).Should().Be(Quality.Unknown);
}
[TestCase(Source.DVD, 480, Modifier.REMUX)]
public void should_return_DVD_Remux(Source source, int resolution, Modifier modifier)
[TestCase(QualitySource.DVD, 480, Modifier.REMUX)]
public void should_return_DVD_Remux(QualitySource source, int resolution, Modifier modifier)
{
QualityFinder.FindBySourceAndResolution(source, resolution, modifier).Should().Be(Quality.DVDR);
}
[TestCase(Source.DVD, 480, Modifier.NONE)]
[TestCase(Source.DVD, 576, Modifier.NONE)]
public void should_return_DVD(Source source, int resolution, Modifier modifier)
[TestCase(QualitySource.DVD, 480, Modifier.NONE)]
[TestCase(QualitySource.DVD, 576, Modifier.NONE)]
public void should_return_DVD(QualitySource source, int resolution, Modifier modifier)
{
QualityFinder.FindBySourceAndResolution(source, resolution, modifier).Should().Be(Quality.DVD);
}
[TestCase(Source.TV, 480, Modifier.NONE)]
public void should_return_SDTV(Source source, int resolution, Modifier modifier)
[TestCase(QualitySource.TV, 480, Modifier.NONE)]
public void should_return_SDTV(QualitySource source, int resolution, Modifier modifier)
{
QualityFinder.FindBySourceAndResolution(source, resolution, modifier).Should().Be(Quality.SDTV);
}
[TestCase(Source.TV, 720, Modifier.NONE)]
[TestCase(Source.UNKNOWN, 720, Modifier.NONE)]
public void should_return_HDTV_720p(Source source, int resolution, Modifier modifier)
[TestCase(QualitySource.TV, 720, Modifier.NONE)]
[TestCase(QualitySource.UNKNOWN, 720, Modifier.NONE)]
public void should_return_HDTV_720p(QualitySource source, int resolution, Modifier modifier)
{
QualityFinder.FindBySourceAndResolution(source, resolution, modifier).Should().Be(Quality.HDTV720p);
}
[TestCase(Source.TV, 1080, Modifier.NONE)]
[TestCase(Source.UNKNOWN, 1080, Modifier.NONE)]
public void should_return_HDTV_1080p(Source source, int resolution, Modifier modifier)
[TestCase(QualitySource.TV, 1080, Modifier.NONE)]
[TestCase(QualitySource.UNKNOWN, 1080, Modifier.NONE)]
public void should_return_HDTV_1080p(QualitySource source, int resolution, Modifier modifier)
{
QualityFinder.FindBySourceAndResolution(source, resolution, modifier).Should().Be(Quality.HDTV1080p);
}
[TestCase(Source.BLURAY, 720, Modifier.NONE)]
public void should_return_Bluray720p(Source source, int resolution, Modifier modifier)
[TestCase(QualitySource.BLURAY, 720, Modifier.NONE)]
public void should_return_Bluray720p(QualitySource source, int resolution, Modifier modifier)
{
QualityFinder.FindBySourceAndResolution(source, resolution, modifier).Should().Be(Quality.Bluray720p);
}

@ -20,12 +20,12 @@ namespace NzbDrone.Core.CustomFormats
public override int Order => 5;
public override string ImplementationName => "Source";
[FieldDefinition(1, Label = "Source", Type = FieldType.Select, SelectOptions = typeof(Source))]
[FieldDefinition(1, Label = "Source", Type = FieldType.Select, SelectOptions = typeof(QualitySource))]
public int Value { get; set; }
protected override bool IsSatisfiedByWithoutNegate(CustomFormatInput input)
{
return (input.MovieInfo?.Quality?.Quality?.Source ?? (int)Source.UNKNOWN) == (Source)Value;
return (input.MovieInfo?.Quality?.Quality?.Source ?? (int)QualitySource.UNKNOWN) == (QualitySource)Value;
}
public override NzbDroneValidationResult Validate()

@ -133,28 +133,28 @@ namespace NzbDrone.Core.Datastore.Migration
}
}
private Source ParseSource(string value)
private QualitySource ParseSource(string value)
{
switch (value)
{
case "cam":
return Source.CAM;
return QualitySource.CAM;
case "telesync":
return Source.TELESYNC;
return QualitySource.TELESYNC;
case "telecine":
return Source.TELECINE;
return QualitySource.TELECINE;
case "workprint":
return Source.WORKPRINT;
return QualitySource.WORKPRINT;
case "dvd":
return Source.DVD;
return QualitySource.DVD;
case "tv":
return Source.TV;
return QualitySource.TV;
case "webdl":
return Source.WEBDL;
return QualitySource.WEBDL;
case "bluray":
return Source.BLURAY;
return QualitySource.BLURAY;
default:
return Source.UNKNOWN;
return QualitySource.UNKNOWN;
}
}

@ -22,7 +22,7 @@ namespace NzbDrone.Core.MediaFiles.MovieImport.Aggregation.Aggregators
public LocalMovie Aggregate(LocalMovie localMovie, DownloadClientItem downloadClientItem)
{
var source = Source.UNKNOWN;
var source = QualitySource.UNKNOWN;
var sourceConfidence = Confidence.Default;
var resolution = 0;
var resolutionConfidence = Confidence.Default;
@ -41,8 +41,8 @@ namespace NzbDrone.Core.MediaFiles.MovieImport.Aggregation.Aggregators
_logger.Trace("Considering Source {0} ({1}) Resolution {2} ({3}) Revision {4} from {5}", augmentedQuality.Source, augmentedQuality.SourceConfidence, augmentedQuality.Resolution, augmentedQuality.ResolutionConfidence, augmentedQuality.Revision, augmentQuality.Name);
if (source == Source.UNKNOWN ||
(augmentedQuality.SourceConfidence > sourceConfidence && augmentedQuality.Source != Source.UNKNOWN))
if (source == QualitySource.UNKNOWN ||
(augmentedQuality.SourceConfidence > sourceConfidence && augmentedQuality.Source != QualitySource.UNKNOWN))
{
source = augmentedQuality.Source;
sourceConfidence = augmentedQuality.SourceConfidence;

@ -28,7 +28,7 @@ namespace NzbDrone.Core.MediaFiles.MovieImport.Aggregation.Aggregators.Augmenter
var width = localMovie.MediaInfo.Width;
var height = localMovie.MediaInfo.Height;
var source = Source.UNKNOWN;
var source = QualitySource.UNKNOWN;
var sourceConfidence = Confidence.Default;
var title = localMovie.MediaInfo.Title;
@ -37,7 +37,7 @@ namespace NzbDrone.Core.MediaFiles.MovieImport.Aggregation.Aggregators.Augmenter
var parsedQuality = QualityParser.ParseQualityName(title.Trim());
// Only use the quality if it's not unknown and the source is from the name (which is MediaInfo's title in this case)
if (parsedQuality.Quality.Source != Source.UNKNOWN &&
if (parsedQuality.Quality.Source != QualitySource.UNKNOWN &&
parsedQuality.SourceDetectionSource == QualityDetectionSource.Name)
{
source = parsedQuality.Quality.Source;

@ -5,7 +5,7 @@ namespace NzbDrone.Core.MediaFiles.MovieImport.Aggregation.Aggregators.Augmenter
public class AugmentQualityResult
{
public string Name { get; set; }
public Source Source { get; set; }
public QualitySource Source { get; set; }
public Confidence SourceConfidence { get; set; }
public int Resolution { get; set; }
public Confidence ResolutionConfidence { get; set; }
@ -14,7 +14,7 @@ namespace NzbDrone.Core.MediaFiles.MovieImport.Aggregation.Aggregators.Augmenter
public Revision Revision { get; set; }
public Confidence RevisionConfidence { get; set; }
public AugmentQualityResult(Source source,
public AugmentQualityResult(QualitySource source,
Confidence sourceConfidence,
int resolution,
Confidence resolutionConfidence,
@ -33,22 +33,22 @@ namespace NzbDrone.Core.MediaFiles.MovieImport.Aggregation.Aggregators.Augmenter
RevisionConfidence = revisionConfidence;
}
public static AugmentQualityResult SourceOnly(Source source, Confidence sourceConfidence)
public static AugmentQualityResult SourceOnly(QualitySource source, Confidence sourceConfidence)
{
return new AugmentQualityResult(source, sourceConfidence, 0, Confidence.Default, Modifier.NONE, Confidence.Default, null, Confidence.Default);
}
public static AugmentQualityResult ResolutionOnly(int resolution, Confidence resolutionConfidence)
{
return new AugmentQualityResult(Source.UNKNOWN, Confidence.Default, resolution, resolutionConfidence, Modifier.NONE, Confidence.Default, null, Confidence.Default);
return new AugmentQualityResult(QualitySource.UNKNOWN, Confidence.Default, resolution, resolutionConfidence, Modifier.NONE, Confidence.Default, null, Confidence.Default);
}
public static AugmentQualityResult ModifierOnly(Modifier modifier, Confidence modifierConfidence)
{
return new AugmentQualityResult(Source.UNKNOWN, Confidence.Default, 0, Confidence.Default, modifier, modifierConfidence, null, Confidence.Default);
return new AugmentQualityResult(QualitySource.UNKNOWN, Confidence.Default, 0, Confidence.Default, modifier, modifierConfidence, null, Confidence.Default);
}
public static AugmentQualityResult SourceAndResolutionOnly(Source source, Confidence sourceConfidence, int resolution, Confidence resolutionConfidence)
public static AugmentQualityResult SourceAndResolutionOnly(QualitySource source, Confidence sourceConfidence, int resolution, Confidence resolutionConfidence)
{
return new AugmentQualityResult(source, sourceConfidence, resolution, resolutionConfidence, Modifier.NONE, Confidence.Default, null, Confidence.Default);
}

@ -198,25 +198,25 @@ namespace NzbDrone.Core.Notifications.Trakt
_proxy.RemoveFromCollection(payload, settings.AccessToken);
}
private string MapMediaType(Source source)
private string MapMediaType(QualitySource source)
{
var traktSource = string.Empty;
switch (source)
{
case Source.BLURAY:
case QualitySource.BLURAY:
traktSource = "bluray";
break;
case Source.WEBDL:
case QualitySource.WEBDL:
traktSource = "digital";
break;
case Source.WEBRIP:
case QualitySource.WEBRIP:
traktSource = "digital";
break;
case Source.DVD:
case QualitySource.DVD:
traktSource = "dvd";
break;
case Source.TV:
case QualitySource.TV:
traktSource = "dvd";
break;
}

@ -459,13 +459,13 @@ namespace NzbDrone.Core.Parser
if (resolution != Resolution.Unknown)
{
var source = Source.UNKNOWN;
var source = QualitySource.UNKNOWN;
var modifier = Modifier.NONE;
if (remuxMatch)
{
result.SourceDetectionSource = QualityDetectionSource.Name;
source = Source.BLURAY;
source = QualitySource.BLURAY;
modifier = Modifier.REMUX;
}
else
@ -490,7 +490,7 @@ namespace NzbDrone.Core.Parser
{
result.ResolutionDetectionSource = QualityDetectionSource.Name;
result.Quality = source == Source.UNKNOWN
result.Quality = source == QualitySource.UNKNOWN
? Quality.HDTV2160p
: QualityFinder.FindBySourceAndResolution(source, 2160, modifier);
@ -501,7 +501,7 @@ namespace NzbDrone.Core.Parser
{
result.ResolutionDetectionSource = QualityDetectionSource.Name;
result.Quality = source == Source.UNKNOWN
result.Quality = source == QualitySource.UNKNOWN
? Quality.HDTV1080p
: QualityFinder.FindBySourceAndResolution(source, 1080, modifier);
@ -512,7 +512,7 @@ namespace NzbDrone.Core.Parser
{
result.ResolutionDetectionSource = QualityDetectionSource.Name;
result.Quality = source == Source.UNKNOWN
result.Quality = source == QualitySource.UNKNOWN
? Quality.HDTV720p
: QualityFinder.FindBySourceAndResolution(source, 720, modifier);
@ -524,7 +524,7 @@ namespace NzbDrone.Core.Parser
{
result.ResolutionDetectionSource = QualityDetectionSource.Name;
result.Quality = source == Source.UNKNOWN
result.Quality = source == QualitySource.UNKNOWN
? Quality.SDTV
: QualityFinder.FindBySourceAndResolution(source, 480, modifier);

@ -9,7 +9,7 @@ namespace NzbDrone.Core.Qualities
{
public int Id { get; set; }
public string Name { get; set; }
public Source Source { get; set; }
public QualitySource Source { get; set; }
public int Resolution { get; set; }
public Modifier Modifier { get; set; }
@ -17,7 +17,7 @@ namespace NzbDrone.Core.Qualities
{
}
private Quality(int id, string name, Source source, int resolution, Modifier modifier = Modifier.NONE)
private Quality(int id, string name, QualitySource source, int resolution, Modifier modifier = Modifier.NONE)
{
Id = id;
Name = name;
@ -77,51 +77,51 @@ namespace NzbDrone.Core.Qualities
}
// Unable to determine
public static Quality Unknown => new Quality(0, "Unknown", Source.UNKNOWN, 0);
public static Quality Unknown => new Quality(0, "Unknown", QualitySource.UNKNOWN, 0);
// Pre-release
public static Quality WORKPRINT => new Quality(24, "WORKPRINT", Source.WORKPRINT, 0); // new
public static Quality CAM => new Quality(25, "CAM", Source.CAM, 0); // new
public static Quality TELESYNC => new Quality(26, "TELESYNC", Source.TELESYNC, 0); // new
public static Quality TELECINE => new Quality(27, "TELECINE", Source.TELECINE, 0); // new
public static Quality DVDSCR => new Quality(28, "DVDSCR", Source.DVD, 480, Modifier.SCREENER); // new
public static Quality REGIONAL => new Quality(29, "REGIONAL", Source.DVD, 480, Modifier.REGIONAL); // new
public static Quality WORKPRINT => new Quality(24, "WORKPRINT", QualitySource.WORKPRINT, 0); // new
public static Quality CAM => new Quality(25, "CAM", QualitySource.CAM, 0); // new
public static Quality TELESYNC => new Quality(26, "TELESYNC", QualitySource.TELESYNC, 0); // new
public static Quality TELECINE => new Quality(27, "TELECINE", QualitySource.TELECINE, 0); // new
public static Quality DVDSCR => new Quality(28, "DVDSCR", QualitySource.DVD, 480, Modifier.SCREENER); // new
public static Quality REGIONAL => new Quality(29, "REGIONAL", QualitySource.DVD, 480, Modifier.REGIONAL); // new
// SD
public static Quality SDTV => new Quality(1, "SDTV", Source.TV, 480);
public static Quality DVD => new Quality(2, "DVD", Source.DVD, 0);
public static Quality DVDR => new Quality(23, "DVD-R", Source.DVD, 480, Modifier.REMUX); // new
public static Quality SDTV => new Quality(1, "SDTV", QualitySource.TV, 480);
public static Quality DVD => new Quality(2, "DVD", QualitySource.DVD, 0);
public static Quality DVDR => new Quality(23, "DVD-R", QualitySource.DVD, 480, Modifier.REMUX); // new
// HDTV
public static Quality HDTV720p => new Quality(4, "HDTV-720p", Source.TV, 720);
public static Quality HDTV1080p => new Quality(9, "HDTV-1080p", Source.TV, 1080);
public static Quality HDTV2160p => new Quality(16, "HDTV-2160p", Source.TV, 2160);
public static Quality HDTV720p => new Quality(4, "HDTV-720p", QualitySource.TV, 720);
public static Quality HDTV1080p => new Quality(9, "HDTV-1080p", QualitySource.TV, 1080);
public static Quality HDTV2160p => new Quality(16, "HDTV-2160p", QualitySource.TV, 2160);
// Web-DL
public static Quality WEBDL480p => new Quality(8, "WEBDL-480p", Source.WEBDL, 480);
public static Quality WEBDL720p => new Quality(5, "WEBDL-720p", Source.WEBDL, 720);
public static Quality WEBDL1080p => new Quality(3, "WEBDL-1080p", Source.WEBDL, 1080);
public static Quality WEBDL2160p => new Quality(18, "WEBDL-2160p", Source.WEBDL, 2160);
public static Quality WEBDL480p => new Quality(8, "WEBDL-480p", QualitySource.WEBDL, 480);
public static Quality WEBDL720p => new Quality(5, "WEBDL-720p", QualitySource.WEBDL, 720);
public static Quality WEBDL1080p => new Quality(3, "WEBDL-1080p", QualitySource.WEBDL, 1080);
public static Quality WEBDL2160p => new Quality(18, "WEBDL-2160p", QualitySource.WEBDL, 2160);
// Bluray
public static Quality Bluray480p => new Quality(20, "Bluray-480p", Source.BLURAY, 480); // new
public static Quality Bluray576p => new Quality(21, "Bluray-576p", Source.BLURAY, 576); // new
public static Quality Bluray720p => new Quality(6, "Bluray-720p", Source.BLURAY, 720);
public static Quality Bluray1080p => new Quality(7, "Bluray-1080p", Source.BLURAY, 1080);
public static Quality Bluray2160p => new Quality(19, "Bluray-2160p", Source.BLURAY, 2160);
public static Quality Bluray480p => new Quality(20, "Bluray-480p", QualitySource.BLURAY, 480); // new
public static Quality Bluray576p => new Quality(21, "Bluray-576p", QualitySource.BLURAY, 576); // new
public static Quality Bluray720p => new Quality(6, "Bluray-720p", QualitySource.BLURAY, 720);
public static Quality Bluray1080p => new Quality(7, "Bluray-1080p", QualitySource.BLURAY, 1080);
public static Quality Bluray2160p => new Quality(19, "Bluray-2160p", QualitySource.BLURAY, 2160);
public static Quality Remux1080p => new Quality(30, "Remux-1080p", Source.BLURAY, 1080, Modifier.REMUX);
public static Quality Remux2160p => new Quality(31, "Remux-2160p", Source.BLURAY, 2160, Modifier.REMUX);
public static Quality Remux1080p => new Quality(30, "Remux-1080p", QualitySource.BLURAY, 1080, Modifier.REMUX);
public static Quality Remux2160p => new Quality(31, "Remux-2160p", QualitySource.BLURAY, 2160, Modifier.REMUX);
public static Quality BRDISK => new Quality(22, "BR-DISK", Source.BLURAY, 1080, Modifier.BRDISK); // new
public static Quality BRDISK => new Quality(22, "BR-DISK", QualitySource.BLURAY, 1080, Modifier.BRDISK); // new
// Others
public static Quality RAWHD => new Quality(10, "Raw-HD", Source.TV, 1080, Modifier.RAWHD);
public static Quality RAWHD => new Quality(10, "Raw-HD", QualitySource.TV, 1080, Modifier.RAWHD);
public static Quality WEBRip480p => new Quality(12, "WEBRip-480p", Source.WEBRIP, 480);
public static Quality WEBRip720p => new Quality(14, "WEBRip-720p", Source.WEBRIP, 720);
public static Quality WEBRip1080p => new Quality(15, "WEBRip-1080p", Source.WEBRIP, 1080);
public static Quality WEBRip2160p => new Quality(17, "WEBRip-2160p", Source.WEBRIP, 2160);
public static Quality WEBRip480p => new Quality(12, "WEBRip-480p", QualitySource.WEBRIP, 480);
public static Quality WEBRip720p => new Quality(14, "WEBRip-720p", QualitySource.WEBRIP, 720);
public static Quality WEBRip1080p => new Quality(15, "WEBRip-1080p", QualitySource.WEBRIP, 1080);
public static Quality WEBRip2160p => new Quality(17, "WEBRip-2160p", QualitySource.WEBRIP, 2160);
static Quality()
{

@ -8,7 +8,7 @@ namespace NzbDrone.Core.Qualities
{
private static readonly Logger Logger = NzbDroneLogger.GetLogger(typeof(QualityFinder));
public static Quality FindBySourceAndResolution(Source source, int resolution, Modifier modifer)
public static Quality FindBySourceAndResolution(QualitySource source, int resolution, Modifier modifer)
{
// Check for a perfect 3-way match
var matchingQuality = Quality.All.SingleOrDefault(q => q.Source == source && q.Resolution == resolution && q.Modifier == modifer);

@ -1,6 +1,6 @@
namespace NzbDrone.Core.Qualities
{
public enum Source
public enum QualitySource
{
UNKNOWN = 0,
CAM,
Loading…
Cancel
Save