[tor-commits] [ooni-probe/master] Add measurement result to measurement object.

art at torproject.org art at torproject.org
Sat Nov 23 11:11:41 UTC 2013


commit 359b99d1399761d2a6cf24cd66b21041cd51e4ab
Author: aagbsn <aagbsn at extc.org>
Date:   Mon Nov 18 14:41:36 2013 +0000

    Add measurement result to measurement object.
    
    Simplify callback chain by adding the measurement result to the measurement object.
---
 ooni/director.py |    4 +++-
 ooni/managers.py |    2 +-
 ooni/nettest.py  |    5 +++--
 3 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/ooni/director.py b/ooni/director.py
index 628b812..7a81815 100644
--- a/ooni/director.py
+++ b/ooni/director.py
@@ -174,10 +174,11 @@ class Director(object):
     def measurementStarted(self, measurement):
         self.totalMeasurements += 1
 
-    def measurementSucceeded(self, measurement):
+    def measurementSucceeded(self, result, measurement):
         log.msg("Successfully completed measurement: %s" % measurement)
         self.totalMeasurementRuntime += measurement.runtime
         self.successfulMeasurements += 1
+        measurement.result = result
         return measurement
 
     def measurementFailed(self, failure, measurement):
@@ -186,6 +187,7 @@ class Director(object):
 
         self.failedMeasurements += 1
         self.failures.append((failure, measurement))
+        measurement.result = failure
         return measurement
 
     def reporterFailed(self, failure, net_test):
diff --git a/ooni/managers.py b/ooni/managers.py
index a229044..b6e87e4 100644
--- a/ooni/managers.py
+++ b/ooni/managers.py
@@ -80,7 +80,7 @@ class TaskManager(object):
         self._fillSlots()
 
         # Fires the done deferred when the task has completed
-        task.done.callback(task)
+        task.done.callback(result)
         self.succeeded(result, task)
 
     @property
diff --git a/ooni/nettest.py b/ooni/nettest.py
index 2982f4d..b6dac29 100644
--- a/ooni/nettest.py
+++ b/ooni/nettest.py
@@ -535,9 +535,10 @@ class NetTest(object):
         measurement.netTest = self
 
         if self.director:
-            measurement.done.addCallback(self.director.measurementSucceeded)
+            measurement.done.addCallback(self.director.measurementSucceeded,
+                    measurement)
             measurement.done.addErrback(self.director.measurementFailed,
-                                        measurement)
+                    measurement)
         return measurement
 
     @defer.inlineCallbacks





More information about the tor-commits mailing list