aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Common.Implementations/Updates
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2016-01-03 14:01:05 -0500
committerLuke Pulverenti <luke.pulverenti@gmail.com>2016-01-08 21:00:25 -0500
commit1b50cd00ec7b81a8c571a8a50ca46c286fac2295 (patch)
tree839e31432c68da1cee220989d5e7dab3308a23b4 /MediaBrowser.Common.Implementations/Updates
parented66d1a80cd6d057b687823c14c455e5779f8e57 (diff)
update github updater
Diffstat (limited to 'MediaBrowser.Common.Implementations/Updates')
-rw-r--r--MediaBrowser.Common.Implementations/Updates/GithubUpdater.cs11
1 files changed, 8 insertions, 3 deletions
diff --git a/MediaBrowser.Common.Implementations/Updates/GithubUpdater.cs b/MediaBrowser.Common.Implementations/Updates/GithubUpdater.cs
index b5ccebd2a..a6dcc53d0 100644
--- a/MediaBrowser.Common.Implementations/Updates/GithubUpdater.cs
+++ b/MediaBrowser.Common.Implementations/Updates/GithubUpdater.cs
@@ -25,7 +25,7 @@ namespace MediaBrowser.Common.Implementations.Updates
_cacheLength = cacheLength;
}
- public async Task<CheckForUpdateResult> CheckForUpdateResult(string organzation, string repository, Version minVersion, bool includePrerelease, string assetFilename, string packageName, string targetFilename, CancellationToken cancellationToken)
+ public async Task<CheckForUpdateResult> CheckForUpdateResult(string organzation, string repository, Version minVersion, bool includePrerelease, string[] excludeSuffixes, string assetFilename, string packageName, string targetFilename, CancellationToken cancellationToken)
{
var url = string.Format("https://api.github.com/repos/{0}/{1}/releases", organzation, repository);
@@ -55,7 +55,7 @@ namespace MediaBrowser.Common.Implementations.Updates
{
var obj = _jsonSerializer.DeserializeFromStream<RootObject[]>(stream);
- var availableUpdate = CheckForUpdateResult(obj, minVersion, includePrerelease, assetFilename, packageName, targetFilename);
+ var availableUpdate = CheckForUpdateResult(obj, minVersion, includePrerelease, excludeSuffixes, assetFilename, packageName, targetFilename);
return availableUpdate ?? new CheckForUpdateResult
{
@@ -64,13 +64,18 @@ namespace MediaBrowser.Common.Implementations.Updates
}
}
- private CheckForUpdateResult CheckForUpdateResult(RootObject[] obj, Version minVersion, bool includePrerelease, string assetFilename, string packageName, string targetFilename)
+ private CheckForUpdateResult CheckForUpdateResult(RootObject[] obj, Version minVersion, bool includePrerelease, string[] excludeSuffixes, string assetFilename, string packageName, string targetFilename)
{
if (!includePrerelease)
{
obj = obj.Where(i => !i.prerelease).ToArray();
}
+ if (excludeSuffixes.Length > 0)
+ {
+ obj = obj.Where(i => !excludeSuffixes.Any(e => i.name.EndsWith(e, StringComparison.OrdinalIgnoreCase))).ToArray();
+ }
+
// TODO:
// Filter using name and check for suffixes such as -beta, -dev?