From 16f439fa1f8ca099bf75fb84ed31a6d772aa9a3e Mon Sep 17 00:00:00 2001
From: Vincent Texier <vit@free.fr>
Date: Sat, 3 Oct 2015 11:33:08 +0200
Subject: [PATCH] Fix bug endless loading of wot if path can not be determine
 between two identities

---
 src/cutecoin/core/graph.py | 19 +++++++++++++++++--
 1 file changed, 17 insertions(+), 2 deletions(-)

diff --git a/src/cutecoin/core/graph.py b/src/cutecoin/core/graph.py
index 4001afb6..aaba1eda 100644
--- a/src/cutecoin/core/graph.py
+++ b/src/cutecoin/core/graph.py
@@ -56,13 +56,28 @@ class Graph(object):
         """
         path = list()
 
+        # if from_identity has no certifications, we can not make a path
+        certifier_list = yield from from_identity.unique_valid_certifiers_of(self.app.identities_registry, self.community)
+        certified_list = yield from from_identity.unique_valid_certified_by(self.app.identities_registry, self.community)
+        print (certifier_list, certified_list)
+        if not certifier_list and not certified_list:
+            logging.debug('from_identity has no certifications : can not calculate wot path')
+            return path
+
+        # if to_identity has no certifications, we can not make a path
+        certifier_list = yield from to_identity.unique_valid_certifiers_of(self.app.identities_registry, self.community)
+        certified_list = yield from to_identity.unique_valid_certified_by(self.app.identities_registry, self.community)
+        if not certifier_list and not certified_list:
+            logging.debug('to_identity has no certifications : can not calculate wot path')
+            return path
+
         logging.debug("path between %s to %s..." % (from_identity.uid, to_identity.uid))
         if from_identity.pubkey not in self._graph.keys():
             self.add_identity(from_identity)
-            certifier_list = yield from from_identity.certifiers_of(self.app.identities_registry,
+            certifier_list = yield from from_identity.unique_valid_certifiers_of(self.app.identities_registry,
                                                                     self.community)
             yield from self.add_certifier_list(certifier_list, from_identity, to_identity)
-            certified_list = yield from from_identity.certified_by(self.app.identities_registry,
+            certified_list = yield from from_identity.unique_valid_certified_by(self.app.identities_registry,
                                                                    self.community)
             yield from self.add_certified_list(certified_list, from_identity, to_identity)
 
-- 
GitLab