X-Git-Url: https://git.camperquake.de/gitweb.cgi?p=xmlrtorrent.git;a=blobdiff_plain;f=xmlrtorrent.pm;fp=xmlrtorrent.pm;h=0000000000000000000000000000000000000000;hp=a33919ff539b32ff4e4d3600be7c11ac905faa77;hb=58be7bbed0e4ba7be83d0bd3093bcc69571a2a0c;hpb=ba42ec7d8992f8baea148b4241964eeba3d7d3b7 diff --git a/xmlrtorrent.pm b/xmlrtorrent.pm deleted file mode 100644 index a33919f..0000000 --- a/xmlrtorrent.pm +++ /dev/null @@ -1,106 +0,0 @@ -package xmlrtorrent; - -use strict; -use Data::Dumper; - -sub new { - my $class = shift; - my $self = {@_}; - - 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; - my $URL = shift; - my $res; - - $res = $talker->send_request('load_start', $URL); - unless(ref($res)) { - $self->{'__ERROR'} = $res; - return undef - } - - if ($res->is_fault()) { - $self->{'__ERROR'} = $res->value()->{'faultString'}; - return undef; - } - - return 1; -} - -sub download_list { - my $self = shift; - my $talker = shift; - my $res; - - $res = $talker->send_request('d.multicall', '', - 'd.get_name=', - 'd.get_size_bytes=', - 'd.get_bytes_done=', - 'd.get_up_rate=', - 'd.get_down_rate=', - 'd.is_active='); - unless(ref($res)) { - $self->{'__ERROR'} = $res; - return undef - } - - if ($res->is_fault()) { - $self->{'__ERROR'} = $res->value()->{'faultString'}; - return undef; - } - - 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_RATE' => _format_number($_->[4]->value()), - 'ACTIVE' => $_->[5]->value(), - }; - } - - return \@ret; -} - -sub errstr { - my $self = shift; - - return $self->{'__ERROR'}; -} - -1;