def METHOD_NAME(self, value):
    self.elapsed_time = time.time() - self.start_time
    # Don't display anything if the output is a pipe
    if not self.pipe.isatty():
        return
    progress = float(value) / float(self.max_value)
    self.pipe.write('|')
    self.pipe.write(('#' * int(round(progress * 64))).ljust(64))
    self.pipe.write('| ')
    self.pipe.write(('%i%% ' % int(round(progress * 100))).rjust(5))
    if progress == 0:
        self.pipe.write('--:--:--')
    elif progress == 1:
        self.pipe.write(time.strftime('%H:%M:%S', time.gmtime(self.elapsed_time)))
        self.pipe.write('\n')
    else:
        remaining_time = self.elapsed_time * (1 / progress - 1)
        self.pipe.write(time.strftime('%H:%M:%S', time.gmtime(remaining_time)))
    self.pipe.write('\r')
    self.pipe.flush()
    self.visible = 1