From 218130517cbc3ad05056354aa4d38ac0ccc27273 Mon Sep 17 00:00:00 2001 From: Emilio Pozuelo Monfort Date: Mon, 2 Dec 2019 14:02:49 +0100 Subject: tracker_service: dynamically register stable releases --- bin/tracker_service.py | 56 ++++++++++++++++++++++++-------------------------- 1 file changed, 27 insertions(+), 29 deletions(-) (limited to 'bin') diff --git a/bin/tracker_service.py b/bin/tracker_service.py index 7a1080743f..75f9eca426 100755 --- a/bin/tracker_service.py +++ b/bin/tracker_service.py @@ -139,23 +139,24 @@ class TrackerService(webservice_base_class): self.json_data = None # the JSON dump itself self.json_timestamp = None # timestamp of JSON generation self.json_last_modified = None + + self.stable_releases = config.get_supported_releases() + self.stable_releases.remove(config.get_release_codename('testing')) + self.stable_releases.remove('sid') + self.stable_releases.reverse() + self.register('', self.page_home) self.register('*', self.page_object) self.register('redirect/*', self.page_redirect) self.register('source-package/*', self.page_source_package) - if config.get_release_codename('oldoldstable'): - self.register('status/release/oldoldstable', + + for release in self.stable_releases: + alias = config.get_release_alias(release) + self.register('status/release/' + alias, self.page_status_release_stable_like) - self.register('status/release/oldstable', - self.page_status_release_stable_like) - self.register('status/release/stable', self.page_status_release_stable_like) - self.register('status/release/stable-backports', - self.page_status_release_backports_like) - self.register('status/release/oldstable-backports', - self.page_status_release_backports_like) - if config.get_release_codename('oldoldstable'): - self.register('status/release/oldoldstable-backports', + self.register('status/release/' + alias + '-backports', self.page_status_release_backports_like) + self.register('status/release/testing', self.page_status_release_testing) self.register('status/release/unstable', @@ -216,6 +217,16 @@ class TrackerService(webservice_base_class): else: return RedirectResult(url.scriptRelativeFull(query)) + def gen_stable_links(): + links = [] + for release in self.stable_releases: + alias = config.get_release_alias(release) + links.append(('status/release/' + alias, + 'Vulnerable packages in the ' + alias + ' suite')) + links.append(('status/release/' + alias + '-backports', + 'Vulnerable packages in backports for ' + alias)) + return links + return self.create_page( url, 'Security Bug Tracker', [P( @@ -241,25 +252,12 @@ aware of and/or help us improve the quality of this information by """, NAV(make_menu( url.scriptRelative, - ('status/release/unstable', + *[('status/release/unstable', 'Vulnerable packages in the unstable suite'), ('status/release/testing', - 'Vulnerable packages in the testing suite'), - ('status/release/stable', - 'Vulnerable packages in the stable suite'), - ('status/release/stable-backports', - 'Vulnerable packages in backports for stable'), - ('status/release/oldstable', - 'Vulnerable packages in the oldstable suite'), - ('status/release/oldstable-backports', - 'Vulnerable packages in backports for oldstable'), - config.get_release_codename('oldoldstable') and - ('status/release/oldoldstable', - 'Vulnerable packages in the oldoldstable suite') or ('', ''), - config.get_release_codename('oldoldstable') and - ('status/release/oldoldstable-backports', - 'Vulnerable packages in backports for oldoldstable') or ('', ''), - ('status/dtsa-candidates', "Candidates for DTSAs"), + 'Vulnerable packages in the testing suite')] + + gen_stable_links() + + [('status/dtsa-candidates', "Candidates for DTSAs"), ('status/todo', 'TODO items'), ('status/undetermined', 'Packages that may be vulnerable but need to be checked (undetermined issues)'), ('status/unimportant', 'Packages that have open unimportant issues'), @@ -278,7 +276,7 @@ aware of and/or help us improve the quality of this information by """, 'Covered Debian releases and architectures'), ('data/json', 'All information in JSON format') - )), + ])), self.make_search_button(url), P("""(You can enter CVE names, Debian bug numbers and package -- cgit v1.2.3