From fcc6af0cb6247093a1414ccbefef0061b80fa0e7 Mon Sep 17 00:00:00 2001 From: Bjarke Madsen <bjarke.madsen@geant.org> Date: Tue, 14 Sep 2021 12:48:24 +0200 Subject: [PATCH] Bugfix --- brian_dashboard_manager/grafana/dashboard.py | 17 ++++------------- brian_dashboard_manager/grafana/provision.py | 8 +++++--- 2 files changed, 9 insertions(+), 16 deletions(-) diff --git a/brian_dashboard_manager/grafana/dashboard.py b/brian_dashboard_manager/grafana/dashboard.py index 3ab43d3..8deec69 100644 --- a/brian_dashboard_manager/grafana/dashboard.py +++ b/brian_dashboard_manager/grafana/dashboard.py @@ -73,26 +73,17 @@ def delete_dashboards(request: TokenRequest): return True -# lists all dashboards, optionally within a folder -def list_dashboards(request: TokenRequest, folder_id=None): - params = { - 'query': '' - } - if folder_id is not None: - params['folderIds'] = folder_id - - r = request.get('api/search', params=params) - return r - - # Searches for a dashboard with given title -def find_dashboard(request: TokenRequest, title=None): +def find_dashboard(request: TokenRequest, title=None, folder_id=None): param = { **({'query': title} if title else {}), 'type': 'dash-db', 'limit': 5000, 'page': 1 } + if folder_id is not None: + param['folderIds'] = folder_id + r = request.get('api/search', params=param) if r and len(r) > 0: if title: diff --git a/brian_dashboard_manager/grafana/provision.py b/brian_dashboard_manager/grafana/provision.py index 7a9bc70..3ca0877 100644 --- a/brian_dashboard_manager/grafana/provision.py +++ b/brian_dashboard_manager/grafana/provision.py @@ -18,8 +18,7 @@ from brian_dashboard_manager.grafana.organization import \ get_organizations, create_organization, create_api_token, \ delete_api_token, delete_expired_api_tokens, set_home_dashboard from brian_dashboard_manager.grafana.dashboard import find_dashboard, \ - get_dashboard_definitions, create_dashboard, delete_dashboard, \ - list_dashboards + get_dashboard_definitions, create_dashboard, delete_dashboard from brian_dashboard_manager.grafana.datasource import \ check_provisioned, create_datasource from brian_dashboard_manager.grafana.folder import find_folder, \ @@ -457,7 +456,10 @@ def provision(config): folder = find_folder(token_request, name, create=False) if folder is None: continue - to_ignore = list_dashboards(token_request, folder['id']) + to_ignore = find_dashboard(token_request, folder_id=folder['id']) + + if to_ignore is None: + continue for dash in to_ignore: # mark it updated, so we don't modify it. -- GitLab