~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/osutils.py

  • Committer: Canonical.com Patch Queue Manager
  • Date: 2006-09-28 08:13:58 UTC
  • mfrom: (1957.1.17 wait-on-lock)
  • Revision ID: pqm@pqm.ubuntu.com-20060928081358-b8dfad24b0625b94
(jam) tests that expect LockContention should timeout sooner

Show diffs side-by-side

added added

removed removed

Lines of Context:
596
596
    return time.strftime('%Y%m%d%H%M%S', time.gmtime(when))
597
597
    
598
598
 
 
599
def format_delta(delta):
 
600
    """Get a nice looking string for a time delta.
 
601
 
 
602
    :param delta: The time difference in seconds, can be positive or negative.
 
603
        positive indicates time in the past, negative indicates time in the
 
604
        future. (usually time.time() - stored_time)
 
605
    :return: String formatted to show approximate resolution
 
606
    """
 
607
    delta = int(delta)
 
608
    if delta >= 0:
 
609
        direction = 'ago'
 
610
    else:
 
611
        direction = 'in the future'
 
612
        delta = -delta
 
613
 
 
614
    seconds = delta
 
615
    if seconds < 90: # print seconds up to 90 seconds
 
616
        if seconds == 1:
 
617
            return '%d second %s' % (seconds, direction,)
 
618
        else:
 
619
            return '%d seconds %s' % (seconds, direction)
 
620
 
 
621
    minutes = int(seconds / 60)
 
622
    seconds -= 60 * minutes
 
623
    if seconds == 1:
 
624
        plural_seconds = ''
 
625
    else:
 
626
        plural_seconds = 's'
 
627
    if minutes < 90: # print minutes, seconds up to 90 minutes
 
628
        if minutes == 1:
 
629
            return '%d minute, %d second%s %s' % (
 
630
                    minutes, seconds, plural_seconds, direction)
 
631
        else:
 
632
            return '%d minutes, %d second%s %s' % (
 
633
                    minutes, seconds, plural_seconds, direction)
 
634
 
 
635
    hours = int(minutes / 60)
 
636
    minutes -= 60 * hours
 
637
    if minutes == 1:
 
638
        plural_minutes = ''
 
639
    else:
 
640
        plural_minutes = 's'
 
641
 
 
642
    if hours == 1:
 
643
        return '%d hour, %d minute%s %s' % (hours, minutes,
 
644
                                            plural_minutes, direction)
 
645
    return '%d hours, %d minute%s %s' % (hours, minutes,
 
646
                                         plural_minutes, direction)
599
647
 
600
648
def filesize(f):
601
649
    """Return size of given open file."""