alphatwirl.progressbar.ProgressReporter

class alphatwirl.progressbar.ProgressReporter(**kwargs)[source]

A progress reporter

This class sends a ProgressReport to a progress monitor, e.g., ProgressMonitor or BProgressMonitor, which, for example, uses the reports to update ProgressBar on the screen.

An instance of this class is initialized with a message queue:

reporter = ProgressReporter(queue)

A reporter, an instance of this class, is typically created and initialized by a progress monitor (ProgressMonitor or BProgressMonitor), which keeps the other end of the message queue. A reporter and a monitor might be running in different processes.

A report, an instance of ProgressReport, can be sent as:

reporter.report(report)

This method can be frequently called multiple times. However, after sending one report, the reporter wait for a certain interval (0.1 seconds by default) before sending another report of the same task. Reports from the same task received within this interval will be discarded. The exception for this is the last report. The last report, which indicates the completion of the task, will be always sent to the progress monitor regardless of whether it is given within the interval.

__init__(**kwargs)

Methods

__init__(**kwargs)
report(report) send report to a progress monitor