[tor-commits] [metrics-tasks/master] read server_desc dir
karsten at torproject.org
karsten at torproject.org
Sun Nov 25 20:27:54 UTC 2012
commit c7e0af8c2ab407c4043775792c1c4fee2e4d515a
Author: Sathyanarayanan Gunasekaran <gsathya.ceg at gmail.com>
Date: Fri Nov 23 17:53:42 2012 +0530
read server_desc dir
---
task-1854/pylinf.py | 19 +++++++++----------
1 files changed, 9 insertions(+), 10 deletions(-)
diff --git a/task-1854/pylinf.py b/task-1854/pylinf.py
index eece3cd..1f50dc9 100644
--- a/task-1854/pylinf.py
+++ b/task-1854/pylinf.py
@@ -14,7 +14,7 @@ import os
import pygeoip
import tarfile
import StringIO
-import stem.descriptor.server_descriptor
+import stem.descriptor.server_descriptor as server_descriptor
from optparse import OptionParser
from binascii import b2a_hex, a2b_base64, a2b_hex
@@ -55,11 +55,7 @@ class Router:
return ""
def get_advertised_bw(self, hex_digest):
- try:
- return descriptors[self.hex_digest]
- except:
- print "Unexpected error:", sys.exc_info()[0]
- return 0
+ return descriptors[self.hex_digest]
def parse_bw_weights(values):
data = {}
@@ -91,8 +87,7 @@ def load_server_desc(tar_file_path):
data=tar_file_data.read()
try:
- desc_iter = stem.descriptor.server_descriptor.parse_file(
- StringIO.StringIO(data))
+ desc_iter = server_descriptor.parse_file(StringIO.StringIO(data), validate=False)
desc_entries = list(desc_iter)
desc = desc_entries[0]
@@ -101,7 +96,7 @@ def load_server_desc(tar_file_path):
desc.burst_bandwidth,
desc.observed_bandwidth)
except:
- print "Unexpected error:", sys.exc_info()[0]
+ print "Unexpected error:", sys.exc_info()
continue
tar_fh.close()
@@ -216,8 +211,12 @@ if __name__ == "__main__":
gi_db = pygeoip.GeoIP(options.gi_db)
as_db = pygeoip.GeoIP(options.as_db)
+ server_desc_files = []
+
# load all server descs into memeory
- load_server_desc(options.server_desc)
+ for file_name in os.listdir(options.server_desc):
+ server_desc_files.append(os.path.join(options.server_desc, file_name))
+ load_server_desc(server_desc_files)
with open(options.output, 'w') as out_fh:
for file_name in os.listdir(options.consensus):
More information about the tor-commits
mailing list