Skip to content

Commit 5e43fe2

Browse files
committed
Improve python3 compatibility of network module
1 parent c6b1e47 commit 5e43fe2

7 files changed

Lines changed: 20 additions & 20 deletions

File tree

‎src/network/bmproto.py‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -412,7 +412,7 @@ def bm_command_object(self):
412412
try:
413413
self.object.checkObjectByType()
414414
objectProcessorQueue.put((
415-
self.object.objectType, buffer(self.object.data))) # noqa: F821
415+
self.object.objectType, memoryview(self.object.data)))
416416
except BMObjectInvalidError:
417417
self.stopDownloadingObject(self.object.inventoryHash, True)
418418
else:
@@ -428,8 +428,8 @@ def bm_command_object(self):
428428

429429
state.Inventory[self.object.inventoryHash] = (
430430
self.object.objectType, self.object.streamNumber,
431-
buffer(self.payload[objectOffset:]), self.object.expiresTime, # noqa: F821
432-
buffer(self.object.tag) # noqa: F821
431+
memoryview(self.payload[objectOffset:]), self.object.expiresTime,
432+
memoryview(self.object.tag)
433433
)
434434
self.handleReceivedObject(
435435
self.object.streamNumber, self.object.inventoryHash)

‎src/network/connectionpool.py‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ def connections(self):
7373
Shortcut for combined list of connections from
7474
`inboundConnections` and `outboundConnections` dicts
7575
"""
76-
return self.inboundConnections.values() + self.outboundConnections.values()
76+
return list(self.inboundConnections.values()) + list(self.outboundConnections.values())
7777

7878
def establishedConnections(self):
7979
"""Shortcut for list of connections having fullyEstablished == True"""
@@ -400,7 +400,7 @@ def loop(self): # pylint: disable=too-many-branches,too-many-statements
400400
i.set_state("close")
401401
for i in (
402402
self.connections()
403-
+ self.listeningSockets.values() + self.udpSockets.values()
403+
+ list(self.listeningSockets.values()) + list(self.udpSockets.values())
404404
):
405405
if not (i.accepting or i.connecting or i.connected):
406406
reaper.append(i)

‎src/network/dandelion.py‎

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -111,12 +111,12 @@ def maybeAddStem(self, connection, invQueue):
111111
with self.lock:
112112
if len(self.stem) < MAX_STEMS:
113113
self.stem.append(connection)
114-
for k in (k for k, v in self.nodeMap.iteritems() if v is None):
114+
for k in (k for k, v in self.nodeMap.items() if v is None):
115115
self.nodeMap[k] = connection
116116
for k, v in {
117-
k: v for k, v in self.hashMap.iteritems()
117+
k: v for k, v in self.hashMap.items()
118118
if v.child is None
119-
}.iteritems():
119+
}.items():
120120
self.hashMap[k] = Stem(
121121
connection, v.stream, self.poissonTimeout())
122122
invQueue.put((v.stream, k, v.child))
@@ -132,14 +132,14 @@ def maybeRemoveStem(self, connection):
132132
self.stem.remove(connection)
133133
# active mappings to pointing to the removed node
134134
for k in (
135-
k for k, v in self.nodeMap.iteritems()
135+
k for k, v in self.nodeMap.items()
136136
if v == connection
137137
):
138138
self.nodeMap[k] = None
139139
for k, v in {
140-
k: v for k, v in self.hashMap.iteritems()
140+
k: v for k, v in self.hashMap.items()
141141
if v.child == connection
142-
}.iteritems():
142+
}.items():
143143
self.hashMap[k] = Stem(
144144
None, v.stream, self.poissonTimeout())
145145

@@ -180,7 +180,7 @@ def expire(self, invQueue):
180180
with self.lock:
181181
deadline = time()
182182
toDelete = [
183-
[v.stream, k, v.child] for k, v in self.hashMap.iteritems()
183+
[v.stream, k, v.child] for k, v in self.hashMap.items()
184184
if v.timeout < deadline
185185
]
186186

@@ -199,10 +199,10 @@ def reRandomiseStems(self):
199199
try:
200200
# random two connections
201201
self.stem = sample( # nosec B311
202-
self.pool.outboundConnections.values(), MAX_STEMS)
202+
list(self.pool.outboundConnections.values()), MAX_STEMS)
203203
# not enough stems available
204204
except ValueError:
205-
self.stem = self.pool.outboundConnections.values()
205+
self.stem = list(self.pool.outboundConnections.values())
206206
self.nodeMap = {}
207207
# hashMap stays to cater for pending stems
208208
self.refresh = time() + REASSIGN_INTERVAL

‎src/network/downloadthread.py‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ def cleanPending(self):
2929
deadline = time.time() - self.requestExpires
3030
try:
3131
toDelete = [
32-
k for k, v in missingObjects.iteritems()
32+
k for k, v in missingObjects.items()
3333
if v < deadline]
3434
except RuntimeError:
3535
pass

‎src/network/knownnodes.py‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -54,8 +54,8 @@ def json_serialize_knownnodes(output):
5454
Reorganize knownnodes dict and write it as JSON to output
5555
"""
5656
_serialized = []
57-
for stream, peers in knownNodes.iteritems():
58-
for peer, info in peers.iteritems():
57+
for stream, peers in knownNodes.items():
58+
for peer, info in peers.items():
5959
info.update(rating=round(info.get('rating', 0), 2))
6060
_serialized.append({
6161
'stream': stream, 'peer': peer._asdict(), 'info': info
@@ -87,7 +87,7 @@ def pickle_deserialize_old_knownnodes(source):
8787
global knownNodes
8888
knownNodes = pickle.load(source) # nosec B301
8989
for stream in knownNodes.keys():
90-
for node, params in knownNodes[stream].iteritems():
90+
for node, params in knownNodes[stream].items():
9191
if isinstance(params, (float, int)):
9292
addKnownNode(stream, node, params)
9393

‎src/network/objectracker.py‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ def clean(self):
7474
with self.objectsNewToThemLock:
7575
self.objectsNewToThem = {
7676
k: v
77-
for k, v in self.objectsNewToThem.iteritems()
77+
for k, v in self.objectsNewToThem.items()
7878
if v >= deadline}
7979
self.lastCleaned = time.time()
8080

‎src/network/tcp.py‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -190,7 +190,7 @@ def sendAddr(self):
190190
# only if more recent than 3 hours
191191
# and having positive or neutral rating
192192
filtered = [
193-
(k, v) for k, v in nodes.iteritems()
193+
(k, v) for k, v in nodes.items()
194194
if v["lastseen"] > int(time.time())
195195
- maximumAgeOfNodesThatIAdvertiseToOthers
196196
and v["rating"] >= 0 and not k.host.endswith('.onion')

0 commit comments

Comments
 (0)