MCPcopy Index your code
hub / github.com/HelloZeroNet/ZeroNet / savePeers

Method savePeers

plugins/PeerDb/PeerDbPlugin.py:70–88  ·  view source on GitHub ↗
(self, site, spawn=False)

Source from the content-addressed store, hash-verified

68 yield (site_id, address, port, hashfield, peer.reputation, int(peer.time_added), int(peer.time_found))
69
70 def savePeers(self, site, spawn=False):
71 if spawn:
72 # Save peers every hour (+random some secs to not update very site at same time)
73 gevent.spawn_later(60 * 60 + random.randint(0, 60), self.savePeers, site, spawn=True)
74 if not site.peers:
75 site.log.debug("Peers not saved: No peers found")
76 return
77 s = time.time()
78 site_id = self.site_ids.get(site.address)
79 cur = self.getCursor()
80 try:
81 cur.execute("DELETE FROM peer WHERE site_id = :site_id", {"site_id": site_id})
82 cur.cursor.executemany(
83 "INSERT INTO peer (site_id, address, port, hashfield, reputation, time_added, time_found) VALUES (?, ?, ?, ?, ?, ?, ?)",
84 self.iteratePeers(site)
85 )
86 except Exception as err:
87 site.log.error("Save peer error: %s" % err)
88 site.log.debug("Peers saved in %.3fs" % (time.time() - s))
89
90 def initSite(self, site):
91 super(ContentDbPlugin, self).initSite(site)

Callers 1

saveAllPeersMethod · 0.95

Calls 5

iteratePeersMethod · 0.95
getCursorMethod · 0.80
errorMethod · 0.80
getMethod · 0.45
executeMethod · 0.45

Tested by

no test coverage detected