Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

style: format code with Autopep8, Black, ClangFormat, dotnet-format, Go fmt, Gofumpt, Google Java Format, isort, Ktlint, PHP CS Fixer, Prettier, RuboCop, Ruff Formatter, Rustfmt, Scalafmt, StandardJS, StandardRB, swift-format and Yapf #175

Merged
merged 1 commit into from
May 12, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
85 changes: 34 additions & 51 deletions data_visualization/data_visualizer.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
import os

import requests


class DataVisualizer:
def __init__(self, grafana_url, grafana_api_key):
self.grafana_url = grafana_url
Expand All @@ -11,122 +13,103 @@ def create_dashboard(self, dashboard_title, panels):
Creates a new dashboard in Grafana.
"""
headers = {
'Authorization': f'Bearer {self.grafana_api_key}',
'Content-Type': 'application/json'
"Authorization": f"Bearer {self.grafana_api_key}",
"Content-Type": "application/json",
}

url = f'{self.grafana_url}/api/dashboards/db'
data = {
'dashboard': {
'title': dashboard_title,
'panels': panels
}
}
url = f"{self.grafana_url}/api/dashboards/db"
data = {"dashboard": {"title": dashboard_title, "panels": panels}}

response = requests.post(url, headers=headers, json=data)

if response.status_code != 200:
raise Exception(f'Failed to create dashboard: {response.text}')
raise Exception(f"Failed to create dashboard: {response.text}")

return response.json()['dashboard']['uid']
return response.json()["dashboard"]["uid"]

def update_dashboard(self, dashboard_uid, panels):
"""
Updates an existing dashboard in Grafana.
"""
headers = {
'Authorization': f'Bearer {self.grafana_api_key}',
'Content-Type': 'application/json'
"Authorization": f"Bearer {self.grafana_api_key}",
"Content-Type": "application/json",
}

url = f'{self.grafana_url}/api/dashboards/uid/{dashboard_uid}'
data = {
'dashboard': {
'panels': panels
}
}
url = f"{self.grafana_url}/api/dashboards/uid/{dashboard_uid}"
data = {"dashboard": {"panels": panels}}

response = requests.put(url, headers=headers, json=data)

if response.status_code != 200:
raise Exception(f'Failed to update dashboard: {response.text}')
raise Exception(f"Failed to update dashboard: {response.text}")

return response.json()['dashboard']['uid']
return response.json()["dashboard"]["uid"]

def delete_dashboard(self, dashboard_uid):
"""
Deletes a dashboard in Grafana.
"""
headers = {
'Authorization': f'Bearer {self.grafana_api_key}'
}
headers = {"Authorization": f"Bearer {self.grafana_api_key}"}

url = f'{self.grafana_url}/api/dashboards/uid/{dashboard_uid}'
url = f"{self.grafana_url}/api/dashboards/uid/{dashboard_uid}"

response = requests.delete(url, headers=headers)

if response.status_code != 200:
raise Exception(f'Failed to delete dashboard: {response.text}')
raise Exception(f"Failed to delete dashboard: {response.text}")

return response.json()['message']
return response.json()["message"]

def create_panel(self, panel_title, panel_type, panel_json):
"""
Creates a new panel in Grafana.
"""
headers = {
'Authorization': f'Bearer {self.grafana_api_key}',
'Content-Type': 'application/json'
"Authorization": f"Bearer {self.grafana_api_key}",
"Content-Type": "application/json",
}

url = f'{self.grafana_url}/api/panels/database'
data = {
'title': panel_title,
'type': panel_type,
'json': panel_json
}
url = f"{self.grafana_url}/api/panels/database"
data = {"title": panel_title, "type": panel_type, "json": panel_json}

response = requests.post(url, headers=headers, json=data)

if response.status_code != 200:
raise Exception(f'Failed to create panel: {response.text}')
raise Exception(f"Failed to create panel: {response.text}")

return response.json()['panelId']
return response.json()["panelId"]

def update_panel(self, panel_id, panel_json):
"""
Updates an existing panel in Grafana.
"""
headers = {
'Authorization': f'Bearer {self.grafana_api_key}',
'Content-Type': 'application/json'
"Authorization": f"Bearer {self.grafana_api_key}",
"Content-Type": "application/json",
}

url = f'{self.grafana_url}/api/panels/{panel_id}'
data = {
'json': panel_json
}
url = f"{self.grafana_url}/api/panels/{panel_id}"
data = {"json": panel_json}

response = requests.put(url, headers=headers, json=data)

if response.status_code != 200:
raise Exception(f'Failed to update panel: {response.text}')
raise Exception(f"Failed to update panel: {response.text}")

return response.json()['panelId']
return response.json()["panelId"]

def delete_panel(self, panel_id):
"""
Deletes a panel in Grafana.
"""
headers = {
'Authorization': f'Bearer {self.grafana_api_key}'
}
headers = {"Authorization": f"Bearer {self.grafana_api_key}"}

url = f'{self.grafana_url}/api/panels/{panel_id}'
url = f"{self.grafana_url}/api/panels/{panel_id}"

response = requests.delete(url, headers=headers)

if response.status_code != 200:
raise Exception(f'Failed to delete panel: {response.text}')
raise Exception(f"Failed to delete panel: {response.text}")

return response.json()['message']
return response.json()["message"]
Loading