[tor-commits] [depictor/master] Include the bwauth that assigned the bw value for convenience. Also display if the relay is unmeasured
tom at torproject.org
tom at torproject.org
Thu Apr 6 16:16:32 UTC 2017
commit 21fe2c9874b484611acbe0e96e227b3aa44da1bb
Author: Tom Ritter <tom at ritter.vg>
Date: Thu Apr 6 11:15:12 2017 -0500
Include the bwauth that assigned the bw value for convenience. Also display if the relay is unmeasured
---
website.py | 33 +++++++++++++++++++++++++++++++++
1 file changed, 33 insertions(+)
diff --git a/website.py b/website.py
index c5ca8c4..8c32b66 100755
--- a/website.py
+++ b/website.py
@@ -1255,6 +1255,29 @@ class WebsiteWriter:
self.site.write(" <th>consensus</th>\n </tr>\n")
#-----------------------------------------------------------------------------------------
+ def __find_assigning_bwauth_for_bw_value(self, relay_fp):
+ """
+ Given a relay fingerprint, look at it's bw value and return which bwauth assigned the
+ value
+ """
+ if relay_fp not in self.consensus.routers:
+ return ""
+
+ target_bw = self.consensus.routers[relay_fp].bandwidth
+
+ bwauths = []
+ bwauths_voted = 0
+ for dirauth_nickname in self.votes:
+ if relay_fp in self.votes[dirauth_nickname].routers:
+ if self.votes[dirauth_nickname].routers[relay_fp].measured >= 0L:
+ bwauths_voted += 1
+ if target_bw == self.votes[dirauth_nickname].routers[relay_fp].measured:
+ bwauths.append(dirauth_nickname)
+ if len(bwauths) == bwauths_voted:
+ return ["all"]
+ return bwauths
+
+ #-----------------------------------------------------------------------------------------
def _write_relay_info_tableRow(self, relay_fp, relay_nickname):
"""
Write a single row in the table of relay info.
@@ -1337,6 +1360,16 @@ class WebsiteWriter:
self.site.write(" <br />" if flagsWritten > 0 else "")
self.site.write("bw=" + str(self.consensus.routers[relay_fp].bandwidth))
flagsWritten += 1
+ if self.consensus.routers[relay_fp].is_unmeasured:
+ assigning_bwauths = self.__find_assigning_bwauth_for_bw_value(relay_fp)
+ self.site.write(" <br />" if flagsWritten > 0 else "")
+ self.site.write("unmeasured=1")
+ flagsWritten += 1
+ else:
+ assigning_bwauths = self.__find_assigning_bwauth_for_bw_value(relay_fp)
+ self.site.write(" <br />" if flagsWritten > 0 else "")
+ self.site.write("bwauth=" + ",".join(assigning_bwauths))
+ flagsWritten += 1
if relay_fp in self.fallback_dirs:
self.site.write(" <br />" if flagsWritten > 0 else "")
More information about the tor-commits
mailing list