Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2014-03-12 23:54:54

  as-max - Użytkownik

as-max
Użytkownik
Zarejestrowany: 2011-01-23

conky + rtorrent

Zachciało mi się wstawić monitor rtorrenta do conky na podstawie poradnika:
[url=http://www.sakana.fr/blog/2009/10/11/conky-integrating-rtorrent-downloads-monitoring/]tego[/url]
lub [url=http://ubuntuforums.org/showthread.php?t=1565835]tego[/url]
Generalnie oba wykorzystują to samo czyli Frontiera i tu zaczynają się schody, ponieważ otrzymuję taki komunikat jak na pierwszym z poradników, czyli:
wanted a data type, got `i8′
Poniżej niby jest rozwiązanie ale nie wiem gdzie mam to dopisać. Czy istnieje jakiś plik konfiguracyjny Frontier RPC2?

Offline

 

#2  2014-03-14 09:33:11

  as-max - Użytkownik

as-max
Użytkownik
Zarejestrowany: 2011-01-23

Re: conky + rtorrent

A może ma ktoś jakieś rozwiązanie aby w conky wyświetlić status rtorrenta ale przy użyciu scgi_port a nie scgi_local

Offline

 

#3  2014-03-19 20:28:45

  as-max - Użytkownik

as-max
Użytkownik
Zarejestrowany: 2011-01-23

Re: conky + rtorrent

Znalazłem w końcu ten plik Frontiera odpowiedzialny za to. Znajdował się w /usr/share/perl5/Frontier i nosił nazwę RPC2.pm
Wstawiłem brakującą linię zgodnie z instrukcją i zaczął pobierać dane z tym, że teraz wyświetla komunikat o błędzie:
[i]Argument "\x{20}\x{37}..." isn't numeric in division (/) at /home/adam/.conky/skrypty/rtorrent-status.pl line 37.[/i]
Domyślam się, że chodzi o to, że dane, które skrypt próbuje podzielić nie są liczbą w linii:
my $percent_done = 100 * ($d->[1] / $d->[2]);

Cały skrypt zamieszczam poniżej. Niestety nie znam perla i nie wiem jak to poprawić.

Kod:

#!/usr/bin/perl

use strict;
use warnings;

use Frontier::Client;

#test if rtorrent is running
my($sessdir)='/home/adam/.session';

if (! -e "$sessdir/rtorrent.lock")
{
   printf("\${color FFFFFF}Rtorrent not running\n");
   exit;
}

# Configuration
use constant server => 'http://localhost/RPC2';

# Do not edit below this comment
my $server = Frontier::Client->new(url => server);

my $uprate = $server->call('get_up_rate');
my $downrate = $server->call('get_down_rate');

#use the "to_mb" conversions built into xmlrpc as other conversions are messy
#for large files, it returns an INT that is too large - wraps around and becomes negative.
my $torrents = $server->call('d.multicall', "main",
"d.get_base_filename=",
"to_mb=\$d.get_bytes_done=",
"to_mb=\$d.get_size_bytes=",
"d.get_down_rate=");

my @res;
foreach my $d (@$torrents) {
        my $dl_rate = $d->[3] / 1024;
        my $percent_done = 100 * ($d->[1] / $d->[2]);

if ($percent_done == 100) {
        push @res,
        sprintf("\${color 0033FF}%.28s \${alignr}%6.1f kB/s\n" .
        "" x 2 . "%3.1f%%" . " \${execbar echo %3.0f }\${color 33DD33}",
        $d->[0], $dl_rate, $percent_done, $percent_done);
} else {
        push @res,
        sprintf("\${font Arial:size=8}%.40s \${font}\n\${alignr}%6.1f kB/s\n" .
        "" x 2 . "%3.1f%%" . " \${execbar echo %3.0f }\n",
        $d->[0], $dl_rate, $percent_done, $percent_done);
}
}

printf("\${color FFFFFF}%6.1f kB/s up %6.1f kB/s down\n\n \${color ffffff}", $uprate / 1024, $downrate / 1024);
print join("\n", @res), "\n";

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
Możesz wyłączyć AdBlock — tu nie ma reklam ;-)

[ Generated in 0.009 seconds, 9 queries executed ]

Informacje debugowania

Time (s) Query
0.00010 SET CHARSET latin2
0.00005 SET NAMES latin2
0.00155 SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='18.116.15.22' WHERE u.id=1
0.00091 REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '18.116.15.22', 1732754700)
0.00054 SELECT * FROM punbb_online WHERE logged<1732754400
0.00063 SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=25424 AND t.moved_to IS NULL
0.00025 SELECT search_for, replace_with FROM punbb_censoring
0.00199 SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=25424 ORDER BY p.id LIMIT 0,25
0.00085 UPDATE punbb_topics SET num_views=num_views+1 WHERE id=25424
Total query time: 0.00687 s