|
@@ -156,17 +156,13 @@ namespace MediaBrowser.Common.Implementations.Updates
|
|
|
}
|
|
|
|
|
|
private Tuple<List<PackageInfo>, DateTime> _lastPackageListResult;
|
|
|
-
|
|
|
+
|
|
|
/// <summary>
|
|
|
/// Gets all available packages.
|
|
|
/// </summary>
|
|
|
/// <param name="cancellationToken">The cancellation token.</param>
|
|
|
- /// <param name="packageType">Type of the package.</param>
|
|
|
- /// <param name="applicationVersion">The application version.</param>
|
|
|
/// <returns>Task{List{PackageInfo}}.</returns>
|
|
|
- public async Task<IEnumerable<PackageInfo>> GetAvailablePackagesWithoutRegistrationInfo(CancellationToken cancellationToken,
|
|
|
- PackageType? packageType = null,
|
|
|
- Version applicationVersion = null)
|
|
|
+ public async Task<IEnumerable<PackageInfo>> GetAvailablePackagesWithoutRegistrationInfo(CancellationToken cancellationToken)
|
|
|
{
|
|
|
if (_lastPackageListResult != null)
|
|
|
{
|
|
@@ -187,10 +183,26 @@ namespace MediaBrowser.Common.Implementations.Updates
|
|
|
|
|
|
var packages = _jsonSerializer.DeserializeFromStream<List<PackageInfo>>(json).ToList();
|
|
|
|
|
|
+ packages = FilterPackages(packages).ToList();
|
|
|
+
|
|
|
_lastPackageListResult = new Tuple<List<PackageInfo>, DateTime>(packages, DateTime.UtcNow);
|
|
|
|
|
|
- return FilterPackages(packages, packageType, applicationVersion);
|
|
|
+ return _lastPackageListResult.Item1;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ protected IEnumerable<PackageInfo> FilterPackages(List<PackageInfo> packages)
|
|
|
+ {
|
|
|
+ foreach (var package in packages)
|
|
|
+ {
|
|
|
+ package.versions = package.versions.Where(v => !string.IsNullOrWhiteSpace(v.sourceUrl))
|
|
|
+ .OrderByDescending(v => v.version).ToList();
|
|
|
}
|
|
|
+
|
|
|
+ // Remove packages with no versions
|
|
|
+ packages = packages.Where(p => p.versions.Any()).ToList();
|
|
|
+
|
|
|
+ return packages;
|
|
|
}
|
|
|
|
|
|
protected IEnumerable<PackageInfo> FilterPackages(List<PackageInfo> packages, PackageType? packageType, Version applicationVersion)
|