diff --git a/src/sakia/core/txhistory.py b/src/sakia/core/txhistory.py index 691202b9810c538756e50cd5c468850fc34967aa..aa862d486464832d74a213310e8501542b5e7d7d 100644 --- a/src/sakia/core/txhistory.py +++ b/src/sakia/core/txhistory.py @@ -61,9 +61,16 @@ class TxHistory(): data_sources.append(s) data_dividends = [] - for d in self._dividends.copy(): - d['state'] = d['state'].name - data_dividends.append(d) + for d in self._dividends: + dividend = { + 'block_number': d['block_number'], + "consumed": d['consumed'], + 'time': d['time'], + 'amount': d['amount'], + 'base': d['base'], + 'state': d['state'].name + } + data_dividends.append(dividend) return {'latest_block': self.latest_block, 'transfers': data_transfer, diff --git a/src/sakia/gui/process_cfg_community.py b/src/sakia/gui/process_cfg_community.py index 2402631fb47db77a10137187d058ce1b44423b9b..d7b0b44172bf19f4b7bf8a011b9b8de0629b452b 100644 --- a/src/sakia/gui/process_cfg_community.py +++ b/src/sakia/gui/process_cfg_community.py @@ -8,6 +8,7 @@ import logging import asyncio import aiohttp +from ucoinpy.api.bma import UcoinError from ucoinpy.documents import MalformedDocumentError from PyQt5.QtWidgets import QDialog, QMenu, QApplication from PyQt5.QtGui import QCursor @@ -20,6 +21,7 @@ from ..core.net import Node from .widgets import toast from .widgets.dialogs import QAsyncMessageBox from ..tools.decorators import asyncify +from ..tools.exceptions import NoPeerAvailable class Step(QObject): @@ -111,7 +113,8 @@ Yours : {0}, the network : {1}""".format(registered[1], registered[2]))) port = self.config_dialog.spinbox_port.value() logging.debug("Is valid ? ") try: - self.node = await Node.from_address(None, server, port, session=aiohttp.ClientSession()) + session = aiohttp.ClientSession() + self.node = await Node.from_address(None, server, port, session=session) community = Community.create(self.node) self.config_dialog.button_connect.setEnabled(False) self.config_dialog.button_register.setEnabled(False) @@ -141,12 +144,12 @@ Yours : {0}, the network : {1}""".format(registered[1], registered[2]))) Yours : {0}, the network : {1}""".format(registered[1], registered[2]))) else: self.config_dialog.label_error.setText(self.tr("Your account already exists on the network")) - except aiohttp.errors.DisconnectedError as e: - self.config_dialog.label_error.setText(str(e)) - except aiohttp.errors.ClientError as e: + except (MalformedDocumentError, ValueError, UcoinError, + aiohttp.errors.ClientError, aiohttp.errors.DisconnectedError) as e: + session.close() self.config_dialog.label_error.setText(str(e)) - #except (MalformedDocumentError, ValueError) as e: - # self.config_dialog.label_error.setText(str(e)) + except NoPeerAvailable: + self.config_dialog.label_error.setText(self.tr("Could not connect. Check node peering entry")) def is_valid(self): return self.node is not None