]> git.ipfire.org Git - pbs.git/commitdiff
packages: Throw a better error if a file could not be found in an archive
authorMichael Tremer <michael.tremer@ipfire.org>
Thu, 27 Apr 2023 15:13:29 +0000 (15:13 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Thu, 27 Apr 2023 15:13:29 +0000 (15:13 +0000)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
src/web/packages.py

index b828f73b510ce9c70165f68157a0b501aa1192ab..5a04e1e70df6b9b7dab05f85021daf90454d385b 100644 (file)
@@ -93,11 +93,16 @@ class FileViewHandler(base.BaseHandler):
                if not file.is_viewable():
                        raise tornado.web.HTTPError(400, "%s cannot be viewed" % file)
 
+               # Fetch the payload
+               try:
+                       payload = await file.payload
+               except FileNotFoundError as e:
+                       raise tornado.web.HTTPError(404, "Could not open file %s" % path) from e
+
                # These pages should not be indexed
                self.add_header("X-Robots-Tag", "noindex")
 
-               self.render("packages/view-file.html", package=package,
-                       file=file, payload=await file.payload)
+               self.render("packages/view-file.html", package=package, file=file, payload=payload)
 
 
 class DependenciesModule(ui_modules.UIModule):