Tim Andersson has proposed merging ~andersson123/autopkgtest-cloud:fix-package-page-nonexistent-package into autopkgtest-cloud:master.
Requested reviews: Canonical's Ubuntu QA (canonical-ubuntu-qa) Related bugs: Bug #2058059 in Auto Package Testing: "Handle non-existent packages better" https://bugs.launchpad.net/auto-package-testing/+bug/2058059 For more details, see: https://code.launchpad.net/~andersson123/autopkgtest-cloud/+git/autopkgtest-cloud/+merge/462703 -- Your team Canonical's Ubuntu QA is requested to review the proposed merge of ~andersson123/autopkgtest-cloud:fix-package-page-nonexistent-package into autopkgtest-cloud:master.
diff --git a/charms/focal/autopkgtest-web/webcontrol/browse.cgi b/charms/focal/autopkgtest-web/webcontrol/browse.cgi index 810163d..27d36e5 100755 --- a/charms/focal/autopkgtest-web/webcontrol/browse.cgi +++ b/charms/focal/autopkgtest-web/webcontrol/browse.cgi @@ -12,7 +12,7 @@ from wsgiref.handlers import CGIHandler import flask from helpers.admin import select_abnormally_long_jobs -from helpers.exceptions import RunningJSONNotFound +from helpers.exceptions import NonExistentPackage, RunningJSONNotFound from helpers.utils import get_all_releases, get_supported_releases from werkzeug.middleware.proxy_fix import ProxyFix @@ -279,6 +279,8 @@ def package_overview(package, _=None): ): arches.add(row[3]) results.setdefault(row[2], {})[row[3]] = human_exitcode(row[1]) + if not results: + raise NonExistentPackage() running_info = dict( (k, v) for (k, v) in get_running_jobs().items() if k == package diff --git a/charms/focal/autopkgtest-web/webcontrol/helpers/exceptions.py b/charms/focal/autopkgtest-web/webcontrol/helpers/exceptions.py index e94164e..9b32ae4 100644 --- a/charms/focal/autopkgtest-web/webcontrol/helpers/exceptions.py +++ b/charms/focal/autopkgtest-web/webcontrol/helpers/exceptions.py @@ -15,6 +15,15 @@ class RunningJSONNotFound(FileNotFoundError): return 500 +class NonExistentPackage(Exception): + def __init__(self): + super().__init__() + self._code = 404 + + def exit_code(self): + return self._code + + class WebControlException(Exception): def __init__(self, message, exit_code): super().__init__(message)
-- Mailing list: https://launchpad.net/~canonical-ubuntu-qa Post to : canonical-ubuntu-qa@lists.launchpad.net Unsubscribe : https://launchpad.net/~canonical-ubuntu-qa More help : https://help.launchpad.net/ListHelp