By default return only drivers for active releases

Active releases are configured in etc/default_data.json

Change-Id: I3757e291f773176598dce763b5b6cda8fcdbfad6
This commit is contained in:
Ilya Shakhat 2018-03-02 10:40:33 +01:00
parent 848f5f38ae
commit 9726be8fc1
1 changed files with 9 additions and 1 deletions

View File

@ -27,14 +27,22 @@ def get_drivers_internal(**params):
drivers = vault.get_vault()['drivers_map'] drivers = vault.get_vault()['drivers_map']
filtered_drivers = [] 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(): for driver in drivers.values():
include = True include = True
for param, value in params.iteritems(): for param, value in params.iteritems():
value = value.lower() value = value.lower()
if param == 'release_id' and value: if param == 'release_id' and value:
query_releases = set(value.split(','))
found = False found = False
for release in driver['releases_info']: for release in driver['releases_info']:
if release['release_id'] == value: if release['release_id'] in query_releases:
found = True found = True
break break