@@ -73,6 +73,9 @@ class ScoreCardBackend {
7373 @visibleForTesting
7474 Future <PackageView ?> getPackageView (String package) async {
7575 return await cache.packageView (package).get (() async {
76+ if (! await packageBackend.isPackageVisible (package)) {
77+ return null ;
78+ }
7679 final p = await packageBackend.lookupPackage (package);
7780 if (p == null ) {
7881 _logger.warning ('Package lookup failed for "$package ".' );
@@ -85,20 +88,24 @@ class ScoreCardBackend {
8588 return null ;
8689 }
8790
88- final releases = await packageBackend.latestReleases (p);
89- final pvFuture = packageBackend.lookupPackageVersion (package, version);
90- final cardFuture = scoreCardBackend.getScoreCardData (package, version);
91- await Future .wait ([pvFuture, cardFuture]);
92-
93- final pv = await pvFuture;
94- final card = await cardFuture;
95-
96- return PackageView .fromModel (
97- package: p,
98- releases: releases,
99- version: pv,
100- scoreCard: card,
101- );
91+ try {
92+ final releases = await packageBackend.latestReleases (p);
93+ final pvFuture = packageBackend.lookupPackageVersion (package, version);
94+ final cardFuture = scoreCardBackend.getScoreCardData (package, version);
95+ await Future .wait ([pvFuture, cardFuture]);
96+
97+ final pv = await pvFuture;
98+ final card = await cardFuture;
99+
100+ return PackageView .fromModel (
101+ package: p,
102+ releases: releases,
103+ version: pv,
104+ scoreCard: card,
105+ );
106+ } on NotFoundException catch (_) {
107+ return null ;
108+ }
102109 });
103110 }
104111
0 commit comments