mirror of https://github.com/Radarr/Radarr
Merge pull request #517 from Radarr/patch/update-qualities
Patch/update qualities
This commit is contained in:
commit
4c5900373d
|
@ -196,18 +196,18 @@ namespace NzbDrone.Core.Test.DecisionEngineTests
|
||||||
Subject.IsSatisfiedBy(parseResultSingle, null).Accepted.Should().BeTrue();
|
Subject.IsSatisfiedBy(parseResultSingle, null).Accepted.Should().BeTrue();
|
||||||
}
|
}
|
||||||
|
|
||||||
[Test]
|
//[Test]
|
||||||
public void should_return_true_if_RAWHD()
|
//public void should_return_true_if_RAWHD()
|
||||||
{
|
//{
|
||||||
parseResultSingle.ParsedEpisodeInfo.Quality = new QualityModel(Quality.RAWHD);
|
// parseResultSingle.ParsedEpisodeInfo.Quality = new QualityModel(Quality.RAWHD);
|
||||||
|
|
||||||
series.Runtime = 45;
|
// series.Runtime = 45;
|
||||||
parseResultSingle.Series = series;
|
// parseResultSingle.Series = series;
|
||||||
parseResultSingle.Series.SeriesType = SeriesTypes.Daily;
|
// parseResultSingle.Series.SeriesType = SeriesTypes.Daily;
|
||||||
parseResultSingle.Release.Size = 8000.Megabytes();
|
// parseResultSingle.Release.Size = 8000.Megabytes();
|
||||||
|
|
||||||
Subject.IsSatisfiedBy(parseResultSingle, null).Accepted.Should().BeTrue();
|
// Subject.IsSatisfiedBy(parseResultSingle, null).Accepted.Should().BeTrue();
|
||||||
}
|
//}
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
public void should_return_true_for_special()
|
public void should_return_true_for_special()
|
||||||
|
|
|
@ -215,19 +215,19 @@ namespace NzbDrone.Core.Test.ParserTests
|
||||||
ParseAndVerifyQuality(title, Quality.Bluray1080p, proper);
|
ParseAndVerifyQuality(title, Quality.Bluray1080p, proper);
|
||||||
}
|
}
|
||||||
|
|
||||||
[TestCase("POI S02E11 1080i HDTV DD5.1 MPEG2-TrollHD", false)]
|
//[TestCase("POI S02E11 1080i HDTV DD5.1 MPEG2-TrollHD", false)]
|
||||||
[TestCase("How I Met Your Mother S01E18 Nothing Good Happens After 2 A.M. 720p HDTV DD5.1 MPEG2-TrollHD", false)]
|
//[TestCase("How I Met Your Mother S01E18 Nothing Good Happens After 2 A.M. 720p HDTV DD5.1 MPEG2-TrollHD", false)]
|
||||||
[TestCase("The Voice S01E11 The Finals 1080i HDTV DD5.1 MPEG2-TrollHD", false)]
|
//[TestCase("The Voice S01E11 The Finals 1080i HDTV DD5.1 MPEG2-TrollHD", false)]
|
||||||
[TestCase("Californication.S07E11.1080i.HDTV.DD5.1.MPEG2-NTb.ts", false)]
|
//[TestCase("Californication.S07E11.1080i.HDTV.DD5.1.MPEG2-NTb.ts", false)]
|
||||||
[TestCase("Game of Thrones S04E10 1080i HDTV MPEG2 DD5.1-CtrlHD.ts", false)]
|
//[TestCase("Game of Thrones S04E10 1080i HDTV MPEG2 DD5.1-CtrlHD.ts", false)]
|
||||||
[TestCase("VICE.S02E05.1080i.HDTV.DD2.0.MPEG2-NTb.ts", false)]
|
//[TestCase("VICE.S02E05.1080i.HDTV.DD2.0.MPEG2-NTb.ts", false)]
|
||||||
[TestCase("Show - S03E01 - Episode Title Raw-HD.ts", false)]
|
//[TestCase("Show - S03E01 - Episode Title Raw-HD.ts", false)]
|
||||||
[TestCase("Saturday.Night.Live.Vintage.S10E09.Eddie.Murphy.The.Honeydrippers.1080i.UPSCALE.HDTV.DD5.1.MPEG2-zebra", false)]
|
//[TestCase("Saturday.Night.Live.Vintage.S10E09.Eddie.Murphy.The.Honeydrippers.1080i.UPSCALE.HDTV.DD5.1.MPEG2-zebra", false)]
|
||||||
[TestCase("The.Colbert.Report.2011-08-04.1080i.HDTV.MPEG-2-CtrlHD", false)]
|
//[TestCase("The.Colbert.Report.2011-08-04.1080i.HDTV.MPEG-2-CtrlHD", false)]
|
||||||
public void should_parse_raw_quality(string title, bool proper)
|
//public void should_parse_raw_quality(string title, bool proper)
|
||||||
{
|
//{
|
||||||
ParseAndVerifyQuality(title, Quality.RAWHD, proper);
|
// ParseAndVerifyQuality(title, Quality.RAWHD, proper);
|
||||||
}
|
//}
|
||||||
|
|
||||||
[TestCase("Sonny.With.a.Chance.S02E15", false)]
|
[TestCase("Sonny.With.a.Chance.S02E15", false)]
|
||||||
[TestCase("Law & Order: Special Victims Unit - 11x11 - Quickie", false)]
|
[TestCase("Law & Order: Special Victims Unit - 11x11 - Quickie", false)]
|
||||||
|
|
|
@ -23,7 +23,7 @@ namespace NzbDrone.Core.Test.Qualities
|
||||||
new object[] {7, Quality.Bluray1080p},
|
new object[] {7, Quality.Bluray1080p},
|
||||||
new object[] {8, Quality.WEBDL480p},
|
new object[] {8, Quality.WEBDL480p},
|
||||||
new object[] {9, Quality.HDTV1080p},
|
new object[] {9, Quality.HDTV1080p},
|
||||||
new object[] {10, Quality.RAWHD},
|
//new object[] {10, Quality.RAWHD},
|
||||||
new object[] {16, Quality.HDTV2160p},
|
new object[] {16, Quality.HDTV2160p},
|
||||||
new object[] {18, Quality.WEBDL2160p},
|
new object[] {18, Quality.WEBDL2160p},
|
||||||
new object[] {19, Quality.Bluray2160p},
|
new object[] {19, Quality.Bluray2160p},
|
||||||
|
@ -41,7 +41,7 @@ namespace NzbDrone.Core.Test.Qualities
|
||||||
new object[] {Quality.Bluray1080p, 7},
|
new object[] {Quality.Bluray1080p, 7},
|
||||||
new object[] {Quality.WEBDL480p, 8},
|
new object[] {Quality.WEBDL480p, 8},
|
||||||
new object[] {Quality.HDTV1080p, 9},
|
new object[] {Quality.HDTV1080p, 9},
|
||||||
new object[] {Quality.RAWHD, 10},
|
//new object[] {Quality.RAWHD, 10},
|
||||||
new object[] {Quality.HDTV2160p, 16},
|
new object[] {Quality.HDTV2160p, 16},
|
||||||
new object[] {Quality.WEBDL2160p, 18},
|
new object[] {Quality.WEBDL2160p, 18},
|
||||||
new object[] {Quality.Bluray2160p, 19},
|
new object[] {Quality.Bluray2160p, 19},
|
||||||
|
@ -65,20 +65,27 @@ namespace NzbDrone.Core.Test.Qualities
|
||||||
{
|
{
|
||||||
var qualities = new List<Quality>
|
var qualities = new List<Quality>
|
||||||
{
|
{
|
||||||
Quality.Unknown,
|
Quality.CAM,
|
||||||
|
Quality.TELECINE,
|
||||||
|
Quality.DVDSCR,
|
||||||
|
Quality.REGIONAL,
|
||||||
Quality.SDTV,
|
Quality.SDTV,
|
||||||
Quality.WEBDL480p,
|
|
||||||
Quality.DVD,
|
Quality.DVD,
|
||||||
|
Quality.DVDR,
|
||||||
Quality.HDTV720p,
|
Quality.HDTV720p,
|
||||||
Quality.HDTV1080p,
|
Quality.HDTV1080p,
|
||||||
Quality.HDTV2160p,
|
Quality.HDTV2160p,
|
||||||
Quality.RAWHD,
|
Quality.WEBDL480p,
|
||||||
Quality.WEBDL720p,
|
Quality.WEBDL720p,
|
||||||
Quality.WEBDL1080p,
|
Quality.WEBDL1080p,
|
||||||
Quality.WEBDL2160p,
|
Quality.WEBDL2160p,
|
||||||
|
Quality.Bluray480p,
|
||||||
|
Quality.Bluray576p,
|
||||||
Quality.Bluray720p,
|
Quality.Bluray720p,
|
||||||
Quality.Bluray1080p,
|
Quality.Bluray1080p,
|
||||||
Quality.Bluray2160p,
|
Quality.Bluray2160p,
|
||||||
|
Quality.BRDISK,
|
||||||
|
Quality.RAWHD
|
||||||
};
|
};
|
||||||
|
|
||||||
if (allowed.Length == 0)
|
if (allowed.Length == 0)
|
||||||
|
|
|
@ -33,7 +33,7 @@ namespace NzbDrone.Core.Test.TvTests.EpisodeRepositoryTests
|
||||||
{
|
{
|
||||||
new ProfileQualityItem { Allowed = true, Quality = Quality.SDTV },
|
new ProfileQualityItem { Allowed = true, Quality = Quality.SDTV },
|
||||||
new ProfileQualityItem { Allowed = true, Quality = Quality.WEBDL480p },
|
new ProfileQualityItem { Allowed = true, Quality = Quality.WEBDL480p },
|
||||||
new ProfileQualityItem { Allowed = true, Quality = Quality.RAWHD }
|
//new ProfileQualityItem { Allowed = true, Quality = Quality.RAWHD }
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -71,13 +71,13 @@ namespace NzbDrone.Core.Test.TvTests.EpisodeRepositoryTests
|
||||||
|
|
||||||
var qualityMet = new EpisodeFile { RelativePath = "a", Quality = new QualityModel { Quality = Quality.WEBDL480p } };
|
var qualityMet = new EpisodeFile { RelativePath = "a", Quality = new QualityModel { Quality = Quality.WEBDL480p } };
|
||||||
var qualityUnmet = new EpisodeFile { RelativePath = "b", Quality = new QualityModel { Quality = Quality.SDTV } };
|
var qualityUnmet = new EpisodeFile { RelativePath = "b", Quality = new QualityModel { Quality = Quality.SDTV } };
|
||||||
var qualityRawHD = new EpisodeFile { RelativePath = "c", Quality = new QualityModel { Quality = Quality.RAWHD } };
|
//var qualityRawHD = new EpisodeFile { RelativePath = "c", Quality = new QualityModel { Quality = Quality.RAWHD } };
|
||||||
|
|
||||||
MediaFileRepository fileRepository = Mocker.Resolve<MediaFileRepository>();
|
MediaFileRepository fileRepository = Mocker.Resolve<MediaFileRepository>();
|
||||||
|
|
||||||
qualityMet = fileRepository.Insert(qualityMet);
|
qualityMet = fileRepository.Insert(qualityMet);
|
||||||
qualityUnmet = fileRepository.Insert(qualityUnmet);
|
qualityUnmet = fileRepository.Insert(qualityUnmet);
|
||||||
qualityRawHD = fileRepository.Insert(qualityRawHD);
|
//qualityRawHD = fileRepository.Insert(qualityRawHD);
|
||||||
|
|
||||||
var monitoredSeriesEpisodes = Builder<Episode>.CreateListOfSize(4)
|
var monitoredSeriesEpisodes = Builder<Episode>.CreateListOfSize(4)
|
||||||
.All()
|
.All()
|
||||||
|
@ -90,8 +90,8 @@ namespace NzbDrone.Core.Test.TvTests.EpisodeRepositoryTests
|
||||||
.With(e => e.Monitored = false)
|
.With(e => e.Monitored = false)
|
||||||
.With(e => e.EpisodeFileId = qualityMet.Id)
|
.With(e => e.EpisodeFileId = qualityMet.Id)
|
||||||
.TheNext(1)
|
.TheNext(1)
|
||||||
.With(e => e.EpisodeFileId = qualityRawHD.Id)
|
//.With(e => e.EpisodeFileId = qualityRawHD.Id)
|
||||||
.TheLast(1)
|
//.TheLast(1)
|
||||||
.With(e => e.SeasonNumber = 0)
|
.With(e => e.SeasonNumber = 0)
|
||||||
.Build();
|
.Build();
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,35 @@
|
||||||
|
using System.Data;
|
||||||
|
using FluentMigrator;
|
||||||
|
using NzbDrone.Core.Datastore.Migration.Framework;
|
||||||
|
|
||||||
|
namespace NzbDrone.Core.Datastore.Migration
|
||||||
|
{
|
||||||
|
[Migration(126)]
|
||||||
|
public class update_qualities_and_profiles : NzbDroneMigrationBase
|
||||||
|
{
|
||||||
|
protected override void MainDbUpgrade()
|
||||||
|
{
|
||||||
|
Execute.WithConnection(ConvertProfile);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void ConvertProfile(IDbConnection conn, IDbTransaction tran)
|
||||||
|
{
|
||||||
|
var updater = new ProfileUpdater70(conn, tran);
|
||||||
|
updater.SplitQualityAppend(0, 27); // TELECINE AFTER Unknown
|
||||||
|
updater.SplitQualityAppend(0, 26); // TELESYNC AFTER Unknown
|
||||||
|
updater.SplitQualityAppend(0, 25); // CAM AFTER Unknown
|
||||||
|
updater.SplitQualityAppend(0, 24); // WORKPRINT AFTER Unknown
|
||||||
|
|
||||||
|
updater.SplitQualityPrepend(2, 23); // DVDR BEFORE DVD
|
||||||
|
updater.SplitQualityPrepend(2, 28); // DVDSCR BEFORE DVD
|
||||||
|
updater.SplitQualityPrepend(2, 29); // REGIONAL BEFORE DVD
|
||||||
|
|
||||||
|
updater.SplitQualityAppend(2, 21); // Bluray576p AFTER SDTV
|
||||||
|
updater.SplitQualityAppend(2, 20); // Bluray480p AFTER SDTV
|
||||||
|
|
||||||
|
updater.AppendQuality(22);
|
||||||
|
|
||||||
|
updater.Commit();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -44,6 +44,9 @@ namespace NzbDrone.Core.Indexers.PassThePopcorn
|
||||||
[FieldDefinition(4, Type = FieldType.Checkbox, Label = "Require Approved", HelpText = "Require staff-approval for releases to be accepted.")]
|
[FieldDefinition(4, Type = FieldType.Checkbox, Label = "Require Approved", HelpText = "Require staff-approval for releases to be accepted.")]
|
||||||
public bool Approved { get; set; }
|
public bool Approved { get; set; }
|
||||||
|
|
||||||
|
[FieldDefinition(5, Type = FieldType.Checkbox, Label = "Require Golden", HelpText = "Require Golden Popcorn-releases for releases to be accepted.")]
|
||||||
|
public bool RequireGolden { get; set; }
|
||||||
|
|
||||||
public NzbDroneValidationResult Validate()
|
public NzbDroneValidationResult Validate()
|
||||||
{
|
{
|
||||||
return new NzbDroneValidationResult(Validator.Validate(this));
|
return new NzbDroneValidationResult(Validator.Validate(this));
|
||||||
|
|
|
@ -219,6 +219,7 @@
|
||||||
<Compile Include="Datastore\Migration\002_remove_tvrage_imdb_unique_constraint.cs" />
|
<Compile Include="Datastore\Migration\002_remove_tvrage_imdb_unique_constraint.cs" />
|
||||||
<Compile Include="Datastore\Migration\003_remove_clean_title_from_scene_mapping.cs" />
|
<Compile Include="Datastore\Migration\003_remove_clean_title_from_scene_mapping.cs" />
|
||||||
<Compile Include="Datastore\Migration\004_updated_history.cs" />
|
<Compile Include="Datastore\Migration\004_updated_history.cs" />
|
||||||
|
<Compile Include="Datastore\Migration\126_update_qualities_and_profiles.cs" />
|
||||||
<Compile Include="Datastore\Migration\125_fix_imdb_unique.cs" />
|
<Compile Include="Datastore\Migration\125_fix_imdb_unique.cs" />
|
||||||
<Compile Include="Datastore\Migration\124_add_preferred_tags_to_profile.cs" />
|
<Compile Include="Datastore\Migration\124_add_preferred_tags_to_profile.cs" />
|
||||||
<Compile Include="Datastore\Migration\122_add_movieid_to_blacklist.cs" />
|
<Compile Include="Datastore\Migration\122_add_movieid_to_blacklist.cs" />
|
||||||
|
|
|
@ -14,14 +14,34 @@ namespace NzbDrone.Core.Parser
|
||||||
{
|
{
|
||||||
private static readonly Logger Logger = NzbDroneLogger.GetLogger(typeof(QualityParser));
|
private static readonly Logger Logger = NzbDroneLogger.GetLogger(typeof(QualityParser));
|
||||||
|
|
||||||
|
//private static readonly Regex SourceRegex = new Regex(@"\b(?:
|
||||||
|
// (?<bluray>BluRay|Blu-Ray|HDDVD|BD)|
|
||||||
|
// (?<webdl>WEB[-_. ]DL|WEBDL|WebRip|iTunesHD|WebHD|[. ]WEB[. ](?:[xh]26[45]|DD5[. ]1)|\d+0p[. ]WEB[. ])|
|
||||||
|
// (?<hdtv>HDTV)|
|
||||||
|
// (?<bdrip>BDRip)|
|
||||||
|
// (?<brrip>BRRip)|
|
||||||
|
// (?<dvd>DVD|DVDRip|NTSC|PAL|xvidvd)|
|
||||||
|
// (?<dsr>WS[-_. ]DSR|DSR)|
|
||||||
|
// (?<pdtv>PDTV)|
|
||||||
|
// (?<sdtv>SDTV)|
|
||||||
|
// (?<tvrip>TVRip)
|
||||||
|
// )\b",
|
||||||
|
// RegexOptions.Compiled | RegexOptions.IgnoreCase | RegexOptions.IgnorePatternWhitespace);
|
||||||
|
|
||||||
private static readonly Regex SourceRegex = new Regex(@"\b(?:
|
private static readonly Regex SourceRegex = new Regex(@"\b(?:
|
||||||
(?<bluray>BluRay|Blu-Ray|HDDVD|BD)|
|
(?<bluray>BluRay|Blu-Ray|HDDVD|BD)|
|
||||||
(?<webdl>WEB[-_. ]DL|WEBDL|WebRip|iTunesHD|WebHD|[. ]WEB[. ](?:[xh]26[45]|DD5[. ]1)|\d+0p[. ]WEB[. ])|
|
(?<webdl>WEB[-_. ]DL|HDRIP|WEBDL|WebRip|Web-Rip|iTunesHD|WebHD|[. ]WEB[. ](?:[xh]26[45]|DD5[. ]1)|\d+0p[. ]WEB[. ])|
|
||||||
(?<hdtv>HDTV)|
|
(?<hdtv>HDTV)|
|
||||||
(?<bdrip>BDRip)|
|
(?<bdrip>BDRip)|(?<brrip>BRRip)|
|
||||||
(?<brrip>BRRip)|
|
(?<dvdr>DVD-R|DVDR)|
|
||||||
(?<dvd>DVD|DVDRip|NTSC|PAL|xvidvd)|
|
(?<dvd>DVD|DVDRip|NTSC|PAL|xvidvd)|
|
||||||
(?<dsr>WS[-_. ]DSR|DSR)|
|
(?<dsr>WS[-_. ]DSR|DSR)|
|
||||||
|
(?<regional>R[0-9]{1})|
|
||||||
|
(?<scr>SCR|SCREENER|DVDSCR|DVDSCREENER)|
|
||||||
|
(?<ts>TS|TELESYNC|HD-TS|HDTS|PDVD)|
|
||||||
|
(?<tc>TC|TELECINE|HD-TC|HDTC)|
|
||||||
|
(?<cam>CAMRIP|CAM|HDCAM|HD-CAM)|
|
||||||
|
(?<wp>WORKPRINT|WP)|
|
||||||
(?<pdtv>PDTV)|
|
(?<pdtv>PDTV)|
|
||||||
(?<sdtv>SDTV)|
|
(?<sdtv>SDTV)|
|
||||||
(?<tvrip>TVRip)
|
(?<tvrip>TVRip)
|
||||||
|
@ -75,11 +95,11 @@ namespace NzbDrone.Core.Parser
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (RawHDRegex.IsMatch(normalizedName))
|
//if (RawHDRegex.IsMatch(normalizedName))
|
||||||
{
|
//{
|
||||||
result.Quality = Quality.RAWHD;
|
// result.Quality = Quality.RAWHD;
|
||||||
return result;
|
// return result;
|
||||||
}
|
//}
|
||||||
|
|
||||||
var sourceMatch = SourceRegex.Matches(normalizedName).OfType<Match>().LastOrDefault();
|
var sourceMatch = SourceRegex.Matches(normalizedName).OfType<Match>().LastOrDefault();
|
||||||
var resolution = ParseResolution(normalizedName);
|
var resolution = ParseResolution(normalizedName);
|
||||||
|
@ -108,7 +128,13 @@ namespace NzbDrone.Core.Parser
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (resolution == Resolution.R480P || resolution == Resolution.R576p)
|
if (resolution == Resolution.R576p)
|
||||||
|
{
|
||||||
|
result.Quality = Quality.Bluray576p;
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (resolution == Resolution.R480P)
|
||||||
{
|
{
|
||||||
result.Quality = Quality.DVD;
|
result.Quality = Quality.DVD;
|
||||||
return result;
|
return result;
|
||||||
|
@ -195,12 +221,54 @@ namespace NzbDrone.Core.Parser
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (sourceMatch.Groups["wp"].Success)
|
||||||
|
{
|
||||||
|
result.Quality = Quality.WORKPRINT;
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
if (sourceMatch.Groups["dvd"].Success)
|
if (sourceMatch.Groups["dvd"].Success)
|
||||||
{
|
{
|
||||||
result.Quality = Quality.DVD;
|
result.Quality = Quality.DVD;
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (sourceMatch.Groups["dvdr"].Success)
|
||||||
|
{
|
||||||
|
result.Quality = Quality.DVDR;
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (sourceMatch.Groups["scr"].Success)
|
||||||
|
{
|
||||||
|
result.Quality = Quality.DVDSCR;
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (sourceMatch.Groups["regional"].Success)
|
||||||
|
{
|
||||||
|
result.Quality = Quality.REGIONAL;
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (sourceMatch.Groups["cam"].Success)
|
||||||
|
{
|
||||||
|
result.Quality = Quality.CAM;
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (sourceMatch.Groups["ts"].Success)
|
||||||
|
{
|
||||||
|
result.Quality = Quality.TELESYNC;
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (sourceMatch.Groups["tc"].Success)
|
||||||
|
{
|
||||||
|
result.Quality = Quality.TELECINE;
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
if (sourceMatch.Groups["pdtv"].Success ||
|
if (sourceMatch.Groups["pdtv"].Success ||
|
||||||
sourceMatch.Groups["sdtv"].Success ||
|
sourceMatch.Groups["sdtv"].Success ||
|
||||||
sourceMatch.Groups["dsr"].Success ||
|
sourceMatch.Groups["dsr"].Success ||
|
||||||
|
|
|
@ -85,38 +85,59 @@ namespace NzbDrone.Core.Profiles
|
||||||
|
|
||||||
_logger.Info("Setting up default quality profiles");
|
_logger.Info("Setting up default quality profiles");
|
||||||
|
|
||||||
AddDefaultProfile("Any", Quality.SDTV,
|
AddDefaultProfile("Any", Quality.Bluray480p,
|
||||||
|
Quality.WORKPRINT,
|
||||||
|
Quality.CAM,
|
||||||
|
Quality.TELESYNC,
|
||||||
|
Quality.TELECINE,
|
||||||
|
Quality.DVDSCR,
|
||||||
|
Quality.REGIONAL,
|
||||||
Quality.SDTV,
|
Quality.SDTV,
|
||||||
Quality.WEBDL480p,
|
|
||||||
Quality.DVD,
|
Quality.DVD,
|
||||||
|
Quality.DVDR,
|
||||||
Quality.HDTV720p,
|
Quality.HDTV720p,
|
||||||
Quality.HDTV1080p,
|
Quality.HDTV1080p,
|
||||||
|
Quality.HDTV2160p,
|
||||||
|
Quality.WEBDL480p,
|
||||||
Quality.WEBDL720p,
|
Quality.WEBDL720p,
|
||||||
Quality.WEBDL1080p,
|
Quality.WEBDL1080p,
|
||||||
|
Quality.WEBDL2160p,
|
||||||
|
Quality.Bluray480p,
|
||||||
|
Quality.Bluray576p,
|
||||||
Quality.Bluray720p,
|
Quality.Bluray720p,
|
||||||
Quality.Bluray1080p);
|
Quality.Bluray1080p,
|
||||||
|
Quality.Bluray2160p,
|
||||||
|
Quality.BRDISK);
|
||||||
|
|
||||||
AddDefaultProfile("SD", Quality.SDTV,
|
AddDefaultProfile("SD", Quality.Bluray480p,
|
||||||
|
Quality.WORKPRINT,
|
||||||
|
Quality.CAM,
|
||||||
|
Quality.TELESYNC,
|
||||||
|
Quality.TELECINE,
|
||||||
|
Quality.DVDSCR,
|
||||||
|
Quality.REGIONAL,
|
||||||
Quality.SDTV,
|
Quality.SDTV,
|
||||||
|
Quality.DVD,
|
||||||
Quality.WEBDL480p,
|
Quality.WEBDL480p,
|
||||||
Quality.DVD);
|
Quality.Bluray480p,
|
||||||
|
Quality.Bluray576p);
|
||||||
|
|
||||||
AddDefaultProfile("HD-720p", Quality.HDTV720p,
|
AddDefaultProfile("HD-720p", Quality.Bluray720p,
|
||||||
Quality.HDTV720p,
|
Quality.HDTV720p,
|
||||||
Quality.WEBDL720p,
|
Quality.WEBDL720p,
|
||||||
Quality.Bluray720p);
|
Quality.Bluray720p);
|
||||||
|
|
||||||
AddDefaultProfile("HD-1080p", Quality.HDTV1080p,
|
AddDefaultProfile("HD-1080p", Quality.Bluray1080p,
|
||||||
Quality.HDTV1080p,
|
Quality.HDTV1080p,
|
||||||
Quality.WEBDL1080p,
|
Quality.WEBDL1080p,
|
||||||
Quality.Bluray1080p);
|
Quality.Bluray1080p);
|
||||||
|
|
||||||
AddDefaultProfile("Ultra-HD", Quality.HDTV2160p,
|
AddDefaultProfile("Ultra-HD", Quality.Bluray2160p,
|
||||||
Quality.HDTV2160p,
|
Quality.HDTV2160p,
|
||||||
Quality.WEBDL2160p,
|
Quality.WEBDL2160p,
|
||||||
Quality.Bluray2160p);
|
Quality.Bluray2160p);
|
||||||
|
|
||||||
AddDefaultProfile("HD - 720p/1080p", Quality.HDTV720p,
|
AddDefaultProfile("HD - 720p/1080p", Quality.Bluray720p,
|
||||||
Quality.HDTV720p,
|
Quality.HDTV720p,
|
||||||
Quality.HDTV1080p,
|
Quality.HDTV1080p,
|
||||||
Quality.WEBDL720p,
|
Quality.WEBDL720p,
|
||||||
|
|
|
@ -55,45 +55,72 @@ namespace NzbDrone.Core.Qualities
|
||||||
return !Equals(left, right);
|
return !Equals(left, right);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Quality Unknown => new Quality(0, "Unknown");
|
// Unable to determine
|
||||||
public static Quality SDTV => new Quality(1, "SDTV");
|
public static Quality Unknown => new Quality(0, "Unknown");
|
||||||
public static Quality DVD => new Quality(2, "DVD");
|
|
||||||
public static Quality WEBDL1080p => new Quality(3, "WEBDL-1080p");
|
// Pre-release
|
||||||
public static Quality HDTV720p => new Quality(4, "HDTV-720p");
|
public static Quality WORKPRINT => new Quality(24, "WORKPRINT"); // new
|
||||||
public static Quality WEBDL720p => new Quality(5, "WEBDL-720p");
|
public static Quality CAM => new Quality(25, "CAM"); // new
|
||||||
public static Quality Bluray720p => new Quality(6, "Bluray-720p");
|
public static Quality TELESYNC => new Quality(26, "TELESYNC"); // new
|
||||||
public static Quality Bluray1080p => new Quality(7, "Bluray-1080p");
|
public static Quality TELECINE => new Quality(27, "TELECINE"); // new
|
||||||
public static Quality WEBDL480p => new Quality(8, "WEBDL-480p");
|
public static Quality DVDSCR => new Quality(28, "DVDSCR"); // new
|
||||||
public static Quality HDTV1080p => new Quality(9, "HDTV-1080p");
|
public static Quality REGIONAL => new Quality(29, "REGIONAL"); // new
|
||||||
public static Quality RAWHD => new Quality(10, "Raw-HD");
|
|
||||||
//public static Quality HDTV480p { get { return new Quality(11, "HDTV-480p"); } }
|
// SD
|
||||||
//public static Quality WEBRip480p { get { return new Quality(12, "WEBRip-480p"); } }
|
public static Quality SDTV => new Quality(1, "SDTV");
|
||||||
//public static Quality Bluray480p { get { return new Quality(13, "Bluray-480p"); } }
|
public static Quality DVD => new Quality(2, "DVD");
|
||||||
//public static Quality WEBRip720p { get { return new Quality(14, "WEBRip-720p"); } }
|
public static Quality DVDR => new Quality(23, "DVD-R"); // new
|
||||||
//public static Quality WEBRip1080p { get { return new Quality(15, "WEBRip-1080p"); } }
|
|
||||||
|
// HDTV
|
||||||
|
public static Quality HDTV720p => new Quality(4, "HDTV-720p");
|
||||||
|
public static Quality HDTV1080p => new Quality(9, "HDTV-1080p");
|
||||||
public static Quality HDTV2160p => new Quality(16, "HDTV-2160p");
|
public static Quality HDTV2160p => new Quality(16, "HDTV-2160p");
|
||||||
//public static Quality WEBRip2160p { get { return new Quality(17, "WEBRip-2160p"); } }
|
|
||||||
|
// Web-DL
|
||||||
|
public static Quality WEBDL480p => new Quality(8, "WEBDL-480p");
|
||||||
|
public static Quality WEBDL720p => new Quality(5, "WEBDL-720p");
|
||||||
|
public static Quality WEBDL1080p => new Quality(3, "WEBDL-1080p");
|
||||||
public static Quality WEBDL2160p => new Quality(18, "WEBDL-2160p");
|
public static Quality WEBDL2160p => new Quality(18, "WEBDL-2160p");
|
||||||
|
|
||||||
|
// Bluray
|
||||||
|
public static Quality Bluray480p => new Quality(20, "Bluray-480p"); // new
|
||||||
|
public static Quality Bluray576p => new Quality(21, "Bluray-576p"); // new
|
||||||
|
public static Quality Bluray720p => new Quality(6, "Bluray-720p");
|
||||||
|
public static Quality Bluray1080p => new Quality(7, "Bluray-1080p");
|
||||||
public static Quality Bluray2160p => new Quality(19, "Bluray-2160p");
|
public static Quality Bluray2160p => new Quality(19, "Bluray-2160p");
|
||||||
|
public static Quality BRDISK => new Quality(22, "BR-DISK"); // new
|
||||||
|
|
||||||
|
// Others
|
||||||
|
public static Quality RAWHD => new Quality(10, "Raw-HD");
|
||||||
|
|
||||||
static Quality()
|
static Quality()
|
||||||
{
|
{
|
||||||
All = new List<Quality>
|
All = new List<Quality>
|
||||||
{
|
{
|
||||||
Unknown,
|
Unknown,
|
||||||
|
WORKPRINT,
|
||||||
|
CAM,
|
||||||
|
TELESYNC,
|
||||||
|
TELECINE,
|
||||||
|
DVDSCR,
|
||||||
|
REGIONAL,
|
||||||
SDTV,
|
SDTV,
|
||||||
DVD,
|
DVD,
|
||||||
WEBDL1080p,
|
DVDR,
|
||||||
HDTV720p,
|
HDTV720p,
|
||||||
|
HDTV1080p,
|
||||||
|
HDTV2160p,
|
||||||
|
WEBDL480p,
|
||||||
WEBDL720p,
|
WEBDL720p,
|
||||||
|
WEBDL1080p,
|
||||||
|
WEBDL2160p,
|
||||||
|
Bluray480p,
|
||||||
|
Bluray576p,
|
||||||
Bluray720p,
|
Bluray720p,
|
||||||
Bluray1080p,
|
Bluray1080p,
|
||||||
WEBDL480p,
|
|
||||||
HDTV1080p,
|
|
||||||
RAWHD,
|
|
||||||
HDTV2160p,
|
|
||||||
WEBDL2160p,
|
|
||||||
Bluray2160p,
|
Bluray2160p,
|
||||||
|
BRDISK,
|
||||||
|
RAWHD
|
||||||
};
|
};
|
||||||
|
|
||||||
AllLookup = new Quality[All.Select(v => v.Id).Max() + 1];
|
AllLookup = new Quality[All.Select(v => v.Id).Max() + 1];
|
||||||
|
@ -105,19 +132,34 @@ namespace NzbDrone.Core.Qualities
|
||||||
DefaultQualityDefinitions = new HashSet<QualityDefinition>
|
DefaultQualityDefinitions = new HashSet<QualityDefinition>
|
||||||
{
|
{
|
||||||
new QualityDefinition(Quality.Unknown) { Weight = 1, MinSize = 0, MaxSize = 100 },
|
new QualityDefinition(Quality.Unknown) { Weight = 1, MinSize = 0, MaxSize = 100 },
|
||||||
new QualityDefinition(Quality.SDTV) { Weight = 2, MinSize = 0, MaxSize = 100 },
|
new QualityDefinition(Quality.WORKPRINT) { Weight = 2, MinSize = 0, MaxSize = 100 },
|
||||||
new QualityDefinition(Quality.WEBDL480p) { Weight = 3, MinSize = 0, MaxSize = 100 },
|
new QualityDefinition(Quality.CAM) { Weight = 3, MinSize = 0, MaxSize = 100 },
|
||||||
new QualityDefinition(Quality.DVD) { Weight = 4, MinSize = 0, MaxSize = 100 },
|
new QualityDefinition(Quality.TELESYNC) { Weight = 4, MinSize = 0, MaxSize = 100 },
|
||||||
new QualityDefinition(Quality.HDTV720p) { Weight = 5, MinSize = 0, MaxSize = 100 },
|
new QualityDefinition(Quality.TELECINE) { Weight = 5, MinSize = 0, MaxSize = 100 },
|
||||||
new QualityDefinition(Quality.HDTV1080p) { Weight = 6, MinSize = 0, MaxSize = 100 },
|
new QualityDefinition(Quality.REGIONAL) { Weight = 6, MinSize = 0, MaxSize = 100 },
|
||||||
new QualityDefinition(Quality.RAWHD) { Weight = 7, MinSize = 0, MaxSize = null },
|
new QualityDefinition(Quality.DVDSCR) { Weight = 7, MinSize = 0, MaxSize = 100 },
|
||||||
new QualityDefinition(Quality.WEBDL720p) { Weight = 8, MinSize = 0, MaxSize = 100 },
|
new QualityDefinition(Quality.SDTV) { Weight = 8, MinSize = 0, MaxSize = 100 },
|
||||||
new QualityDefinition(Quality.Bluray720p) { Weight = 9, MinSize = 0, MaxSize = 100 },
|
new QualityDefinition(Quality.DVD) { Weight = 9, MinSize = 0, MaxSize = 100 },
|
||||||
new QualityDefinition(Quality.WEBDL1080p) { Weight = 10, MinSize = 0, MaxSize = 100 },
|
new QualityDefinition(Quality.DVDR) { Weight = 10, MinSize = 0, MaxSize = 100 },
|
||||||
new QualityDefinition(Quality.Bluray1080p) { Weight = 11, MinSize = 0, MaxSize = null },
|
|
||||||
new QualityDefinition(Quality.HDTV2160p) { Weight = 12, MinSize = 0, MaxSize = null },
|
new QualityDefinition(Quality.WEBDL480p) { Weight = 11, MinSize = 0, MaxSize = 100 },
|
||||||
new QualityDefinition(Quality.WEBDL2160p) { Weight = 13, MinSize = 0, MaxSize = null },
|
new QualityDefinition(Quality.Bluray480p) { Weight = 12, MinSize = 0, MaxSize = 100 },
|
||||||
new QualityDefinition(Quality.Bluray2160p) { Weight = 14, MinSize = 0, MaxSize = null },
|
new QualityDefinition(Quality.Bluray576p) { Weight = 13, MinSize = 0, MaxSize = 100 },
|
||||||
|
|
||||||
|
new QualityDefinition(Quality.HDTV720p) { Weight = 14, MinSize = 0, MaxSize = 100 },
|
||||||
|
new QualityDefinition(Quality.WEBDL720p) { Weight = 15, MinSize = 0, MaxSize = 100 },
|
||||||
|
new QualityDefinition(Quality.Bluray720p) { Weight = 16, MinSize = 0, MaxSize = 100 },
|
||||||
|
|
||||||
|
new QualityDefinition(Quality.HDTV1080p) { Weight = 17, MinSize = 0, MaxSize = 100 },
|
||||||
|
new QualityDefinition(Quality.WEBDL1080p) { Weight = 18, MinSize = 0, MaxSize = 100 },
|
||||||
|
new QualityDefinition(Quality.Bluray1080p) { Weight = 19, MinSize = 0, MaxSize = null },
|
||||||
|
|
||||||
|
new QualityDefinition(Quality.HDTV2160p) { Weight = 20, MinSize = 0, MaxSize = null },
|
||||||
|
new QualityDefinition(Quality.WEBDL2160p) { Weight = 21, MinSize = 0, MaxSize = null },
|
||||||
|
new QualityDefinition(Quality.Bluray2160p) { Weight = 22, MinSize = 0, MaxSize = null },
|
||||||
|
|
||||||
|
new QualityDefinition(Quality.BRDISK) { Weight = 23, MinSize = 0, MaxSize = null },
|
||||||
|
new QualityDefinition(Quality.RAWHD) { Weight = 24, MinSize = 0, MaxSize = null }
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
.clickable;
|
.clickable;
|
||||||
|
|
||||||
width: 300px;
|
width: 300px;
|
||||||
height: 158px;
|
//height: 158px;
|
||||||
padding: 10px 15px;
|
padding: 10px 15px;
|
||||||
|
|
||||||
&.add-card {
|
&.add-card {
|
||||||
|
|
Loading…
Reference in New Issue