'display(new_file = False[/True], done_message = None)'

def display(self, new_file=False, done_message=None):

    if new_file:
        self.output_labels()
        return
    if ((not (new_file or done_message)) and (not self._display_needed())):
        return
    timedelta = (self.time_current - self.time_start)
    sec_elapsed = (((timedelta.days * 86400) + timedelta.seconds) + (float(timedelta.microseconds) / 1000000.0))
    if (sec_elapsed > 0):
        print_speed = S3.Utils.formatSize(((self.current_position - self.initial_position) / sec_elapsed), True, True)
    else:
        print_speed = (0, '')
    self._stdout.write(self.CR_char)
    output = ('    %(current)s    of    %(total)s            %(percent)3d%%    in    %(elapsed)4ds        %(speed)7.2f    %(speed_coeff)sB/s' % {'current': str(self.current_position).rjust(len(str(self.total_size))), 'total': self.total_size, 'percent': ((self.total_size and ((self.current_position * 100) // self.total_size)) or 0), 'elapsed': sec_elapsed, 'speed': print_speed[0], 'speed_coeff': print_speed[1]})
    self._stdout.write(output)
    if done_message:
        self._stdout.write(('        %s\n' % done_message))
    self._stdout.flush()
