@@ -73,6 +73,9 @@ class ScoreCardBackend {
73
73
@visibleForTesting
74
74
Future <PackageView ?> getPackageView (String package) async {
75
75
return await cache.packageView (package).get (() async {
76
+ if (! await packageBackend.isPackageVisible (package)) {
77
+ return null ;
78
+ }
76
79
final p = await packageBackend.lookupPackage (package);
77
80
if (p == null ) {
78
81
_logger.warning ('Package lookup failed for "$package ".' );
@@ -85,20 +88,24 @@ class ScoreCardBackend {
85
88
return null ;
86
89
}
87
90
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
+ }
102
109
});
103
110
}
104
111
0 commit comments