[tor-commits] [ooni-probe/master] Merge branch 'feature/task_manager' into feature/ui

art at torproject.org art at torproject.org
Wed Jun 19 12:32:46 UTC 2013


commit 81c53bbc6107d955731eabe6d41e24c586d07122
Merge: 3b88935 056a24b
Author: Arturo Filastò <art at fuffa.org>
Date:   Mon Apr 29 18:15:47 2013 +0200

    Merge branch 'feature/task_manager' into feature/ui
    
    * feature/task_manager:
      Make how we keep track of successful reports more robust.

 ooni/reporter.py |   12 ++++++------
 ooni/tasks.py    |   19 +++++++++++++++++++
 2 files changed, 25 insertions(+), 6 deletions(-)

diff --cc ooni/reporter.py
index 1095cb1,732d516..5d8f92b
--- a/ooni/reporter.py
+++ b/ooni/reporter.py
@@@ -32,9 -32,9 +32,9 @@@ from ooni import otim
  from ooni.utils import geodata, pushFilenameStack
  from ooni.utils.net import BodyReceiver, StringProducer, userAgents
  
 -from ooni import config
 +from ooni.settings import config
  
- from ooni.tasks import ReportEntry, TaskTimedOut
+ from ooni.tasks import ReportEntry, TaskTimedOut, ReportTracker
  
  class ReporterException(Exception):
      pass
diff --cc ooni/tasks.py
index f686a9c,428fdbf..35f1236
--- a/ooni/tasks.py
+++ b/ooni/tasks.py
@@@ -129,7 -129,28 +129,26 @@@ class Measurement(TaskWithTimeout)
          d = self.netTestMethod()
          return d
  
+ class ReportTracker(object):
+     def __init__(self, reporters):
+         self.report_completed = 0
+         self.reporters = reporters
+ 
+     def finished(self):
+         """
+         Returns true if all the tasks are done. False if not.
+         """
+         if self.report_completed == len(self.reporters):
+             return True
+         return False
+ 
+     def completed(self):
+         """
+         Called when a new report is completed.
+         """
+         self.report_completed += 1
+ 
  class ReportEntry(TaskWithTimeout):
 -    timeout = config.advanced.reporting_timeout
 -
      def __init__(self, reporter, measurement):
          self.reporter = reporter
          self.measurement = measurement





More information about the tor-commits mailing list