[tor-commits] [compass/master] Added a JSON encoder for Result objects.
karsten at torproject.org
karsten at torproject.org
Mon Jan 7 07:09:40 UTC 2013
commit ba89cbcacb7be05adcb0fa4f343d7ec3bd07b163
Author: Chris Wacek <cwacek at cs.georgetown.edu>
Date: Thu Dec 20 16:34:44 2012 -0500
Added a JSON encoder for Result objects.
Also added the ability to zero-initialize some fields in a Result
---
util.py | 19 +++++++++++++------
1 files changed, 13 insertions(+), 6 deletions(-)
diff --git a/util.py b/util.py
index d5d041e..082a991 100644
--- a/util.py
+++ b/util.py
@@ -32,13 +32,13 @@ class Result():
'exit_probability': 'p_exit',
}
- def __init__(self):
+ def __init__(self, zero_probs = False):
self.index = None
- self.cw = None
- self.adv_bw = None
- self.p_guard = None
- self.p_exit = None
- self.p_middle = None
+ self.cw = 0.0 if zero_probs else None
+ self.adv_bw = 0.0 if zero_probs else None
+ self.p_guard = 0.0 if zero_probs else None
+ self.p_exit = 0.0 if zero_probs else None
+ self.p_middle = 0.0 if zero_probs else None
self.nick = None
self.fp = None
self.link = None
@@ -57,3 +57,10 @@ class Result():
def jsonify(self):
return self.__dict__
+
+class ResultEncoder(json.JSONEncoder):
+ def default(self,obj):
+ if isinstance(obj,Result):
+ return obj.__dict__
+ return json.JSONEncoder.default(self,obj)
+
More information about the tor-commits
mailing list