--- trunk/lib/WebPAC/Common.pm 2006/09/06 18:08:04 633 +++ trunk/lib/WebPAC/Common.pm 2006/10/25 20:53:14 763 @@ -15,11 +15,11 @@ =head1 VERSION -Version 0.03 +Version 0.04 =cut -our $VERSION = '0.03'; +our $VERSION = '0.04'; =head1 SYNOPSYS @@ -43,6 +43,8 @@ my $log = $self->_get_logger(); + $self->{last_pcnt_t} ||= time(); + $log->logconfess("no current value!") if (! $curr); $log->logconfess("no maximum value!") if (! $max); @@ -62,14 +64,16 @@ $self->{'start_t'} = time(); } - if ($p != $self->{'last_pcnt'}) { + my $t = time(); + + if ($p != $self->{'last_pcnt'} || ( $t - $self->{last_pcnt_t} ) > 2 ) { - my $t = time(); my $rate = ($curr / ($t - $self->{'start_t'} || 1)); my $eta = ($max-$curr) / ($rate || 1); printf STDERR ("%5d [%-38s] %-5d %0.1f/s %s\r",$curr,"=" x ($p/3)."$p%>", $max, $rate, $self->fmt_time($eta)); $self->{'last_pcnt'} = $p; $self->{'last_curr'} = $curr; + $self->{last_pcnt_t} = $t; } print STDERR "\n" if ($p == 100); }