From 9726be8fc1064e15dff2fad2b6b373d1d99856fd Mon Sep 17 00:00:00 2001 From: Ilya Shakhat Date: Fri, 2 Mar 2018 10:40:33 +0100 Subject: [PATCH] By default return only drivers for active releases Active releases are configured in etc/default_data.json Change-Id: I3757e291f773176598dce763b5b6cda8fcdbfad6 --- driverlog/dashboard/api.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/driverlog/dashboard/api.py b/driverlog/dashboard/api.py index dcedaa8..bca9e9d 100644 --- a/driverlog/dashboard/api.py +++ b/driverlog/dashboard/api.py @@ -27,14 +27,22 @@ def get_drivers_internal(**params): drivers = vault.get_vault()['drivers_map'] filtered_drivers = [] + # when release_id is not set return only drivers from active releases + if not params.get('release_id'): + all_releases = vault.get_vault()['releases_map'] + active_releases = ','.join(sorted( + r['id'].lower() for r in all_releases.values() if r.get('active'))) + params['release_id'] = active_releases + for driver in drivers.values(): include = True for param, value in params.iteritems(): value = value.lower() if param == 'release_id' and value: + query_releases = set(value.split(',')) found = False for release in driver['releases_info']: - if release['release_id'] == value: + if release['release_id'] in query_releases: found = True break