':type status: Status
:type output: file'

def __init__(self, status, output, tick=0.1, update_interval=1):

    super(ProgressReporterThread, self).__init__()
    self.status = status
    self.output = output
    self._tick = tick
    self._update_interval = update_interval
    self._spinner_pos = 0
    self._status_line = ''
    self._prev_bytes = 0
    self._prev_time = time()
    self._should_stop = threading.Event()
