Fix formatting of lib/view/prometheus.py

pull/1062/head
Igor Chubin 1 month ago
parent e00c8417ad
commit 20b5bd9a4a

@ -7,6 +7,7 @@ from datetime import datetime
from fields import DESCRIPTION from fields import DESCRIPTION
def _render_current(data, for_day="current", already_seen=[]): def _render_current(data, for_day="current", already_seen=[]):
"Converts data into prometheus style format" "Converts data into prometheus style format"
@ -38,21 +39,30 @@ def _render_current(data, for_day="current", already_seen=[]):
try: try:
float(value) float(value)
except ValueError: except ValueError:
description = f", description=\"{value}\"" description = f', description="{value}"'
value = "1" value = "1"
if name not in already_seen: if name not in already_seen:
output.append(f"# HELP {name} {help}") output.append(f"# HELP {name} {help}")
already_seen.append(name) already_seen.append(name)
output.append(f"{name}{{forecast=\"{for_day}\"{description}}} {value}") output.append(f'{name}{{forecast="{for_day}"{description}}} {value}')
return "\n".join(output) + "\n"
return "\n".join(output)+"\n"
def _convert_time_to_minutes(time_str): def _convert_time_to_minutes(time_str):
"Convert time from midnight to minutes" "Convert time from midnight to minutes"
return int((datetime.strptime(time_str, "%I:%M %p") return (
- datetime.strptime("12:00 AM", "%I:%M %p")).total_seconds())//60 int(
(
datetime.strptime(time_str, "%I:%M %p")
- datetime.strptime("12:00 AM", "%I:%M %p")
).total_seconds()
)
// 60
)
def render_prometheus(data): def render_prometheus(data):
""" """
@ -61,9 +71,9 @@ def render_prometheus(data):
""" """
already_seen = [] already_seen = []
answer = _render_current( answer = _render_current(data["current_condition"][0], already_seen=already_seen)
data["current_condition"][0], already_seen=already_seen)
for i in range(3): for i in range(3):
answer += _render_current( answer += _render_current(
data["weather"][i], for_day="%sd" % i, already_seen=already_seen) data["weather"][i], for_day="%sd" % i, already_seen=already_seen
)
return answer return answer

Loading…
Cancel
Save