diff --git a/src/cutecoin/gui/views/wot.py b/src/cutecoin/gui/views/wot.py index 42d684065dbe52e944beb856d3147e36631a3479..e7efa174c30d055dd7dc82be69a1d0900415a658 100644 --- a/src/cutecoin/gui/views/wot.py +++ b/src/cutecoin/gui/views/wot.py @@ -124,15 +124,15 @@ class Scene(QGraphicsScene): y = 0 x = 200 # capture nodes for sorting by text - nodes = dict() + nodes = list() for arc in selected_node['arcs']: - nodes[arc['id']] = {'node': graph[arc['id']], 'arc': arc} + nodes.append({'node': graph[arc['id']], 'arc': arc}) # sort by text - nodes = ((k, v) for (k, v) in sorted(nodes.items(), key=lambda kv: kv[1]['node']['text'].lower())) + nodes = sorted(nodes, key=lambda _node: _node['node']['text'].lower()) # add nodes and arcs - for _id, items in nodes: - node = self.add_node(items['node'], (x, y)) - self.add_arc(root_node, node, items['arc']) + for _node in nodes: + node = self.add_node(_node['node'], (x, y)) + self.add_arc(root_node, node, _node['arc']) y += 50 #Â add certifiers of selected node @@ -142,11 +142,11 @@ class Scene(QGraphicsScene): nodes = ((k, v) for (k, v) in sorted(graph.items(), key=lambda kv: kv[1]['text'].lower()) if selected_id in (arc['id'] for arc in v['arcs'])) # add nodes and arcs for _id, certifier_node in nodes: - node = self.add_node(certifier_node, (x, y)) for arc in certifier_node['arcs']: if arc['id'] == selected_id: + node = self.add_node(certifier_node, (x, y)) self.add_arc(node, root_node, arc) - y += 50 + y += 50 self.update() @@ -239,15 +239,15 @@ class Node(QGraphicsEllipseItem): #Â create node context menus self.menu = QMenu() #Â action sign identity - self.action_sign = QAction('Sign identity', self.scene()) + self.action_sign = QAction('Certify identity', self.scene()) self.menu.addAction(self.action_sign) self.action_sign.triggered.connect(self.sign_action) #Â action transaction toward identity - self.action_transaction = QAction('Send money to identity', self.scene()) + self.action_transaction = QAction('Send money', self.scene()) self.menu.addAction(self.action_transaction) self.action_transaction.triggered.connect(self.transaction_action) #Â action add identity as contact - self.action_contact = QAction('Add identity as contact', self.scene()) + self.action_contact = QAction('Add as contact', self.scene()) self.menu.addAction(self.action_contact) self.action_contact.triggered.connect(self.contact_action) # run menu diff --git a/src/cutecoin/gui/wot_tab.py b/src/cutecoin/gui/wot_tab.py index ebc4eeabe0b4cbcd339842474dbfb8ada5abb1cd..ceb936821b03af7b32880711cff31ce69aa11ae6 100644 --- a/src/cutecoin/gui/wot_tab.py +++ b/src/cutecoin/gui/wot_tab.py @@ -71,6 +71,15 @@ class WotTabWidget(QWidget, Ui_WotTabWidget): #Â add certifiers of uid for certifier in certifiers['certifications']: + if certifier['pubkey'] not in graph.keys(): + node_status = (NODE_STATUS_HIGHLIGHTED and (certifier['pubkey'] == self.account.pubkey)) or 0 + graph[certifier['pubkey']] = { + 'id': certifier['pubkey'], + 'arcs': list(), + 'text': certifier['uid'], + 'tooltip': certifier['pubkey'], + 'status': node_status + } if (time.time() - certifier['cert_time']['medianTime']) > self.ARC_STATUS_STRONG_time: arc_status = ARC_STATUS_WEAK else: @@ -82,15 +91,7 @@ class WotTabWidget(QWidget, Ui_WotTabWidget): certifier['cert_time']['medianTime'] + self.signature_validity ).strftime("%Y/%m/%d") } - if certifier['pubkey'] not in graph.keys(): - node_status = (NODE_STATUS_HIGHLIGHTED and (certifier['pubkey'] == self.account.pubkey)) or 0 - graph[certifier['pubkey']] = { - 'id': certifier['pubkey'], - 'arcs': [arc], - 'text': certifier['uid'], - 'tooltip': certifier['pubkey'], - 'status': node_status - } + graph[certifier['pubkey']]['arcs'].append(arc) # add certified by uid for certified in self.community.request(bma.wot.CertifiedBy, {'search': public_key})['certifications']: @@ -167,10 +168,6 @@ class WotTabWidget(QWidget, Ui_WotTabWidget): ) def sign_node(self, metadata): - # check if identity already certified... - for certified in self.community.request(bma.wot.CertifiedBy, {'search': self.account.pubkey})['certifications']: - if metadata['id'] == certified['pubkey']: - return False # open certify dialog dialog = CertificationDialog(self.account) dialog.edit_pubkey.setText(metadata['id'])