X-Git-Url: https://git.camperquake.de/gitweb.cgi?a=blobdiff_plain;f=xmlrtorrent.pl;h=3514100995909ca0842dbb2681ff676ae91c590c;hb=4e9ffeb12d88dfe9d4c480c0995308a93909653a;hp=5896a25cd733870026cfb06f65df1aa185e4458f;hpb=cd743f791e7684d7041bb6c161f871ccd3e90f86;p=xmlrtorrent.git diff --git a/xmlrtorrent.pl b/xmlrtorrent.pl index 5896a25..3514100 100644 --- a/xmlrtorrent.pl +++ b/xmlrtorrent.pl @@ -26,9 +26,6 @@ my $rtorrent; my @outputstack = (undef); my $PARAMS = { - 'XMLURL' => 'http://localhost/RPC2', - 'USERNAME' => '', - 'PASSWORD' => '', '_QUEUE' => {}, }; @@ -121,35 +118,6 @@ sub write_debug { } } -# 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 check_for_link { my ($signal,$parammessage,$paramchannel,$paramnick,$paramserver) = @_; my $server = $signal->[$paramserver]; @@ -157,7 +125,6 @@ sub check_for_link { my $message = ($parammessage == -1) ? '' : $signal->[$parammessage]; my $nick = ($paramnick == -1)?defined($server)?$server->{'nick'}:'':$signal->[$paramnick]; my $g; - my $m; my $p; my $witem; @@ -166,27 +133,19 @@ sub check_for_link { } else { $witem = Irssi::window_item_find($target); } - + # Look if we should ignore this line if ($message =~ m,(?:\s|^)/nosave(?:\s|$),) { return; } - + push_output($witem); # Look if there is a torrent link in there - $message =~ m,(http://\S*\.(?:torrent|penis)),; - $m = $1; - while (defined($m)) { - write_debug('Torrent-URL: %s', $m); - $torrentlist{$torrentindex++} = {'CHANNEL' => $target, 'NICK' => $nick, 'URL' => $m}; - - # Remove the matched part from the message and try again (there may be - # more!) - $message =~ s/$m//; - - $message =~ m|(http://.*\.torrent)|; - $m = $1; + + while ($message =~ m,(http://\S*\.(?:torrent|penis)),g) { + write_debug('Torrent-URL: %s', $1); + $torrentlist{$torrentindex++} = {'CHANNEL' => $target, 'NICK' => $nick, 'URL' => $1}; } pop_output(); @@ -255,13 +214,12 @@ sub cmd_remote { } else { foreach (@{$rqueue}) { write_irssi(' %s%s: %sB/%sB done (%d%%), %sB/s up, %sB/s down', - $_->[6]?'*':' ', - $_->[0], - format_number($_->[2]), - format_number($_->[1]), - ($_->[2]*100)/$_->[1], - format_number($_->[3]), - format_number($_->[4])); + $_->{'ACTIVE'}?'*':' ', + $_->{'NAME'}, + $_->{'BYTES_DONE'}, + $_->{'SIZE_BYTES'}, + $_->{'UP_RATE'}, + $_->{'DOWN_RATE'}); } } }