Line | |
---|
1 | #!/bin/env perl |
---|
2 | |
---|
3 | use Sophie::Cli; |
---|
4 | require RPC::XML; |
---|
5 | require RPC::XML::Client; |
---|
6 | use Getopt::Long; |
---|
7 | use Term::ReadKey; |
---|
8 | |
---|
9 | GetOptions( |
---|
10 | 's=s' => \my $server, |
---|
11 | ) or die "Wrong options"; |
---|
12 | |
---|
13 | ReadMode('noecho'); |
---|
14 | print "Enter password: "; |
---|
15 | my $password = ReadLine(0); |
---|
16 | ReadMode 0; |
---|
17 | print "\n"; |
---|
18 | chomp($password); |
---|
19 | |
---|
20 | my $xmlcli = RPC::XML::Client->new($server || 'http://sophie.zarb.org/rpc'); |
---|
21 | |
---|
22 | my $res = $xmlcli->send_request('login', 'admin', $password); |
---|
23 | if (ref $res) { |
---|
24 | $xmlcli->request->header('cookie', $$res); |
---|
25 | } else { |
---|
26 | die "Can't login"; |
---|
27 | } |
---|
28 | |
---|
29 | my $globalenv = Sophie::Cli::globalenv($xmlcli); |
---|
30 | |
---|
31 | if (@ARGV) { |
---|
32 | $globalenv->run(@ARGV); |
---|
33 | } else { |
---|
34 | $globalenv->cli; |
---|
35 | } |
---|
Note: See
TracBrowser
for help on using the repository browser.