From f3c1f1ae5fb7d99467c059b3ed1e55a100ec87de Mon Sep 17 00:00:00 2001 From: Inso <insomniak.fr@gmail.com> Date: Sat, 12 Sep 2015 12:12:39 +0200 Subject: [PATCH] Fix bug in wot parsing --- src/cutecoin/core/graph.py | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/src/cutecoin/core/graph.py b/src/cutecoin/core/graph.py index 32db6b8d..19197971 100644 --- a/src/cutecoin/core/graph.py +++ b/src/cutecoin/core/graph.py @@ -58,17 +58,19 @@ class Graph(object): self.add_identity(from_identity) certifier_list = yield from from_identity.certifiers_of(self.app.identities_registry, self.community) - self.add_certifier_list(certifier_list, from_identity, to_identity) + yield from self.add_certifier_list(certifier_list, from_identity, to_identity) certified_list = yield from from_identity.certified_by(self.app.identities_registry, self.community) - self.add_certified_list(certified_list, from_identity, to_identity) + yield from self.add_certified_list(certified_list, from_identity, to_identity) if to_identity.pubkey not in self._graph.keys(): # recursively feed graph searching for account node... - yield from self.explore_to_find_member(to_identity, self._graph[from_identity.pubkey]['connected'], list()) + yield from self.explore_to_find_member(to_identity, + self._graph[from_identity.pubkey]['connected'], list()) if len(self._graph[from_identity.pubkey]['connected']) > 0: # calculate path of nodes between identity and to_identity - path = yield from self.find_shortest_path(self._graph[from_identity.pubkey], self._graph[to_identity.pubkey]) + path = yield from self.find_shortest_path(self._graph[from_identity.pubkey], + self._graph[to_identity.pubkey]) if path: logging.debug([node['text'] for node in path]) @@ -101,19 +103,21 @@ class Graph(object): identity_selected = identity.from_handled_data(node['text'], node['id'], BlockchainState.VALIDATED) certifier_list = yield from identity_selected.unique_valid_certifiers_of(self.app.identities_registry, self.community) - self.add_certifier_list(certifier_list, identity_selected, identity) + yield from self.add_certifier_list(certifier_list, identity_selected, identity) if identity.pubkey in tuple(self._graph.keys()): return False certified_list = yield from identity_selected.unique_valid_certified_by(self.app.identities_registry, self.community) - self.add_certified_list(certified_list, identity_selected, identity) + yield from self.add_certified_list(certified_list, identity_selected, identity) if identity.pubkey in tuple(self._graph.keys()): return False if node['id'] not in tuple(done): done.append(node['id']) if len(done) >= len(self._graph): return True - result = self.explore_to_find_member(identity, self._graph[identity_selected.pubkey]['connected'], done) + result = yield from self.explore_to_find_member(identity, + self._graph[identity_selected.pubkey]['connected'], + done) if not result: return False @@ -162,9 +166,10 @@ class Graph(object): # new node if certifier['identity'].pubkey not in self._graph.keys(): node_status = 0 + is_member = yield from certifier['identity'].is_member(self.community) if certifier['identity'].pubkey == identity_account.pubkey: node_status += NODE_STATUS_HIGHLIGHTED - if certifier['identity'].is_member(self.community) is False: + if is_member is False: node_status += NODE_STATUS_OUT self._graph[certifier['identity'].pubkey] = { 'id': certifier['identity'].pubkey, @@ -239,9 +244,10 @@ class Graph(object): continue if certified['identity'].pubkey not in self._graph.keys(): node_status = 0 + is_member = yield from certified['identity'].is_member(self.community) if certified['identity'].pubkey == identity_account.pubkey: node_status += NODE_STATUS_HIGHLIGHTED - if certified['identity'].is_member(self.community) is False: + if is_member is False: node_status += NODE_STATUS_OUT self._graph[certified['identity'].pubkey] = { 'id': certified['identity'].pubkey, -- GitLab