From d26fa8c1e0886c813de5364ee6570c860c6ce12c Mon Sep 17 00:00:00 2001 From: Othmar Gsenger Date: Thu, 31 Mar 2011 19:05:23 +0000 Subject: hopfully repaired this after backup loss --- local/nzbget.pm | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) (limited to 'local/nzbget.pm') 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; + } } -- cgit v1.2.3