'display(new_file = False[/True], done = False[/True])
Override this method to provide a nicer output.'

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

    if new_file:
        self.output_labels()
        self.last_milestone = 0
        return
    if (self.current_position == self.total_size):
        print_size = S3.Utils.formatSize(self.current_position, True)
        if (print_size[1] != ''):
            print_size[1] += 'B'
        timedelta = (self.time_current - self.time_start)
        sec_elapsed = (((timedelta.days * 86400) + timedelta.seconds) + (float(timedelta.microseconds) / 1000000.0))
        print_speed = S3.Utils.formatSize(((self.current_position - self.initial_position) / sec_elapsed), True, True)
        self._stdout.write(('100%%        %s%s    in    %.2fs    (%.2f    %sB/s)\n' % (print_size[0], print_size[1], sec_elapsed, print_speed[0], print_speed[1])))
        self._stdout.flush()
        return
    rel_position = ((self.current_position * 100) // self.total_size)
    if (rel_position >= self.last_milestone):
        self.last_milestone = ((rel_position // 5) * 5)
        self._stdout.write('%d%%    ', self.last_milestone)
        self._stdout.flush()
        return
