From 3bbf6929d46aec5ee241962cf8b23dbfa29043aa Mon Sep 17 00:00:00 2001 From: Pierre-Louis Bonicoli Date: Fri, 17 Mar 2017 00:27:57 +0100 Subject: [PATCH] Handle 'prehistory' release once and for all Change-Id: Id488658b22030f131a751e07843ba8c00f575597 Signed-off-by: Pierre-Louis Bonicoli --- stackalytics/dashboard/vault.py | 11 +---------- stackalytics/dashboard/web.py | 9 ++++++--- 2 files changed, 7 insertions(+), 13 deletions(-) diff --git a/stackalytics/dashboard/vault.py b/stackalytics/dashboard/vault.py index f303d8230..586247069 100644 --- a/stackalytics/dashboard/vault.py +++ b/stackalytics/dashboard/vault.py @@ -129,7 +129,7 @@ def get_runtime_storage(): def _init_releases(vault): runtime_storage_inst = vault['runtime_storage'] releases = runtime_storage_inst.get_by_key('releases') - releases_map = {} + releases_map = collections.OrderedDict() if releases: first_day = vault['memory_storage'].get_first_record_day() @@ -189,15 +189,6 @@ def get_project_types(): return get_vault()['project_types'] -def get_release_options(): - runtime_storage_inst = get_runtime_storage() - releases = runtime_storage_inst.get_by_key('releases') or [] - releases = [r for r in releases if r['release_name'] != 'prehistory'] - releases.append({'release_name': 'all'}) - releases.reverse() - return releases - - def is_project_type_valid(project_type): if not project_type: return False diff --git a/stackalytics/dashboard/web.py b/stackalytics/dashboard/web.py index f4d61c8fb..197e5fdf0 100644 --- a/stackalytics/dashboard/web.py +++ b/stackalytics/dashboard/web.py @@ -488,9 +488,12 @@ def get_user(user_id): @decorators.cached(ignore=parameters.FILTER_PARAMETERS) @decorators.jsonify(root=('data', 'default')) def get_releases_json(**kwargs): - return ([{'id': r['release_name'], 'text': r['release_name'].capitalize()} - for r in vault.get_release_options()], - parameters.get_default('release')) + releases = [{'id': release['release_name'], + 'text': release['release_name'].capitalize()} + for release in vault.get_vault()['releases'].values()] + releases.append({'id': 'all', 'text': 'All'}) + releases.reverse() + return (releases, parameters.get_default('release')) @app.route('/api/1.0/metrics')