[tor-commits] [depictor/master] Handle turtles as a DirAuth and change the duplicate vote handling to not be an abort. Move the DB construction lower.

tom at torproject.org tom at torproject.org
Thu Sep 1 15:13:03 UTC 2016


commit dc6f97b03d882b4d68265a24770fd99dc24bb637
Author: Tom Ritter <tom at ritter.vg>
Date:   Fri Jul 1 13:47:22 2016 -0400

    Handle turtles as a DirAuth and change the duplicate vote handling to not be an abort. Move the DB construction lower.
---
 parseOldConsensuses.py | 17 +++++++++++------
 1 file changed, 11 insertions(+), 6 deletions(-)

diff --git a/parseOldConsensuses.py b/parseOldConsensuses.py
index 66e11eb..a616014 100755
--- a/parseOldConsensuses.py
+++ b/parseOldConsensuses.py
@@ -45,6 +45,8 @@ def get_dirauth_from_filename(filename):
 		return "tor26"
 	elif key == "0232AF901C31A04EE9848595AF9BB7620D4C5B2E" or key == "585769C78764D58426B8B52B6651A5A71137189A":
 		return "dannenberg"
+        elif key == "27B6B5996C426270A5C95488AA5BCEB6BCC86956":
+                return "turtles"
 	else:
 		raise Exception("Unexpcected dirauth key: " + key + " " + filename)
 
@@ -70,16 +72,17 @@ def main(dir):
 	for d in dirAuths:
 		dirauth_columns += d + "_running integer, " + d + "_bwauth integer, "
 		dirauth_columns_questions += ", ?, ?"
-	dbc.execute("CREATE TABLE IF NOT EXISTS vote_data(date integer, " + dirauth_columns + "PRIMARY KEY(date ASC))")
-	dbc.commit()
 
 	votes = {}
 	for root, dirs, files in os.walk(dir):
 		for f in files:
-			print os.path.join(root, f)
+                        filepath = os.path.join(root, f)
+                        print filepath
 
 			if '"' in f:
 				raise Exception("Potentially malicious filename")
+                        elif "votes-" in f and ".tar" in f:
+                                continue
 
 			voteTime = get_time_from_filename(f)
 			if voteTime not in votes:
@@ -91,12 +94,14 @@ def main(dir):
 			elif dirauth not in votes[voteTime]:
 				votes[voteTime][dirauth] = {}
 			else:
-				raise Exception("Found two votes for dirauth " + dirauth + " and time " + filename)
+				print "Found two votes for dirauth " + dirauth + " and time " + filepath
 
 			votes[voteTime][dirauth]['present'] = 1
-			votes[voteTime][dirauth]['bwlines'] = int(subprocess.check_output('grep Measured= "' + os.path.join(root, f) + '" | wc -l', shell=True))
-			votes[voteTime][dirauth]['running'] = int(subprocess.check_output('egrep "^s " "' + os.path.join(root, f) + '" | grep " Running" | wc -l', shell=True))
+			votes[voteTime][dirauth]['bwlines'] = int(subprocess.check_output('grep Measured= "' + filepath + '" | wc -l', shell=True))
+			votes[voteTime][dirauth]['running'] = int(subprocess.check_output('egrep "^s " "' + filepath + '" | grep " Running" | wc -l', shell=True))
 
+	dbc.execute("CREATE TABLE IF NOT EXISTS vote_data(date integer, " + dirauth_columns + "PRIMARY KEY(date ASC))")
+	dbc.commit()
 
 	for t in votes:
 		print t





More information about the tor-commits mailing list