blob: 5f7a509d2ef4e0f0d40529418f236df11b5c0021 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
package local::nzbget;
require Exporter;
use strict;
use base "Exporter";
use config;
require RPC::XML;
require RPC::XML::Client;
sub new
{
my $invocant = shift;
my $class = ref($invocant) || $invocant;
# my $self = $class->SUPER::new(@_);
my $self=bless {@_}, $class;
$self->{cli} = RPC::XML::Client->new($config::config{rpc_uri});
return $self;
}
sub send_request
{
my $self = shift;
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;
}
}
|