diff --git a/doc/uml/core-classes.png b/doc/uml/core-classes.png index dfccd7f7b87feb90744a3c377883e90e4dcfb844..e4301ce094b5e534b468d8731cb8e30665b23bf1 100644 Binary files a/doc/uml/core-classes.png and b/doc/uml/core-classes.png differ diff --git a/doc/uml/core-classes.pu b/doc/uml/core-classes.pu index 2fc02975ab7bf9a741395af88b45222accbd55e5..65254f1fb470bc58622d323e598005600ed761e1 100644 --- a/doc/uml/core-classes.pu +++ b/doc/uml/core-classes.pu @@ -86,7 +86,13 @@ package core { -- Methods -- } - class Identity + App --> Identity + class Identity { + {static} _identities + {static} load(data : dict) + {static} lookup(search : str) + } + } diff --git a/doc/uml/cutecoin.png b/doc/uml/cutecoin.png index ff8a85b08ac56cdff28eef937fa8476b5eab4e0a..c577740021f71e58b15acba1783e3f1a130f7300 100644 Binary files a/doc/uml/cutecoin.png and b/doc/uml/cutecoin.png differ diff --git a/src/cutecoin/core/app.py b/src/cutecoin/core/app.py index 199a25f6109ccf430a7cb1fe1ba6c2e91a417fb6..a7558b824db7e8866ddb78d967b1a7a08ca9fd0b 100644 --- a/src/cutecoin/core/app.py +++ b/src/cutecoin/core/app.py @@ -405,19 +405,19 @@ class Application(QObject): latest = None releases = reply.readAll().data().decode('utf-8') logging.debug(releases) - for r in json.loads(releases): - if not latest: - latest = r - else: - latest_date = datetime.datetime.strptime(latest['published_at'], "%Y-%m-%dT%H:%M:%SZ") - date = datetime.datetime.strptime(r['published_at'], "%Y-%m-%dT%H:%M:%SZ") - if latest_date < date: + if reply == QNetworkReply.NoError: + for r in json.loads(releases): + if not latest: latest = r - latest_version = latest["tag_name"] - version = (__version__ == latest_version, - latest_version, - latest["html_url"]) - logging.debug("Found version : {0}".format(latest_version)) + else: + latest_date = datetime.datetime.strptime(latest['published_at'], "%Y-%m-%dT%H:%M:%SZ") + date = datetime.datetime.strptime(r['published_at'], "%Y-%m-%dT%H:%M:%SZ") + if latest_date < date: + latest = r + latest_version = latest["tag_name"] + version = (__version__ == latest_version, + latest_version, + latest["html_url"]) logging.debug("Current version : {0}".format(__version__)) self.available_version = version self.version_requested.emit() diff --git a/src/cutecoin/core/community.py b/src/cutecoin/core/community.py index 5e2aacd8d597c3f9195fc6b870fddfe5a935d67d..6cd2ded25e21c5df5b80f08fad6797d75facdfdd 100644 --- a/src/cutecoin/core/community.py +++ b/src/cutecoin/core/community.py @@ -513,16 +513,16 @@ class Community(QObject): return self._cache.qtrequest(caller, request, req_args, get_args) else: nodes = self._network.synced_nodes - node = random.choice(nodes) - server = node.endpoint.conn_handler().server - port = node.endpoint.conn_handler().port - conn_handler = qtbma.ConnectionHandler(self.network.network_manager, server, port) - req = request(conn_handler, **req_args) - reply = req.get(**get_args) - return reply - - if len(self.network.synced_nodes) == 0: - raise NoPeerAvailable(self.currency, len(nodes)) + if len(nodes) > 0: + node = random.choice(nodes) + server = node.endpoint.conn_handler().server + port = node.endpoint.conn_handler().port + conn_handler = qtbma.ConnectionHandler(self.network.network_manager, server, port) + req = request(conn_handler, **req_args) + reply = req.get(**get_args) + return reply + else: + raise NoPeerAvailable(self.currency, len(nodes)) def post(self, request, req_args={}, post_args={}): '''