| 79 | return collectors |
| 80 | |
| 81 | def getSiteCollectors(self): |
| 82 | site_collectors = {} |
| 83 | |
| 84 | # Size |
| 85 | site_collectors["site_size"] = lambda site: site.settings.get("size", 0) |
| 86 | site_collectors["site_size_optional"] = lambda site: site.settings.get("size_optional", 0) |
| 87 | site_collectors["site_optional_downloaded"] = lambda site: site.settings.get("optional_downloaded", 0) |
| 88 | site_collectors["site_content"] = lambda site: len(site.content_manager.contents) |
| 89 | |
| 90 | # Data transfer |
| 91 | site_collectors["site_bytes_recv|change"] = lambda site: site.settings.get("bytes_recv", 0) |
| 92 | site_collectors["site_bytes_sent|change"] = lambda site: site.settings.get("bytes_sent", 0) |
| 93 | |
| 94 | # Peers |
| 95 | site_collectors["site_peer"] = lambda site: len(site.peers) |
| 96 | site_collectors["site_peer_onion"] = lambda site: len( |
| 97 | [True for peer in site.peers.values() if peer.ip.endswith(".onion")] |
| 98 | ) |
| 99 | site_collectors["site_peer_connected"] = lambda site: len([True for peer in site.peers.values() if peer.connection]) |
| 100 | |
| 101 | return site_collectors |
| 102 | |
| 103 | def getUniquePeers(self): |
| 104 | import main |