Skip to content
Snippets Groups Projects
Commit f39a5c63 authored by inso's avatar inso
Browse files

Handle errors when connecting to first node

parent dd8c5093
No related branches found
No related tags found
No related merge requests found
......@@ -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,
......
......@@ -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
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment