source: tools/trunk/bin/sophie_load @ 406

Last change on this file since 406 was 406, checked in by nanardon, 12 years ago
  • merge admin and tools
File size: 1.1 KB
Line 
1#!/bin/env perl
2
3use Sophie::Cli;
4require RPC::XML;
5require RPC::XML::Client;
6use Term::ReadKey;
7use Getopt::Long;
8
9GetOptions(
10    's=s' => \my $server,
11);
12
13ReadMode('noecho');
14print "Enter password: ";
15my $password = ReadLine(0);
16ReadMode 0;
17print "\n";
18chomp($password);
19
20require Data::Dumper;
21my $xmlcli = RPC::XML::Client->new($server || 'http://sophie.zarb.org/rpc');
22
23my $res = $xmlcli->send_request('login', 'admin', $password);
24if (ref $res && !$res->is_fault) {
25    $xmlcli->request->header('cookie', $$res);
26} else {
27    die "Can't login";
28}
29
30if (@ARGV) {
31    my @string;
32    foreach my $file (@ARGV) {
33        warn "Reading $file\n";
34        open($handle, '<', $file) || die "can't open file $!";
35        push(@string, join('', <$handle>));
36        close($handle);
37    }
38
39    foreach my $string (@string) {
40        my $res = $xmlcli->send_request('admin.load_distrib', $string);
41        print $res->value . "\n";
42    }
43} else {
44    my $string = join('', <STDIN>);
45    my $res = $xmlcli->send_request('admin.load_distrib', $string);
46    print $res->value . "\n";
47}
Note: See TracBrowser for help on using the repository browser.