#!/bin/env perl use Sophie::Cli; require RPC::XML; require RPC::XML::Client; use Term::ReadKey; use Getopt::Long; GetOptions( 's=s' => \my $server, ); ReadMode('noecho'); print "Enter password: "; my $password = ReadLine(0); ReadMode 0; print "\n"; chomp($password); require Data::Dumper; my $xmlcli = RPC::XML::Client->new($server || 'http://sophie.zarb.org/rpc'); my $res = $xmlcli->send_request('login', 'admin', $password); if (ref $res && !$res->is_fault) { $xmlcli->request->header('cookie', $$res); } else { die "Can't login"; } if (@ARGV) { my @string; foreach my $file (@ARGV) { warn "Reading $file\n"; open($handle, '<', $file) || die "can't open file $!"; push(@string, join('', <$handle>)); close($handle); } foreach my $string (@string) { my $res = $xmlcli->send_request('admin.load_distrib', $string); print $res->value . "\n"; } } else { my $string = join('', ); my $res = $xmlcli->send_request('admin.load_distrib', $string); print $res->value . "\n"; }