diff options
author | Othmar Gsenger <otti@wirdorange.org> | 2011-03-31 19:05:23 +0000 |
---|---|---|
committer | Othmar Gsenger <otti@wirdorange.org> | 2011-03-31 19:05:23 +0000 |
commit | d26fa8c1e0886c813de5364ee6570c860c6ce12c (patch) | |
tree | 418120693100150b0443d3d880f945aaa45a0d22 /local/nzbget.pm | |
parent | added support for browsing by category (diff) |
hopfully repaired this after backup loss
Diffstat (limited to 'local/nzbget.pm')
-rw-r--r-- | local/nzbget.pm | 24 |
1 files changed, 20 insertions, 4 deletions
diff --git a/local/nzbget.pm b/local/nzbget.pm index ea3b47a..5f7a509 100644 --- a/local/nzbget.pm +++ b/local/nzbget.pm @@ -1,9 +1,11 @@ package local::nzbget; require Exporter; -require RPC::XML; -require RPC::XML::Client; use strict; use base "Exporter"; +use config; +require RPC::XML; +require RPC::XML::Client; + sub new { @@ -11,12 +13,26 @@ sub new my $class = ref($invocant) || $invocant; # my $self = $class->SUPER::new(@_); my $self=bless {@_}, $class; - $self->{cli} = RPC::XML::Client->new('http://nzbget:tegbzn6789@127.0.0.1:6789/xmlrpc'); + $self->{cli} = RPC::XML::Client->new($config::config{rpc_uri}); return $self; } sub send_request { my $self = shift; - return $self->{cli}->send_request(@_) or die "Can't connect to nzbget"; + my $res = $self->{cli}->send_request( @_ ) or die "Can't connect to nzbget"; + my %result; + if (ref $res eq 'RPC::XML::hash') { + my %result; + foreach my $key (%$res) + { + $result{$key}=$res->{$key}->value; + } + return \%result; + } elsif (ref $res eq 'RPC::XML::array') { + my @array = map {$_->value} @$res; + return \@array; + } else { + return $res->value; + } } |