From f3ed05c711cdd11311966303bc5c9b424a2d0bd6 Mon Sep 17 00:00:00 2001 From: Inso <insomniak.fr@gmail.com> Date: Mon, 14 Sep 2015 22:50:40 +0200 Subject: [PATCH] Handle None block in network --- src/cutecoin/core/account.py | 8 ++++---- src/cutecoin/core/net/node.py | 2 +- src/cutecoin/models/network.py | 7 +++++-- 3 files changed, 10 insertions(+), 7 deletions(-) diff --git a/src/cutecoin/core/account.py b/src/cutecoin/core/account.py index 421c7cfa..3339dbd8 100644 --- a/src/cutecoin/core/account.py +++ b/src/cutecoin/core/account.py @@ -301,7 +301,7 @@ class Account(QObject): elif not result[0]: result = (False, (yield from r.text())) else: - yield from r.text() + yield from r.release() return result @asyncio.coroutine @@ -336,7 +336,7 @@ class Account(QObject): elif not result[0]: result = (False, (yield from r.text())) else: - yield from r.text() + yield from r.release() return result @asyncio.coroutine @@ -373,7 +373,7 @@ class Account(QObject): elif not result[0]: result = (False, (yield from r.text())) else: - yield from r.text() + yield from r.release() return result @asyncio.coroutine @@ -409,7 +409,7 @@ class Account(QObject): elif not result[0]: result = (False, (yield from r.text())) else: - yield from r.text() + yield from r.release() return result def start_coroutines(self): diff --git a/src/cutecoin/core/net/node.py b/src/cutecoin/core/net/node.py index f8b5f9b2..1ba1bd32 100644 --- a/src/cutecoin/core/net/node.py +++ b/src/cutecoin/core/net/node.py @@ -295,7 +295,7 @@ class Node(QObject): block_data = yield from bma.blockchain.Current(conn_handler).get() block_hash = block_data['hash'] - if block_hash != self.block['hash']: + if not self.block or block_hash != self.block['hash']: self.set_block(block_data) logging.debug("Changed block {0} -> {1}".format(self.block['number'], block_data['number'])) diff --git a/src/cutecoin/models/network.py b/src/cutecoin/models/network.py index fdf42e0e..4c4e863b 100644 --- a/src/cutecoin/models/network.py +++ b/src/cutecoin/models/network.py @@ -166,8 +166,11 @@ class NetworkTableModel(QAbstractTableModel): port = node.endpoint.port is_root = self.community.network.is_root_node(node) - - return (address, port, node.block['number'], node.block['hash'], node.uid, + if node.block: + number, block_hash = node.block['number'], node.block['hash'] + else: + number, block_hash = "", "" + return (address, port, number, block_hash, node.uid, is_member, node.pubkey, node.software, node.version, is_root, node.state) @asyncify -- GitLab