Thread: SF.net SVN: fclient: [34] trunk/fclient/fclient_widgets/peer_widget.py
Status: Pre-Alpha
Brought to you by:
jurner
|
From: <jU...@us...> - 2007-11-02 08:28:16
|
Revision: 34
http://fclient.svn.sourceforge.net/fclient/?rev=34&view=rev
Author: jUrner
Date: 2007-11-02 01:28:13 -0700 (Fri, 02 Nov 2007)
Log Message:
-----------
continued implementig peers widget
Modified Paths:
--------------
trunk/fclient/fclient_widgets/peer_widget.py
Modified: trunk/fclient/fclient_widgets/peer_widget.py
===================================================================
--- trunk/fclient/fclient_widgets/peer_widget.py 2007-11-02 08:27:25 UTC (rev 33)
+++ trunk/fclient/fclient_widgets/peer_widget.py 2007-11-02 08:28:13 UTC (rev 34)
@@ -1,4 +1,4 @@
-"""Sketch for a widget handling node peers
+"""Sketch for a widget handling peer nodes
"""
@@ -29,20 +29,28 @@
#
#***************************************************************************************************
class PeerWidget(QtGui.QTreeWidget):
+ """
+ """
HeaderIndexStatus = 0
HeaderIndexName = 1
HeaderIndexLastConnected = 2
HeaderIndexNotes = 3
+
+ ShowPeersOpennet = 1
+ ShowPeersDarknet = 2
+ ShowPeersAll = ShowPeersOpennet | ShowPeersDarknet
def __init__(self, parent, cfg=None):
-
+ """
+ """
self._cfg = cfg
self._fcpClient = None
self._fcpEvents = None
self._isCreated = False
self._peers = {} # identity --> item
+ self._showPeersFlags = self.ShowPeersAll
QtGui.QWidget.__init__(self, parent)
@@ -66,23 +74,49 @@
header.setResizeMode(header.ResizeToContents)
header.setStretchLastSection(True)
+ self.setContextMenuPolicy(QtCore.Qt.CustomContextMenu)
+ self.connect(
+ self,
+ QtCore.SIGNAL('customContextMenuRequested(const QPoint&)'),
+ self.handleContextMenu
+ )
def showEvent(self, event):
+ """
+ """
if not self._isCreated:
self._isCreated = True
self._cfg.connectFcpNode(self.handleClientConnected)
-
+ #############################################################
+ ##
+ ## handlers for tree events
+ ##
+ #############################################################
+ def handleContextMenu(self, pt):
+ """
+ """
+ pt = self.viewport().mapToGlobal(pt)
+ m = QtGui.QMenu()
+ self.populateMenu(m)
+ m.exec_(pt)
+
+ #############################################################
+ ##
+ ## handlers for Fcp events
+ ##
+ #############################################################
def handleClientConnected(self, event, params):
+ """
+ """
self._fcpEvents = (
- #(self._cfg.fcpClient.EventClientConnected, self.handleClientConnected),
- (self._cfg.fcpClient.EventClientDisconnected, self.handleClientDisconnected),
+ (self._cfg.fcpClient.events.ClientDisconnected, self.handleClientDisconnected),
- (self._cfg.fcpClient.EventPeer, self.handlePeer),
- (self._cfg.fcpClient.EventEndListPeers, self.handleEndListPeers),
- (self._cfg.fcpClient.EventPeerRemoved, self.handlePeerRemoved),
- (self._cfg.fcpClient.EventUnknownNodeIdentifier, self.handleUnknownNodeIdentifier),
+ (self._cfg.fcpClient.events.Peer, self.handlePeer),
+ (self._cfg.fcpClient.events.EndListPeers, self.handleEndListPeers),
+ (self._cfg.fcpClient.events.PeerRemoved, self.handlePeerRemoved),
+ (self._cfg.fcpClient.events.UnknownNodeIdentifier, self.handleUnknownNodeIdentifier),
)
# take care to not connect twice
@@ -95,15 +129,16 @@
self._cfg.fcpClient.listPeers()
-
def handleClientDisconnected(self, event, params):
- pass
+ """
+ """
def handlePeer(self, event, params):
-
+ """
+ """
timeLastConnected = params.get('metadata.timeLastConnected', None)
- timeLastConnected = self.timeToTimeDelta(timeLastConnected)
+ timeLastConnected = self.formatTimeDelta(timeLastConnected)
identity = params['identity']
item = self._peers.get(identity, None)
@@ -117,48 +152,226 @@
]
item = QtGui.QTreeWidgetItem(self, itemStrings)
item.setData(0, QtCore.Qt.UserRole, QtCore.QVariant(identity))
- self._peers[identity] = item
+ self._peers[identity] = (item, params)
# update item
else:
item.settext(self.HeaderIndexLastConnected, timeLastConnected)
-
-
+ self._peers[identity] = (item, params)
+
def handleEndListPeers(self, event, params):
- pass
+ """
+ """
-
def handlePeerRemoved(self, peer):
- pass
+ """
+ """
def handleUnknownNodeIdentifier(self, params):
- pass
+ """
+ """
-
-
- def timeToTimeDelta(self, t):
+ #######################################################
+ ##
+ ## methods
+ ##
+ #######################################################
+ def close(self):
+ """Closes the widget
+ @note: make shure to call close when done with the widget
+ """
+ # disconnect Fcp events
+ for event, observer in self._fcpEvents:
+ if not observer in event:
+ event -= observer
+
+
+ def formatTimeDelta(self, t):
+ """Formats a Fcp time as time delta relative to to now
+ @param t: (str) time to format
+ @return: (str) human readably formated time delta (something like 2.5m or 10.2d) or ''
+ """
+ result = ''
try:
t = self._cfg.fcpClient.pythonTime(t)
- except:
- t = self.trUtf8('Unknown')
+ except: pass
else:
- if t == 0:
- t = self.trUtf8('Never')
- else:
- t = numbers.format_time_delta(t, time.time())
- return t
+ if t > 0:
+ result = numbers.format_time_delta(t, time.time())
+ return result
-
-
+
def identityFromItem(self, item):
+ """Returns the peer identity an item is associated to
+ @param item: treeItem
+ @return: (str) peer identity
+ """
v = item.data(0, QtCore.Qt.UserRole)
return str(v.toString())
+ def peers(self):
+ """Returns all currently known peers
+ @return: (dict) identity --> (treeItem, peer)
+ """
+ return self._peers
+
+ def populateMenu(self, menu):
+ """Populates a menu with peer actions
+ @return: (list) of all actions added to the menu
+ """
+ actions = []
+
+ actions.append(ShowPeersMenu(menu, self))
+
+ return actions
+
+
+ def showPeers(self):
+ """Returns the current ShowPeers* flags set
+ @return: (int) flags
+ """
+ return self._showPeersFlags
+
+
+ def setShowPeers(self, flags):
+ """Shows or hides peers
+ @param flags: (int) one or more ShowPeers* flags
+ @return: always None
+ """
+ self.setUpdatesEnabled(False)
+
+ for item, peer in self.peers().values():
+ if peer['opennet'] == self._cfg.fcpClient.FcpTrue:
+ item.setHidden(not flags & self.ShowPeersOpennet)
+ else:
+ item.setHidden(not flags & self.ShowPeersDarknet)
+
+ self.setUpdatesEnabled(True)
+ self._showPeersFlags = flags
+
+#*************************************************************************************
+# menu actions
+#*************************************************************************************
+class ShowPeersMenu(QtGui.QMenu):
+ """
+ """
+
+ def __init__(self, menu, tree):
+ """
+ """
+ QtGui.QMenu.__init__(self, menu)
+ self.setTitle(self.trUtf8('Show peers'))
+ menu.addMenu(self)
+
+ self.tree = tree
+
+ self.group = QtGui.QActionGroup(self)
+ self.group.setExclusive(True)
+ showPeers = (
+ ('Darknet', self.trUtf8('Darknet'), ShowPeersDarknetAction),
+ ('Opennet', self.trUtf8('Opennet'), ShowPeersOpennetAction),
+ ('OpenAndDarknet', self.trUtf8('Open and darknet'), ShowOpenAndDarknetPeersAction),
+ )
+
+ for name, menuText, act in showPeers:
+ act = act(name, menuText, self.group, tree)
+ act.setCheckable(True)
+ self.group.addAction(act)
+ self.addAction(act)
+
+ self.connect(
+ self,
+ QtCore.SIGNAL('aboutToShow()'),
+ self.handleAboutToShow
+ )
+
+
+ def handleAboutToShow(self):
+ """
+ """
+ acts = { # flag --> actionName
+ self.tree.ShowPeersAll: 'OpenAndDarknet',
+ self.tree.ShowPeersOpennet: 'Opennet',
+ self.tree.ShowPeersDarknet:'Darknet',
+ }
+
+ flags = self.tree.showPeers()
+ for flag, actionName in acts.items():
+ if flags & flag == flags:
+
+ for act in self.group.actions():
+ if str(act.objectName()) == actionName:
+ act.setChecked(True)
+ break
+ else:
+ raise ValueError('No action [name] found ???')
+ break
+ else:
+ raise ValueError('No action [flag] found ???')
+
+
+class ShowPeersDarknetAction(QtGui.QAction):
+ """
+ """
+
+ def __init__(self, name, text, parent, tree):
+ """
+ """
+ QtGui.QAction.__init__(self, text, parent)
+ self.setObjectName(name)
+
+ #self.setShortcuts(
+ # [QtGui.QKeySequence(self.trUtf8('Ctrl+A'))]
+ # )
+ self.tree = tree
+ self.connect(
+ self,
+ QtCore.SIGNAL('triggered()'),
+ self.__call__
+ )
+
+
+ def __call__(self):
+ """
+ """
+ flags = self.tree.showPeers()
+ flags |= self.tree.ShowPeersDarknet
+ flags &= ~self.tree.ShowPeersOpennet
+ self.tree.setShowPeers(flags)
+
+
+class ShowPeersOpennetAction(ShowPeersDarknetAction):
+ """
+ """
+
+ def __call__(self):
+ """
+ """
+ flags = self.tree.showPeers()
+ flags &= ~self.tree.ShowPeersDarknet
+ flags |= self.tree.ShowPeersOpennet
+ self.tree.setShowPeers(flags)
+
+
+class ShowOpenAndDarknetPeersAction(ShowPeersDarknetAction):
+ """
+ """
+
+ def __call__(self):
+ """
+ """
+ flags = self.tree.showPeers()
+ flags |= self.tree.ShowPeersDarknet
+ flags |= self.tree.ShowPeersOpennet
+ self.tree.setShowPeers(flags)
+
+
+
'''########################################################
Sample Peer message
>> Peer
@@ -203,7 +416,14 @@
import sys
app = QtGui.QApplication(sys.argv)
- w = PeerWidget(None)
+ w = QtGui.QMainWindow()
+ peers = PeerWidget(None)
+ w.setCentralWidget(peers)
+
+ m = w.menuBar()
+ m1 = m.addMenu('Peers')
+ peers.populateMenu(m1)
+
w.show()
res = app.exec_()
sys.exit(res)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <jU...@us...> - 2007-11-02 16:02:27
|
Revision: 38
http://fclient.svn.sourceforge.net/fclient/?rev=38&view=rev
Author: jUrner
Date: 2007-11-02 09:02:28 -0700 (Fri, 02 Nov 2007)
Log Message:
-----------
added peer notes handling
Modified Paths:
--------------
trunk/fclient/fclient_widgets/peer_widget.py
Modified: trunk/fclient/fclient_widgets/peer_widget.py
===================================================================
--- trunk/fclient/fclient_widgets/peer_widget.py 2007-11-02 16:01:29 UTC (rev 37)
+++ trunk/fclient/fclient_widgets/peer_widget.py 2007-11-02 16:02:28 UTC (rev 38)
@@ -1,5 +1,8 @@
"""Sketch for a widget handling peer nodes
+Note: super slow currently. Have to experiment with multiple clients
+to enable playing around with poll timeouts for individual clients
+
"""
import os, sys
@@ -14,7 +17,6 @@
import config
-from fclient_lib import fcp
from fclient_lib.pyex import numbers
@@ -28,6 +30,30 @@
#***************************************************************************************************
#
#***************************************************************************************************
+class PeerItem(QtGui.QTreeWidgetItem):
+ """
+ """
+
+ def __init__(self, *args):
+ """
+ """
+ QtGui.QTreeWidgetItem.__init__(self, *args)
+
+ self._peerData = None
+
+ def peerData(self):
+ """
+ """
+ return self._peerData
+
+ def setPeerData(self, peerData):
+ """
+ """
+ self._peerData = peerData
+
+#***************************************************************************************************
+#
+#***************************************************************************************************
class PeerWidget(QtGui.QTreeWidget):
"""
"""
@@ -117,6 +143,10 @@
(self._cfg.fcpClient.events.EndListPeers, self.handleEndListPeers),
(self._cfg.fcpClient.events.PeerRemoved, self.handlePeerRemoved),
(self._cfg.fcpClient.events.UnknownNodeIdentifier, self.handleUnknownNodeIdentifier),
+
+ (self._cfg.fcpClient.events.PeerNote, self.handlePeerNote),
+ (self._cfg.fcpClient.events.EndListPeerNotes, self.handleEndListPeerNotes),
+
)
# take care to not connect twice
@@ -150,20 +180,24 @@
timeLastConnected,
''
]
- item = QtGui.QTreeWidgetItem(self, itemStrings)
- item.setData(0, QtCore.Qt.UserRole, QtCore.QVariant(identity))
- self._peers[identity] = (item, params)
+ item = PeerItem(self, itemStrings)
+ self._peers[identity] = item
# update item
else:
item.settext(self.HeaderIndexLastConnected, timeLastConnected)
- self._peers[identity] = (item, params)
+ item.setPeerData(params)
+
+ # get peer notes if possible
+ if params['opennet'] == self._cfg.fcpClient.FcpFalse:
+ self._cfg.fcpClient.listPeerNotes(identity)
+
def handleEndListPeers(self, event, params):
"""
"""
-
+
def handlePeerRemoved(self, peer):
"""
@@ -174,6 +208,25 @@
"""
"""
+
+ def handlePeerNote(self, event, params):
+ """
+ """
+ identity = params['NodeIdentifier']
+ item = self._peers.get(identity, None)
+ if item is None:
+ #TODO: shouldn' t happen
+ return
+
+ if params['PeerNoteType'] == self._cfg.fcpClient.PeerNoteType.Private:
+ item.setText(self.HeaderIndexNotes, params['NoteText'])
+
+
+ def handleEndListPeerNotes(self, event, params):
+ """
+ """
+
+
#######################################################
##
## methods
@@ -204,18 +257,9 @@
return result
- def identityFromItem(self, item):
- """Returns the peer identity an item is associated to
- @param item: treeItem
- @return: (str) peer identity
- """
- v = item.data(0, QtCore.Qt.UserRole)
- return str(v.toString())
-
-
def peers(self):
"""Returns all currently known peers
- @return: (dict) identity --> (treeItem, peer)
+ @return: (dict) identity --> treeItem
"""
return self._peers
@@ -245,8 +289,8 @@
"""
self.setUpdatesEnabled(False)
- for item, peer in self.peers().values():
- if peer['opennet'] == self._cfg.fcpClient.FcpTrue:
+ for item in self.peers().values():
+ if item.peerData()['opennet'] == self._cfg.fcpClient.FcpTrue:
item.setHidden(not flags & self.ShowPeersOpennet)
else:
item.setHidden(not flags & self.ShowPeersDarknet)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <jU...@us...> - 2007-11-04 17:29:46
|
Revision: 42
http://fclient.svn.sourceforge.net/fclient/?rev=42&view=rev
Author: jUrner
Date: 2007-11-04 09:29:50 -0800 (Sun, 04 Nov 2007)
Log Message:
-----------
new: FcPClient manager
Modified Paths:
--------------
trunk/fclient/fclient_widgets/peer_widget.py
Modified: trunk/fclient/fclient_widgets/peer_widget.py
===================================================================
--- trunk/fclient/fclient_widgets/peer_widget.py 2007-11-04 17:29:34 UTC (rev 41)
+++ trunk/fclient/fclient_widgets/peer_widget.py 2007-11-04 17:29:50 UTC (rev 42)
@@ -1,8 +1,4 @@
"""Sketch for a widget handling peer nodes
-
-Note: super slow currently. Have to experiment with multiple clients
-to enable playing around with poll timeouts for individual clients
-
"""
import os, sys
@@ -54,6 +50,8 @@
#***************************************************************************************************
#
#***************************************************************************************************
+#TODO: user should not be alowed to show / hide peers while we are listing them
+
class PeerWidget(QtGui.QTreeWidget):
"""
"""
@@ -76,6 +74,7 @@
self._fcpEvents = None
self._isCreated = False
self._peers = {} # identity --> item
+ self._requestsPending = 0
self._showPeersFlags = self.ShowPeersAll
QtGui.QWidget.__init__(self, parent)
@@ -113,7 +112,7 @@
"""
if not self._isCreated:
self._isCreated = True
- self._cfg.connectFcpNode(self.handleClientConnected)
+ self._fcpClient = self._cfg.fcpClientManager.newFcpClient('MeName', self.handleClientConnected)
#############################################################
##
@@ -137,18 +136,17 @@
"""
"""
self._fcpEvents = (
- (self._cfg.fcpClient.events.ClientDisconnected, self.handleClientDisconnected),
+ (self._fcpClient.events.ClientDisconnected, self.handleClientDisconnected),
- (self._cfg.fcpClient.events.Peer, self.handlePeer),
- (self._cfg.fcpClient.events.EndListPeers, self.handleEndListPeers),
- (self._cfg.fcpClient.events.PeerRemoved, self.handlePeerRemoved),
- (self._cfg.fcpClient.events.UnknownNodeIdentifier, self.handleUnknownNodeIdentifier),
+ (self._fcpClient.events.Peer, self.handlePeer),
+ (self._fcpClient.events.EndListPeers, self.handleEndListPeers),
+ (self._fcpClient.events.PeerRemoved, self.handlePeerRemoved),
+ (self._fcpClient.events.UnknownNodeIdentifier, self.handleUnknownNodeIdentifier),
- (self._cfg.fcpClient.events.PeerNote, self.handlePeerNote),
- (self._cfg.fcpClient.events.EndListPeerNotes, self.handleEndListPeerNotes),
+ (self._fcpClient.events.PeerNote, self.handlePeerNote),
+ (self._fcpClient.events.EndListPeerNotes, self.handleEndListPeerNotes),
)
-
# take care to not connect twice
for event, observer in self._fcpEvents:
if not observer in event:
@@ -156,8 +154,13 @@
self.clear()
self._peers = {}
- self._cfg.fcpClient.listPeers()
+ self._cfg.fcpClientManager.setPriority(
+ self._fcpClient.connectionName(),
+ pollPriority=self._cfg.fcpClientManager.priorities['Highest']
+ )
+ self._fcpClient.listPeers()
+
def handleClientDisconnected(self, event, params):
"""
@@ -189,14 +192,20 @@
item.setPeerData(params)
# get peer notes if possible
- if params['opennet'] == self._cfg.fcpClient.FcpFalse:
- self._cfg.fcpClient.listPeerNotes(identity)
-
-
+ if params['opennet'] == self._fcpClient.FcpFalse:
+ self._requestsPending += 1
+ self._fcpClient.listPeerNotes(identity)
+
def handleEndListPeers(self, event, params):
"""
"""
+ if self._requestsPending <= 0:
+ self._cfg.fcpClientManager.setPriority(
+ self._fcpClient.connectionName(),
+ pollPriority=self._cfg.fcpClientManager.priorities['Lowest']
+ )
+
def handlePeerRemoved(self, peer):
@@ -218,15 +227,22 @@
#TODO: shouldn' t happen
return
- if params['PeerNoteType'] == self._cfg.fcpClient.PeerNoteType.Private:
+ if params['PeerNoteType'] == self._fcpClient.PeerNoteType.Private:
item.setText(self.HeaderIndexNotes, params['NoteText'])
def handleEndListPeerNotes(self, event, params):
"""
"""
+ self._requestsPending -= 1
+ if self._requestsPending <= 0:
+ self._requestsPending = 0
+ self._cfg.fcpClientManager.setPriority(
+ self._fcpClient.connectionName(),
+ pollPriority=self._cfg.fcpClientManager.priorities['Lowest']
+ )
+
-
#######################################################
##
## methods
@@ -240,6 +256,8 @@
for event, observer in self._fcpEvents:
if not observer in event:
event -= observer
+
+ self._cfg.fcpClientHandler.closeClient(self._fcpClient.connectionName())
def formatTimeDelta(self, t):
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <jU...@us...> - 2007-11-05 12:42:26
|
Revision: 45
http://fclient.svn.sourceforge.net/fclient/?rev=45&view=rev
Author: jUrner
Date: 2007-11-05 04:42:27 -0800 (Mon, 05 Nov 2007)
Log Message:
-----------
added refresh action an some fixes
Modified Paths:
--------------
trunk/fclient/fclient_widgets/peer_widget.py
Modified: trunk/fclient/fclient_widgets/peer_widget.py
===================================================================
--- trunk/fclient/fclient_widgets/peer_widget.py 2007-11-04 17:33:33 UTC (rev 44)
+++ trunk/fclient/fclient_widgets/peer_widget.py 2007-11-05 12:42:27 UTC (rev 45)
@@ -152,16 +152,12 @@
if not observer in event:
event += observer
- self.clear()
- self._peers = {}
+ ##
+ self.listPeers()
- self._cfg.fcpClientManager.setPriority(
- self._fcpClient.connectionName(),
- pollPriority=self._cfg.fcpClientManager.priorities['Highest']
- )
- self._fcpClient.listPeers()
-
+
+
def handleClientDisconnected(self, event, params):
"""
"""
@@ -175,6 +171,7 @@
identity = params['identity']
item = self._peers.get(identity, None)
+
# add item if necessary
if item is None:
itemStrings = [
@@ -191,6 +188,13 @@
item.settext(self.HeaderIndexLastConnected, timeLastConnected)
item.setPeerData(params)
+ # hide item if necessary
+ flags = self.showPeers()
+ if params['opennet'] == self._fcpClient.FcpTrue:
+ item.setHidden(not flags & self.ShowPeersOpennet)
+ else:
+ item.setHidden(not flags & self.ShowPeersDarknet)
+
# get peer notes if possible
if params['opennet'] == self._fcpClient.FcpFalse:
self._requestsPending += 1
@@ -267,14 +271,26 @@
"""
result = ''
try:
- t = self._cfg.fcpClient.pythonTime(t)
- except: pass
+ t = self._fcpClient.pythonTime(t)
+ except ValueError: pass
else:
if t > 0:
result = numbers.format_time_delta(t, time.time())
return result
+ def listPeers(self):
+ self.clear()
+ self._peers = {}
+
+ self._cfg.fcpClientManager.setPriority(
+ self._fcpClient.connectionName(),
+ pollPriority=self._cfg.fcpClientManager.priorities['Highest']
+ )
+ self._fcpClient.listPeers()
+
+
+
def peers(self):
"""Returns all currently known peers
@return: (dict) identity --> treeItem
@@ -290,6 +306,10 @@
actions.append(ShowPeersMenu(menu, self))
+ act = RefreshAction('Refresh', self.trUtf8('Refresh'), menu, self)
+ menu.addAction(act)
+ actions.append(act)
+
return actions
@@ -308,7 +328,7 @@
self.setUpdatesEnabled(False)
for item in self.peers().values():
- if item.peerData()['opennet'] == self._cfg.fcpClient.FcpTrue:
+ if item.peerData()['opennet'] == self._fcpClient.FcpTrue:
item.setHidden(not flags & self.ShowPeersOpennet)
else:
item.setHidden(not flags & self.ShowPeersDarknet)
@@ -434,6 +454,35 @@
+class RefreshAction(QtGui.QAction):
+ """
+ """
+
+ def __init__(self, name, text, parent, tree):
+ """
+ """
+ QtGui.QAction.__init__(self, text, parent)
+ self.setObjectName(name)
+
+ #self.setShortcuts(
+ # [QtGui.QKeySequence(self.trUtf8('Ctrl+A'))]
+ # )
+ self.tree = tree
+ self.connect(
+ self,
+ QtCore.SIGNAL('triggered()'),
+ self.__call__
+ )
+
+
+ def __call__(self):
+ """
+ """
+ self.tree.listPeers()
+
+
+
+
'''########################################################
Sample Peer message
>> Peer
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <jU...@us...> - 2007-11-06 12:38:46
|
Revision: 50
http://fclient.svn.sourceforge.net/fclient/?rev=50&view=rev
Author: jUrner
Date: 2007-11-06 04:38:50 -0800 (Tue, 06 Nov 2007)
Log Message:
-----------
added connectionName param
Modified Paths:
--------------
trunk/fclient/fclient_widgets/peer_widget.py
Modified: trunk/fclient/fclient_widgets/peer_widget.py
===================================================================
--- trunk/fclient/fclient_widgets/peer_widget.py 2007-11-06 12:35:18 UTC (rev 49)
+++ trunk/fclient/fclient_widgets/peer_widget.py 2007-11-06 12:38:50 UTC (rev 50)
@@ -34,7 +34,6 @@
"""
"""
QtGui.QTreeWidgetItem.__init__(self, *args)
-
self._peerData = None
def peerData(self):
@@ -66,10 +65,15 @@
ShowPeersAll = ShowPeersOpennet | ShowPeersDarknet
- def __init__(self, parent, cfg=None):
+ def __init__(self,
+ parent,
+ cfg=None
+ connectionName='',
+ ):
"""
"""
- self._cfg = cfg
+ self._connectionName = connectionName
+ self._cfg = cfg if cfg is None else config.Config(self)
self._fcpClient = None
self._fcpEvents = None
self._isCreated = False
@@ -79,10 +83,6 @@
QtGui.QWidget.__init__(self, parent)
- # setup config
- if self._cfg is None:
- self._cfg = config.Config(self)
-
# setup tree
self.setUniformRowHeights(True)
headerLabels = [
@@ -112,7 +112,7 @@
"""
if not self._isCreated:
self._isCreated = True
- self._fcpClient = self._cfg.fcpClientManager.newClient('MeName', self.handleClientConnected)
+ self._fcpClient = self._cfg.fcpClientManager.newClient(self._connectionName, self.handleClientConnected)
#############################################################
##
@@ -147,7 +147,7 @@
(self._fcpClient.events.EndListPeerNotes, self.handleEndListPeerNotes),
)
- # take care to not connect twice
+ # take care not to connect twice
for event, observer in self._fcpEvents:
if not observer in event:
event += observer
@@ -155,9 +155,7 @@
##
self.listPeers()
-
-
-
+
def handleClientDisconnected(self, event, params):
"""
"""
@@ -210,8 +208,7 @@
pollPriority=self._cfg.fcpClientManager.priorities['Lowest']
)
-
-
+
def handlePeerRemoved(self, peer):
"""
"""
@@ -258,7 +255,7 @@
"""
# disconnect Fcp events
for event, observer in self._fcpEvents:
- if not observer in event:
+ if observer in event:
event -= observer
self._cfg.fcpClientHandler.closeClient(self._fcpClient.connectionName())
@@ -528,7 +525,7 @@
app = QtGui.QApplication(sys.argv)
w = QtGui.QMainWindow()
- peers = PeerWidget(None)
+ peers = PeerWidget(None, connectionName='TestPeerWidget')
w.setCentralWidget(peers)
m = w.menuBar()
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <jU...@us...> - 2007-11-07 17:35:03
|
Revision: 56
http://fclient.svn.sourceforge.net/fclient/?rev=56&view=rev
Author: jUrner
Date: 2007-11-07 09:35:00 -0800 (Wed, 07 Nov 2007)
Log Message:
-----------
config was broken - fixed
Modified Paths:
--------------
trunk/fclient/fclient_widgets/peer_widget.py
Modified: trunk/fclient/fclient_widgets/peer_widget.py
===================================================================
--- trunk/fclient/fclient_widgets/peer_widget.py 2007-11-07 17:34:24 UTC (rev 55)
+++ trunk/fclient/fclient_widgets/peer_widget.py 2007-11-07 17:35:00 UTC (rev 56)
@@ -67,13 +67,15 @@
def __init__(self,
parent,
- cfg=None
+ cfg=None,
connectionName='',
):
"""
"""
+ QtGui.QWidget.__init__(self, parent)
+
self._connectionName = connectionName
- self._cfg = cfg if cfg is None else config.Config(self)
+ self._cfg = cfg if cfg is not None else config.Config(self)
self._fcpClient = None
self._fcpEvents = None
self._isCreated = False
@@ -81,8 +83,7 @@
self._requestsPending = 0
self._showPeersFlags = self.ShowPeersAll
- QtGui.QWidget.__init__(self, parent)
-
+
# setup tree
self.setUniformRowHeights(True)
headerLabels = [
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|