mirror of
https://github.com/darkrenaissance/darkfi.git
synced 2026-01-10 07:08:05 -05:00
script/dnet: render slot msgs
This commit is contained in:
@@ -92,13 +92,11 @@ class Dnetview:
|
||||
|
||||
# Update event info: TODO
|
||||
if "params" in values:
|
||||
continue
|
||||
# TODO
|
||||
#self.model.handle_event(info)
|
||||
self.model.handle_event(info)
|
||||
|
||||
self.queue.task_done()
|
||||
except self.queue.is_empty():
|
||||
logging.debug("update_model(): QueueEmpty")
|
||||
except OSError as e:
|
||||
logging.debug("update_model(): error {}", e)
|
||||
|
||||
def main(self):
|
||||
logging.basicConfig(filename='dnet.log', encoding='utf-8', level=logging.DEBUG)
|
||||
|
||||
@@ -69,8 +69,26 @@ class Model:
|
||||
|
||||
def handle_event(self, event):
|
||||
name = list(event.keys())[0]
|
||||
params = list(event.values())[0]
|
||||
|
||||
values = list(event.values())[0]
|
||||
|
||||
params = values.get("params")
|
||||
event = params[0].get("event")
|
||||
info = params[0].get("info")
|
||||
|
||||
if "chan" in info:
|
||||
time = info.get("time")
|
||||
cmd = info.get("cmd")
|
||||
chan = info.get("chan")
|
||||
addr = chan.get("addr")
|
||||
|
||||
self.info.update_msg(addr, (time, event, cmd))
|
||||
else:
|
||||
# TODO
|
||||
#slot = info.get("slot")
|
||||
logging.debug(info)
|
||||
logging.debug(event)
|
||||
#self.info.update_msgs(addr, (time, event, cmd))
|
||||
|
||||
def __repr__(self):
|
||||
return f"{self.nodes}"
|
||||
|
||||
@@ -94,8 +112,11 @@ class Info:
|
||||
def update_seed(self, key, value):
|
||||
self.seed[key] = value
|
||||
|
||||
def update_msg(self, msg):
|
||||
self.msgs = msg
|
||||
def update_msg(self, key, value):
|
||||
if key in self.msgs:
|
||||
self.msgs[key] += [value]
|
||||
else:
|
||||
self.msgs[key] = [value]
|
||||
|
||||
def __repr__(self):
|
||||
return (
|
||||
|
||||
@@ -18,6 +18,7 @@
|
||||
import urwid
|
||||
import logging
|
||||
import asyncio
|
||||
import datetime
|
||||
|
||||
from scroll import ScrollBar, Scrollable
|
||||
from model import Model
|
||||
@@ -117,8 +118,8 @@ class View():
|
||||
("line","dark cyan","black","standout"),
|
||||
]
|
||||
|
||||
def __init__(self, data):
|
||||
self.data = data
|
||||
def __init__(self, model):
|
||||
self.model = model
|
||||
info_text = urwid.Text("")
|
||||
self.pile = urwid.Pile([info_text])
|
||||
scroll = ScrollBar(Scrollable(self.pile))
|
||||
@@ -139,7 +140,7 @@ class View():
|
||||
name = item.get_name()
|
||||
names.append(name)
|
||||
|
||||
for name, values in self.data.nodes.items():
|
||||
for name, values in self.model.nodes.items():
|
||||
if name in names:
|
||||
continue
|
||||
|
||||
@@ -181,10 +182,34 @@ class View():
|
||||
match focus_w[0].get_widget():
|
||||
case "NodeView":
|
||||
self.pile.contents.append((
|
||||
urwid.Text(f"Node selected"), self.pile.options()))
|
||||
urwid.Text(f"Node selected"),
|
||||
self.pile.options()))
|
||||
case "ConnectView":
|
||||
self.pile.contents.append((
|
||||
urwid.Text("Connection selected"), self.pile.options()))
|
||||
urwid.Text("Connection selected"),
|
||||
self.pile.options()))
|
||||
case "SlotView":
|
||||
self.pile.contents.append((
|
||||
urwid.Text("Slot selected"), self.pile.options()))
|
||||
name = focus_w[0].get_name()
|
||||
# Remove the prepend
|
||||
name = name[7:]
|
||||
if name in self.model.info.msgs.keys():
|
||||
values = (
|
||||
self.model.info.msgs.get(name)
|
||||
)
|
||||
for value in values:
|
||||
nanotime = (
|
||||
int(value[0])
|
||||
)
|
||||
time = (
|
||||
datetime.datetime.fromtimestamp(
|
||||
nanotime/1000000000).strftime(
|
||||
'%Y-%m-%d %H:%M:%S.%f')
|
||||
)
|
||||
event = value[1]
|
||||
msg = value[2]
|
||||
#logging.debug(values)
|
||||
self.pile.contents.append((
|
||||
urwid.Text(
|
||||
f"{time}: {event}: {msg}"),
|
||||
self.pile.options()))
|
||||
|
||||
|
||||
Reference in New Issue
Block a user