update recording layout

This commit is contained in:
Luke Pulverenti
2016-09-05 01:39:14 -04:00
parent 22ac006d4e
commit cc7b150b90
8 changed files with 103 additions and 17 deletions

View File

@@ -1,4 +1,5 @@
using System;
using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;
using MediaBrowser.Common.Implementations.Updates;
@@ -55,21 +56,39 @@ namespace MediaBrowser.Server.Startup.Common.Migrations
}
}
private async Task CheckVersion(Version currentVersion, PackageVersionClass updateLevel, CancellationToken cancellationToken)
private async Task CheckVersion(Version currentVersion, PackageVersionClass currentUpdateLevel, CancellationToken cancellationToken)
{
var releases = await new GithubUpdater(_httpClient, _jsonSerializer, TimeSpan.FromMinutes(3))
.GetLatestReleases("MediaBrowser", "Emby", _releaseAssetFilename, cancellationToken).ConfigureAwait(false);
var newUpdateLevel = updateLevel;
var newUpdateLevel = GetNewUpdateLevel(currentVersion, currentUpdateLevel, releases);
if (newUpdateLevel != currentUpdateLevel)
{
_config.Configuration.SystemUpdateLevel = newUpdateLevel;
_config.SaveConfiguration();
}
}
private PackageVersionClass GetNewUpdateLevel(Version currentVersion, PackageVersionClass currentUpdateLevel, List<GithubUpdater.RootObject> releases)
{
var newUpdateLevel = currentUpdateLevel;
// If the current version is later than current stable, set the update level to beta
if (releases.Count >= 1)
{
var release = releases[0];
var version = ParseVersion(release.tag_name);
if (version != null && currentVersion > version)
if (version != null)
{
newUpdateLevel = PackageVersionClass.Beta;
if (currentVersion > version)
{
newUpdateLevel = PackageVersionClass.Beta;
}
else
{
return PackageVersionClass.Release;
}
}
}
@@ -78,17 +97,20 @@ namespace MediaBrowser.Server.Startup.Common.Migrations
{
var release = releases[1];
var version = ParseVersion(release.tag_name);
if (version != null && currentVersion > version)
if (version != null)
{
newUpdateLevel = PackageVersionClass.Dev;
if (currentVersion > version)
{
newUpdateLevel = PackageVersionClass.Dev;
}
else
{
return PackageVersionClass.Beta;
}
}
}
if (newUpdateLevel != updateLevel)
{
_config.Configuration.SystemUpdateLevel = newUpdateLevel;
_config.SaveConfiguration();
}
return newUpdateLevel;
}
private Version ParseVersion(string versionString)