public override async Task <IEnumerable <NuGetVersion> > GetVersions(string packageId, bool includePrerelease, bool includeUnlisted, CancellationToken token) { token.ThrowIfCancellationRequested(); return(await Task.Run(() => // year check workaround for p.Listed showing as False for online packages V2Client.FindPackagesById(packageId).Where(p => includeUnlisted || !p.Published.HasValue || p.Published.Value.Year > 1901) .Select(p => V2Utilities.SafeToNuGetVer(p.Version)) .Where(v => includePrerelease || !v.IsPrerelease).ToArray())); }
public override async Task <IEnumerable <NuGetVersion> > GetVersions(string packageId, bool includePrerelease, bool includeUnlisted, Common.ILogger log, CancellationToken token) { token.ThrowIfCancellationRequested(); try { return(await Task.Run(() => // year check workaround for p.Listed showing as False for online packages V2Client.FindPackagesById(packageId).Where(p => includeUnlisted || !p.Published.HasValue || p.Published.Value.Year > 1901) .Select(p => V2Utilities.SafeToNuGetVer(p.Version)) .Where(v => includePrerelease || !v.IsPrerelease).ToArray())); } catch (Exception ex) { throw new FatalProtocolException(string.Format(CultureInfo.CurrentCulture, Strings.Protocol_PackageMetadataError, packageId, V2Client.Source), ex); } }
private SimpleSearchMetadata CreatePackageSearchResult(IPackage package) { var versions = V2Client.FindPackagesById(package.Id); if (!versions.Any()) { versions = new[] { package }; } var id = package.Id; var version = V2Utilities.SafeToNuGetVer(package.Version); var summary = package.Summary; var nuGetVersions = versions.Select(p => V2Utilities.SafeToNuGetVer(p.Version)); if (string.IsNullOrWhiteSpace(summary)) { summary = package.Description; } var iconUrl = package.IconUrl; var identity = new PackageIdentity(id, version); var searchMetaData = new SimpleSearchMetadata(identity, summary, nuGetVersions); return(searchMetaData); }