mirror of
https://github.com/pablorevilla-meshtastic/meshview.git
synced 2026-03-04 23:27:46 +01:00
Fix broken image when missing telemetry.
This commit is contained in:
@@ -182,3 +182,12 @@ async def get_packets_seen(packet_id):
|
||||
.order_by(PacketSeen.import_time.desc())
|
||||
)
|
||||
return result.scalars()
|
||||
|
||||
|
||||
async def has_packets(node_id, portnum):
|
||||
async with database.async_session() as session:
|
||||
return bool(
|
||||
(await session.execute(
|
||||
select(Packet.id).where(Packet.from_node_id == node_id).limit(1)
|
||||
)).scalar()
|
||||
)
|
||||
|
||||
@@ -45,7 +45,9 @@
|
||||
<dt>hw model</dt>
|
||||
<dd>{{node.hw_model}}</dd>
|
||||
</dl>
|
||||
{% if has_telemetry %}
|
||||
<a href="/graph/power/{{node_id}}"><img src="/graph/power/{{node_id}}" height="200em" width="200em"/></a>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% else %}
|
||||
<div class="card-body">
|
||||
|
||||
@@ -237,6 +237,7 @@ async def packet_list(request):
|
||||
node = tg.create_task(store.get_node(node_id))
|
||||
trace = tg.create_task(build_trace(node_id))
|
||||
neighbors = tg.create_task(build_neighbors(node_id))
|
||||
has_telemetry = tg.create_task(store.has_packets(node_id, PortNum.TELEMETRY_APP))
|
||||
|
||||
packets = (Packet.from_model(p) for p in await raw_packets)
|
||||
|
||||
@@ -250,6 +251,7 @@ async def packet_list(request):
|
||||
packet_event="packet",
|
||||
trace=await trace,
|
||||
neighbors=await neighbors,
|
||||
has_telemetry=await has_telemetry,
|
||||
),
|
||||
content_type="text/html",
|
||||
)
|
||||
@@ -264,6 +266,7 @@ async def uplinked_list(request):
|
||||
node = tg.create_task(store.get_node(node_id))
|
||||
trace = tg.create_task(build_trace(node_id))
|
||||
neighbors = tg.create_task(build_neighbors(node_id))
|
||||
has_telemetry = tg.create_task(store.has_packets(node_id, PortNum.TELEMETRY_APP))
|
||||
|
||||
packets = (Packet.from_model(p) for p in await raw_packets)
|
||||
|
||||
@@ -277,6 +280,7 @@ async def uplinked_list(request):
|
||||
packet_event="uplinked",
|
||||
trace=await trace,
|
||||
neighbors=await neighbors,
|
||||
has_telemetry=await has_telemetry,
|
||||
),
|
||||
content_type="text/html",
|
||||
)
|
||||
@@ -437,6 +441,14 @@ async def graph_power(request):
|
||||
battery.append(payload.device_metrics.battery_level)
|
||||
voltage.append(payload.device_metrics.voltage)
|
||||
|
||||
|
||||
if not date:
|
||||
return web.Response(
|
||||
status=404,
|
||||
content_type="image/png",
|
||||
)
|
||||
|
||||
|
||||
max_time = datetime.timedelta(days=4)
|
||||
newest = date[0]
|
||||
for i, d in enumerate(date):
|
||||
|
||||
Reference in New Issue
Block a user