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

Configure community possible again

parent b563e8bd
No related branches found
No related tags found
No related merge requests found
...@@ -7,8 +7,6 @@ Created on 21 févr. 2015 ...@@ -7,8 +7,6 @@ Created on 21 févr. 2015
from ucoinpy.documents.peer import Peer, BMAEndpoint, Endpoint from ucoinpy.documents.peer import Peer, BMAEndpoint, Endpoint
from ucoinpy.api import bma from ucoinpy.api import bma
from requests.exceptions import RequestException from requests.exceptions import RequestException
from ...core.person import Person
from ...tools.exceptions import PersonNotFoundError
import logging import logging
import time import time
......
...@@ -92,8 +92,7 @@ class StepPageAddpeers(Step): ...@@ -92,8 +92,7 @@ class StepPageAddpeers(Step):
def display_page(self): def display_page(self):
# We add already known peers to the displayed list # We add already known peers to the displayed list
for peer in self.config_dialog.community.peers: self.config_dialog.nodes = self.config_dialog.community.nodes
self.config_dialog.peers.append(peer)
try: try:
tree_model = PeeringTreeModel(self.config_dialog.community) tree_model = PeeringTreeModel(self.config_dialog.community)
except requests.exceptions.RequestException: except requests.exceptions.RequestException:
...@@ -119,7 +118,7 @@ class ProcessConfigureCommunity(QDialog, Ui_CommunityConfigurationDialog): ...@@ -119,7 +118,7 @@ class ProcessConfigureCommunity(QDialog, Ui_CommunityConfigurationDialog):
self.account = account self.account = account
self.password_asker = password_asker self.password_asker = password_asker
self.step = None self.step = None
self.peers = [] self.nodes = []
step_init = StepPageInit(self) step_init = StepPageInit(self)
step_add_peers = StepPageAddpeers(self) step_add_peers = StepPageAddpeers(self)
...@@ -189,7 +188,7 @@ class ProcessConfigureCommunity(QDialog, Ui_CommunityConfigurationDialog): ...@@ -189,7 +188,7 @@ class ProcessConfigureCommunity(QDialog, Ui_CommunityConfigurationDialog):
menu = QMenu() menu = QMenu()
action = menu.addAction("Delete", self.removeNode) action = menu.addAction("Delete", self.removeNode)
if self.community is not None: if self.community is not None:
if len(self.peers) == 1: if len(self.nodes) == 1:
action.setEnabled(False) action.setEnabled(False)
menu.exec_(self.mapToGlobal(point)) menu.exec_(self.mapToGlobal(point))
......
'''
Created on 5 févr. 2014
@author: inso
'''
import logging
from ucoinpy.documents.peer import BMAEndpoint, Peer
class RootItem(object):
def __init__(self, name):
self.name = name
self.main_peer_items = []
def appendChild(self, item):
self.main_peer_items.append(item)
def child(self, row):
return self.main_peer_items[row]
def childCount(self):
return len(self.main_peer_items)
def columnCount(self):
return 1
def data(self, column):
try:
return self.name
except IndexError:
return None
def parent(self):
return None
def row(self):
return 0
class PeerItem(object):
def __init__(self, main_peer, root_item):
e = next((e for e in main_peer.endpoints if type(e) is BMAEndpoint))
if e.server:
self.main_peer_text = "{0}:{1}".format(e.server, e.port)
elif e.ipv4:
self.main_peer_text = "{0}:{1}".format(e.ipv4, e.port)
elif e.ipv6:
self.main_peer_text = "{0}:{1}".format(e.ipv6, e.port)
else:
self.main_peer_text = "{0}".format(main_peer.pubkey)
self.root_item = root_item
self.peer_items = []
def appendChild(self, node_item):
self.peer_items.append(node_item)
def child(self, row):
return self.peer_items[row]
def childCount(self):
return len(self.peer_items)
def columnCount(self):
return 1
def data(self, column):
try:
return self.main_peer_text
except IndexError:
return None
def parent(self):
return self.root_item
def row(self):
if self.root_item:
return self.root_item.main_peer_items.index(self)
return 0
...@@ -7,11 +7,84 @@ Created on 5 févr. 2014 ...@@ -7,11 +7,84 @@ Created on 5 févr. 2014
from ucoinpy.api import bma from ucoinpy.api import bma
from ucoinpy.documents.peer import BMAEndpoint, Peer from ucoinpy.documents.peer import BMAEndpoint, Peer
from PyQt5.QtCore import QAbstractItemModel, QModelIndex, Qt from PyQt5.QtCore import QAbstractItemModel, QModelIndex, Qt
from .peer import PeerItem, RootItem
from requests.exceptions import Timeout from requests.exceptions import Timeout
import logging import logging
class RootItem(object):
def __init__(self, name):
self.name = name
self.node_items = []
def appendChild(self, item):
self.node_items.append(item)
def child(self, row):
return self.node_items[row]
def childCount(self):
return len(self.node_items)
def columnCount(self):
return 1
def data(self, column):
try:
return self.name
except IndexError:
return None
def parent(self):
return None
def row(self):
return 0
class NodeItem(object):
def __init__(self, node, root_item):
e = node.endpoint
if e.server:
self.address = "{0}:{1}".format(e.server, e.port)
elif e.ipv4:
self.address = "{0}:{1}".format(e.ipv4, e.port)
elif e.ipv6:
self.address = "{0}:{1}".format(e.ipv6, e.port)
else:
self.address = "{0}".format(node.pubkey)
self.root_item = root_item
self.node_items = []
def appendChild(self, node_item):
self.node_items.append(node_item)
def child(self, row):
return self.node_items[row]
def childCount(self):
return len(self.node_items)
def columnCount(self):
return 1
def data(self, column):
try:
return self.address
except IndexError:
return None
def parent(self):
return self.root_item
def row(self):
if self.root_item:
return self.root_item.node_items.index(self)
return 0
class PeeringTreeModel(QAbstractItemModel): class PeeringTreeModel(QAbstractItemModel):
''' '''
...@@ -23,7 +96,7 @@ class PeeringTreeModel(QAbstractItemModel): ...@@ -23,7 +96,7 @@ class PeeringTreeModel(QAbstractItemModel):
Constructor Constructor
''' '''
super().__init__(None) super().__init__(None)
self.peers = community.peering() self.nodes = community.nodes
self.root_item = RootItem(community.currency) self.root_item = RootItem(community.currency)
self.refresh_tree() self.refresh_tree()
...@@ -98,21 +171,6 @@ class PeeringTreeModel(QAbstractItemModel): ...@@ -98,21 +171,6 @@ class PeeringTreeModel(QAbstractItemModel):
def refresh_tree(self): def refresh_tree(self):
logging.debug("root : " + self.root_item.data(0)) logging.debug("root : " + self.root_item.data(0))
for peer in self.peers: for node in self.nodes:
logging.debug("Browser peers") node_item = NodeItem(node, self.root_item)
peer_item = PeerItem(peer, self.root_item) self.root_item.appendChild(node_item)
self.root_item.appendChild(peer_item)
try:
e = next((e for e in peer.endpoints if type(e) is BMAEndpoint))
peers = bma.network.peering.Peers(e.conn_handler()).get()
try:
for peer_data in peers:
peer = Peer.from_signed_raw("{0}{1}\n".format(peer_data['value']['raw'],
peer_data['value']['signature']))
child_node_item = PeerItem(peer, peer_item)
peer_item.appendChild(child_node_item)
except Timeout:
continue
except StopIteration as e:
continue
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment