mirror of
https://github.com/Sonarr/Sonarr.git
synced 2024-12-16 11:37:58 +02:00
Cleaned up 2160p changes and added migration and tests.
Also reserved the quality ids for WEBRip etc.
This commit is contained in:
parent
94323f79e7
commit
f25f5abced
@ -0,0 +1,35 @@
|
||||
using System.Linq;
|
||||
using FluentAssertions;
|
||||
using NUnit.Framework;
|
||||
using NzbDrone.Core.Datastore.Migration;
|
||||
using NzbDrone.Core.Test.Framework;
|
||||
|
||||
namespace NzbDrone.Core.Test.Datastore.Migration
|
||||
{
|
||||
[TestFixture]
|
||||
public class add_ultrahd_quality_in_profilesFixture : MigrationTest<add_ultrahd_quality_in_profiles>
|
||||
{
|
||||
[Test]
|
||||
public void should_add_ultrahd_to_old_profile()
|
||||
{
|
||||
var db = WithMigrationTestDb(c =>
|
||||
{
|
||||
c.Insert.IntoTable("Profiles").Row(new
|
||||
{
|
||||
Id = 0,
|
||||
Name = "SDTV",
|
||||
Cutoff = 1,
|
||||
Items = "[ { \"quality\": 1, \"allowed\": true } ]",
|
||||
Language = 1
|
||||
});
|
||||
});
|
||||
|
||||
var profiles = db.Query<Profile70>("SELECT Items FROM Profiles LIMIT 1");
|
||||
|
||||
var items = profiles.First().Items;
|
||||
items.Should().HaveCount(4);
|
||||
items.Select(v => v.Quality).Should().BeEquivalentTo(1, 16, 18, 19);
|
||||
items.Select(v => v.Allowed).Should().BeEquivalentTo(true, false, false, false);
|
||||
}
|
||||
}
|
||||
}
|
@ -119,6 +119,7 @@
|
||||
<Compile Include="Datastore\DatabaseRelationshipFixture.cs" />
|
||||
<Compile Include="Datastore\MappingExtentionFixture.cs" />
|
||||
<Compile Include="Datastore\MarrDataLazyLoadingFixture.cs" />
|
||||
<Compile Include="Datastore\Migration\101_add_ultrahd_quality_in_profilesFixture.cs" />
|
||||
<Compile Include="Datastore\Migration\071_unknown_quality_in_profileFixture.cs" />
|
||||
<Compile Include="Datastore\Migration\072_history_downloadIdFixture.cs" />
|
||||
<Compile Include="Datastore\Migration\070_delay_profileFixture.cs" />
|
||||
|
@ -24,9 +24,9 @@ public class QualityFixture : CoreTest
|
||||
new object[] {8, Quality.WEBDL480p},
|
||||
new object[] {9, Quality.HDTV1080p},
|
||||
new object[] {10, Quality.RAWHD},
|
||||
new object[] {12, Quality.HDTV2160p},
|
||||
new object[] {13, Quality.WEBDL2160p},
|
||||
new object[] {14, Quality.Bluray2160p},
|
||||
new object[] {16, Quality.HDTV2160p},
|
||||
new object[] {18, Quality.WEBDL2160p},
|
||||
new object[] {19, Quality.Bluray2160p},
|
||||
};
|
||||
|
||||
public static object[] ToIntCases =
|
||||
@ -42,9 +42,9 @@ public class QualityFixture : CoreTest
|
||||
new object[] {Quality.WEBDL480p, 8},
|
||||
new object[] {Quality.HDTV1080p, 9},
|
||||
new object[] {Quality.RAWHD, 10},
|
||||
new object[] {Quality.HDTV2160p, 12},
|
||||
new object[] {Quality.WEBDL2160p, 13},
|
||||
new object[] {Quality.Bluray2160p, 14},
|
||||
new object[] {Quality.HDTV2160p, 16},
|
||||
new object[] {Quality.WEBDL2160p, 18},
|
||||
new object[] {Quality.Bluray2160p, 19},
|
||||
};
|
||||
|
||||
[Test, TestCaseSource("FromIntCases")]
|
||||
|
@ -0,0 +1,35 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.Linq;
|
||||
using FluentMigrator;
|
||||
using NzbDrone.Common.Serializer;
|
||||
using NzbDrone.Core.Datastore.Migration.Framework;
|
||||
|
||||
namespace NzbDrone.Core.Datastore.Migration
|
||||
{
|
||||
[Migration(101)]
|
||||
public class add_ultrahd_quality_in_profiles : NzbDroneMigrationBase
|
||||
{
|
||||
protected override void MainDbUpgrade()
|
||||
{
|
||||
Execute.WithConnection(ConvertProfile);
|
||||
}
|
||||
|
||||
private void ConvertProfile(IDbConnection conn, IDbTransaction tran)
|
||||
{
|
||||
var updater = new ProfileUpdater70(conn, tran);
|
||||
updater.AppendQuality(16); // HDTV2160p
|
||||
updater.AppendQuality(18); // WEBDL2160p
|
||||
updater.AppendQuality(19); // Bluray2160p
|
||||
updater.Commit();
|
||||
|
||||
// WEBRip migrations.
|
||||
//updater.SplitQualityAppend(1, 11); // HDTV480p after SDTV
|
||||
//updater.SplitQualityPrepend(8, 12); // WEBRip480p before WEBDL480p
|
||||
//updater.SplitQualityAppend(2, 13); // Bluray480p after DVD
|
||||
//updater.SplitQualityPrepend(5, 14); // WEBRip720p before WEBDL720p
|
||||
//updater.SplitQualityPrepend(3, 15); // WEBRip1080p before WEBDL1080p
|
||||
//updater.SplitQualityPrepend(18, 17); // WEBRip2160p before WEBDL2160p
|
||||
}
|
||||
}
|
||||
}
|
@ -251,6 +251,7 @@
|
||||
<Compile Include="Datastore\Migration\068_add_release_restrictions.cs" />
|
||||
<Compile Include="Datastore\Migration\069_quality_proper.cs" />
|
||||
<Compile Include="Datastore\Migration\070_delay_profile.cs" />
|
||||
<Compile Include="Datastore\Migration\101_add_ultrahd_quality_in_profiles.cs" />
|
||||
<Compile Include="Datastore\Migration\071_unknown_quality_in_profile.cs" />
|
||||
<Compile Include="Datastore\Migration\072_history_grabid.cs" />
|
||||
<Compile Include="Datastore\Migration\073_clear_ratings.cs" />
|
||||
|
@ -94,8 +94,7 @@ public void Handle(ApplicationStartedEvent message)
|
||||
Quality.WEBDL720p,
|
||||
Quality.WEBDL1080p,
|
||||
Quality.Bluray720p,
|
||||
Quality.Bluray1080p,
|
||||
Quality.WEBDL2160p);
|
||||
Quality.Bluray1080p);
|
||||
|
||||
AddDefaultProfile("SD", Quality.SDTV,
|
||||
Quality.SDTV,
|
||||
@ -112,21 +111,18 @@ public void Handle(ApplicationStartedEvent message)
|
||||
Quality.WEBDL1080p,
|
||||
Quality.Bluray1080p);
|
||||
|
||||
AddDefaultProfile("HD-2160p", Quality.HDTV2160p,
|
||||
AddDefaultProfile("Ultra-HD", Quality.HDTV2160p,
|
||||
Quality.HDTV2160p,
|
||||
Quality.WEBDL2160p,
|
||||
Quality.Bluray2160p);
|
||||
|
||||
AddDefaultProfile("HD - All", Quality.HDTV720p,
|
||||
AddDefaultProfile("HD - 720p/1080p", Quality.HDTV720p,
|
||||
Quality.HDTV720p,
|
||||
Quality.HDTV1080p,
|
||||
Quality.HDTV2160p,
|
||||
Quality.WEBDL720p,
|
||||
Quality.WEBDL1080p,
|
||||
Quality.WEBDL2160p,
|
||||
Quality.Bluray720p,
|
||||
Quality.Bluray1080p,
|
||||
Quality.Bluray2160p);
|
||||
Quality.Bluray1080p);
|
||||
}
|
||||
}
|
||||
}
|
@ -67,10 +67,15 @@ public override bool Equals(object obj)
|
||||
public static Quality HDTV1080p { get { return new Quality(9, "HDTV-1080p"); } }
|
||||
public static Quality RAWHD { get { return new Quality(10, "Raw-HD"); } }
|
||||
//public static Quality HDTV480p { get { return new Quality(11, "HDTV-480p"); } }
|
||||
public static Quality HDTV2160p { get { return new Quality(12, "HDTV-2160p"); } }
|
||||
public static Quality WEBDL2160p { get { return new Quality(13, "WEBDL-2160p"); } }
|
||||
public static Quality Bluray2160p { get { return new Quality(14, "Bluray-2160p"); } }
|
||||
|
||||
//public static Quality WEBRip480p { get { return new Quality(12, "WEBRip-480p"); } }
|
||||
//public static Quality Bluray480p { get { return new Quality(13, "Bluray-480p"); } }
|
||||
//public static Quality WEBRip720p { get { return new Quality(14, "WEBRip-720p"); } }
|
||||
//public static Quality WEBRip1080p { get { return new Quality(15, "WEBRip-1080p"); } }
|
||||
public static Quality HDTV2160p { get { return new Quality(16, "HDTV-2160p"); } }
|
||||
//public static Quality WEBRip2160p { get { return new Quality(17, "WEBRip-1080p"); } }
|
||||
public static Quality WEBDL2160p { get { return new Quality(18, "WEBDL-2160p"); } }
|
||||
public static Quality Bluray2160p { get { return new Quality(19, "Bluray-2160p"); } }
|
||||
|
||||
public static List<Quality> All
|
||||
{
|
||||
get
|
||||
@ -112,9 +117,9 @@ public static HashSet<QualityDefinition> DefaultQualityDefinitions
|
||||
new QualityDefinition(Quality.Bluray720p) { Weight = 9, MinSize = 0, MaxSize = 100 },
|
||||
new QualityDefinition(Quality.WEBDL1080p) { Weight = 10, MinSize = 0, MaxSize = 100 },
|
||||
new QualityDefinition(Quality.Bluray1080p) { Weight = 11, MinSize = 0, MaxSize = 100 },
|
||||
new QualityDefinition(Quality.HDTV2160p) { Weight = 12, MinSize = 0, MaxSize = 100 },
|
||||
new QualityDefinition(Quality.WEBDL2160p) { Weight = 13, MinSize = 0, MaxSize = 100 },
|
||||
new QualityDefinition(Quality.Bluray2160p) { Weight = 14, MinSize = 0, MaxSize = 100 },
|
||||
new QualityDefinition(Quality.HDTV2160p) { Weight = 12, MinSize = 0, MaxSize = null },
|
||||
new QualityDefinition(Quality.WEBDL2160p) { Weight = 13, MinSize = 0, MaxSize = null },
|
||||
new QualityDefinition(Quality.Bluray2160p) { Weight = 14, MinSize = 0, MaxSize = null },
|
||||
};
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user