From 6107ddfa74feeb6e8a13e75454bac12f1e6b3a9b Mon Sep 17 00:00:00 2001 From: lunar-mining Date: Tue, 17 Oct 2023 18:04:50 +0200 Subject: [PATCH] dnet: update asyncio to latest usage and minor bug fix asyncio.get_event_loop() is deprecated since version 3.10. instead we use the proper method: create a new event loop and then set it as follows: self.ev = asyncio.new_event_loop() asyncio.set_event_loop(self.ev) --- bin/dnet/main.py | 3 ++- bin/dnet/model.py | 3 ++- bin/dnet/view.py | 50 +++++++++++++++++++++++------------------------ 3 files changed, 29 insertions(+), 27 deletions(-) diff --git a/bin/dnet/main.py b/bin/dnet/main.py index f1f0beca9..62038abc1 100644 --- a/bin/dnet/main.py +++ b/bin/dnet/main.py @@ -25,7 +25,8 @@ from view import View class Dnetview: def __init__(self): - self.ev = asyncio.get_event_loop() + self.ev = asyncio.new_event_loop() + asyncio.set_event_loop(self.ev) self.queue = asyncio.Queue() self.config = self.get_config() self.model = Model() diff --git a/bin/dnet/model.py b/bin/dnet/model.py index c774f116c..84cefd8c3 100644 --- a/bin/dnet/model.py +++ b/bin/dnet/model.py @@ -77,6 +77,7 @@ class Model: self.update_node(name, self.info) def handle_event(self, event): + logging.debug(event) name = list(event.keys())[0] values = list(event.values())[0] params = values.get("params") @@ -85,7 +86,7 @@ class Model: t = time.localtime() current_time = time.strftime("%H:%M:%S", t) - + match event: case "send": nano = info.get("time") diff --git a/bin/dnet/view.py b/bin/dnet/view.py index 462837c09..880a03151 100644 --- a/bin/dnet/view.py +++ b/bin/dnet/view.py @@ -213,35 +213,35 @@ class View(): await asyncio.sleep(0.1) self.pile.contents.clear() focus_w = self.list.get_focus() - match focus_w[0].get_widget(): - - case "NodeView": - self.pile.contents.append(( - urwid.Text(f"Node selected"), - self.pile.options())) - - case "ConnectView": - name = focus_w[0].get_name() - - if name in self.model.info.event.keys(): - values = self.model.info.event.get(name) - + if focus_w[0] is None: + continue + else: + match focus_w[0].get_widget(): + case "NodeView": self.pile.contents.append(( - urwid.Text(f" {values}"), + urwid.Text(f"Node selected"), self.pile.options())) + case "ConnectView": + name = focus_w[0].get_name() + + if name in self.model.info.event.keys(): + values = self.model.info.event.get(name) - case "SlotView": - addr = focus_w[0].get_addr() + self.pile.contents.append(( + urwid.Text(f" {values}"), + self.pile.options())) + case "SlotView": + addr = focus_w[0].get_addr() - if addr in self.model.info.msgs.keys(): - values = self.model.info.msgs.get(addr) + if addr in self.model.info.msgs.keys(): + values = self.model.info.msgs.get(addr) - for value in values: - time = value[0] - event = value[1] - msg = value[2] + for value in values: + time = value[0] + event = value[1] + msg = value[2] - self.pile.contents.append((urwid.Text( - f"{time}: {event}: {msg}"), - self.pile.options())) + self.pile.contents.append((urwid.Text( + f"{time}: {event}: {msg}"), + self.pile.options()))