return bless($self, $class);
}
+# This is shamelessly stolen from pythons urlgrabber
+sub _format_number {
+ my $number = shift;
+ my $SI = shift || 0;
+ my @symbols = ('', 'k', 'M', 'G', 'T', 'P', 'E', 'Z', 'Y');
+ my $step = $SI?1000:1024;
+ my $thresh = 999;
+ my $depth = 0;
+ my $max_depth = $#symbols;
+ my $format;
+
+ while (($number > $thresh) and ($depth < $max_depth)) {
+ $depth += 1;
+ $number /= $step;
+ }
+
+ if ($number =~ /^[+-]?\d+$/) {
+ # Integer.
+ $format = '%i%s';
+ } elsif ($number < 9.95) {
+ $format = '%.1f%s';
+ } else {
+ $format = '%.0f%s';
+ }
+ return sprintf($format, $number, $symbols[$depth]);
+}
+
+
+
sub load_start {
my $self = shift;
my $talker = shift;
return undef;
}
- return $res->value();
+ my @ret = ();
+ foreach (@{$res->value()}) {
+ push @ret,
+ {
+ 'NAME' => $_->[0]->value(),
+ 'SIZE_BYTES' => _format_number($_->[1]->value()),
+ 'BYTES_DONE' => _format_number($_->[2]->value()),
+ 'UP_RATE' => _format_number($_->[3]->value()),
+ 'DOWN_RATES' => _format_number($_->[4]->value()),
+ 'ACTIVE' => $_->[5]->value(),
+ };
+ }
+
+ return \@ret;
}
sub errstr {