mirror of
https://github.com/tahoe-lafs/tahoe-lafs.git
synced 2024-12-24 07:06:41 +00:00
webish: add PBURL to the all-peers table on the welcome page
This commit is contained in:
parent
c868f77c71
commit
8e03d19ccc
@ -29,6 +29,7 @@ class Client(node.Node, Referenceable):
|
|||||||
node.Node.__init__(self, basedir)
|
node.Node.__init__(self, basedir)
|
||||||
self.queen = None # self.queen is either None or a RemoteReference
|
self.queen = None # self.queen is either None or a RemoteReference
|
||||||
self.all_peers = set()
|
self.all_peers = set()
|
||||||
|
self.peer_pburls = {}
|
||||||
self.connections = {}
|
self.connections = {}
|
||||||
self.add_service(StorageServer(os.path.join(basedir, self.STOREDIR)))
|
self.add_service(StorageServer(os.path.join(basedir, self.STOREDIR)))
|
||||||
self.add_service(Uploader())
|
self.add_service(Uploader())
|
||||||
@ -105,6 +106,7 @@ class Client(node.Node, Referenceable):
|
|||||||
self.log("weird, I already had an entry for them")
|
self.log("weird, I already had an entry for them")
|
||||||
return
|
return
|
||||||
self.all_peers.add(nodeid)
|
self.all_peers.add(nodeid)
|
||||||
|
self.peer_pburls[nodeid] = pburl
|
||||||
if nodeid not in self.connections:
|
if nodeid not in self.connections:
|
||||||
d = self.tub.getReference(pburl)
|
d = self.tub.getReference(pburl)
|
||||||
def _got_reference(ref, which_nodeid):
|
def _got_reference(ref, which_nodeid):
|
||||||
@ -122,6 +124,8 @@ class Client(node.Node, Referenceable):
|
|||||||
self.all_peers.remove(nodeid)
|
self.all_peers.remove(nodeid)
|
||||||
else:
|
else:
|
||||||
self.log("weird, I didn't have an entry for them")
|
self.log("weird, I didn't have an entry for them")
|
||||||
|
if nodeid in self.peer_pburls:
|
||||||
|
del self.peer_pburls[nodeid]
|
||||||
if nodeid in self.connections:
|
if nodeid in self.connections:
|
||||||
del self.connections[nodeid]
|
del self.connections[nodeid]
|
||||||
|
|
||||||
|
@ -24,10 +24,12 @@
|
|||||||
<tr n:pattern="header">
|
<tr n:pattern="header">
|
||||||
<td>PeerID</td>
|
<td>PeerID</td>
|
||||||
<td>Connected?</td>
|
<td>Connected?</td>
|
||||||
|
<td>PBURL</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr n:pattern="item" n:render="row">
|
<tr n:pattern="item" n:render="row">
|
||||||
<td><tt><n:slot name="peerid"/></tt></td>
|
<td><tt><n:slot name="peerid"/></tt></td>
|
||||||
<td><n:slot name="connected"/></td>
|
<td><n:slot name="connected"/></td>
|
||||||
|
<td><n:slot name="pburl"/></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr n:pattern="empty"><td>no peers!</td></tr>
|
<tr n:pattern="empty"><td>no peers!</td></tr>
|
||||||
</table>
|
</table>
|
||||||
|
@ -39,15 +39,25 @@ class Welcome(rend.Page):
|
|||||||
return len(client.all_peers)
|
return len(client.all_peers)
|
||||||
def data_num_connected_peers(self, ctx, data):
|
def data_num_connected_peers(self, ctx, data):
|
||||||
return len(IClient(ctx).connections)
|
return len(IClient(ctx).connections)
|
||||||
|
|
||||||
def data_peers(self, ctx, data):
|
def data_peers(self, ctx, data):
|
||||||
return sorted(IClient(ctx).all_peers)
|
d = []
|
||||||
|
client = IClient(ctx)
|
||||||
|
for nodeid in sorted(client.all_peers):
|
||||||
|
if nodeid in client.connections:
|
||||||
|
connected = "yes"
|
||||||
|
else:
|
||||||
|
connected = "no"
|
||||||
|
pburl = client.peer_pburls[nodeid]
|
||||||
|
row = (idlib.b2a(nodeid), connected, pburl)
|
||||||
|
d.append(row)
|
||||||
|
return d
|
||||||
|
|
||||||
def render_row(self, ctx, data):
|
def render_row(self, ctx, data):
|
||||||
if data in IClient(ctx).connections:
|
nodeid_a, connected, pburl = data
|
||||||
connected = "yes"
|
ctx.fillSlots("peerid", nodeid_a)
|
||||||
else:
|
|
||||||
connected = "no"
|
|
||||||
ctx.fillSlots("peerid", idlib.b2a(data))
|
|
||||||
ctx.fillSlots("connected", connected)
|
ctx.fillSlots("connected", connected)
|
||||||
|
ctx.fillSlots("pburl", pburl)
|
||||||
return ctx.tag
|
return ctx.tag
|
||||||
|
|
||||||
# this is a form where users can download files by URI
|
# this is a form where users can download files by URI
|
||||||
|
Loading…
Reference in New Issue
Block a user