Skip to content
Snippets Groups Projects
Commit 8e2323e6 authored by Bjarke Madsen's avatar Bjarke Madsen
Browse files

Move find_folder to the grafana folder module

parent 193c6adc
No related branches found
No related tags found
No related merge requests found
...@@ -6,6 +6,20 @@ from brian_dashboard_manager.grafana.utils.request import TokenRequest ...@@ -6,6 +6,20 @@ from brian_dashboard_manager.grafana.utils.request import TokenRequest
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
def find_folder(token_request, title):
folders = get_folders(token_request)
try:
folder = next(
f for f in folders if f['title'].lower() == title.lower())
except StopIteration:
folder = None
if not folder:
logger.info(f'Created folder: {title}')
folder = create_folder(token_request, title)
return folder
def get_folders(request: TokenRequest): def get_folders(request: TokenRequest):
return request.get('api/folders') return request.get('api/folders')
...@@ -14,9 +28,7 @@ def create_folder(request: TokenRequest, title): ...@@ -14,9 +28,7 @@ def create_folder(request: TokenRequest, title):
try: try:
data = {'title': title, 'uid': title.replace(' ', '_')} data = {'title': title, 'uid': title.replace(' ', '_')}
r = request.post('api/folders', json=data) r = request.post('api/folders', json=data)
except HTTPError as e: except HTTPError:
message = e.content.get("message", "") logger.exception(f'Error when creating folder {title}')
logger.exception(
f'Error when creating folder {title} ({message})')
return None return None
return r return r
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment