mirror of
https://github.com/Telecominfraproject/wlan-lanforge-scripts.git
synced 2025-11-02 03:37:55 +00:00
Updates to script including adding local library
This commit is contained in:
@@ -8,71 +8,55 @@ $SIG{ __WARN__ } = sub { Carp::confess( @_ ) };
|
|||||||
|
|
||||||
# Un-buffer output
|
# Un-buffer output
|
||||||
$| = 1;
|
$| = 1;
|
||||||
#use lib '/home/lanforge/scripts';
|
|
||||||
#use LANforge::Endpoint;
|
|
||||||
#use LANforge::Port;
|
|
||||||
#use LANforge::Utils;
|
|
||||||
#use Net::Telnet ();
|
|
||||||
use Getopt::Long;
|
use Getopt::Long;
|
||||||
use JSON::XS;
|
use JSON::XS;
|
||||||
use HTTP::Request;
|
use HTTP::Request;
|
||||||
use LWP;
|
use LWP;
|
||||||
use LWN::UserAgent;
|
use LWP::UserAgent;
|
||||||
|
use Data::Dumper;
|
||||||
use constant NA => "NA";
|
use JSON;
|
||||||
use constant NL => "\n";
|
use lib '/home/lanforge/scripts';
|
||||||
use constant shelf_num => 1;
|
use LANforge::JsonUtils;
|
||||||
|
|
||||||
package main;
|
package main;
|
||||||
# Default values for ye ole cmd-line args.
|
# Default values for ye ole cmd-line args.
|
||||||
our $Resource = 1;
|
our $Resource = 1;
|
||||||
our $quiet = "yes";
|
our $quiet = "yes";
|
||||||
our $Host = "localhost";
|
our $Host = "atlas";
|
||||||
our $Port = 8080;
|
our $Port = 8080;
|
||||||
our $HostUri = "http://$Host:$Port";
|
our $HostUri = "http://$Host:$Port";
|
||||||
our $Web = new UserAgent();
|
our $Web = LWP::UserAgent->new;
|
||||||
|
our $Decoder = JSON->new->utf8;
|
||||||
|
|
||||||
sub err {
|
|
||||||
my $i;
|
|
||||||
for $i (@_) {
|
|
||||||
print STDERR "$i";
|
|
||||||
}
|
|
||||||
print STDERR NL;
|
|
||||||
}
|
|
||||||
|
|
||||||
sub logg {
|
|
||||||
my $i;
|
|
||||||
for $i (@_) {
|
|
||||||
print STDOUT "$i";
|
|
||||||
}
|
|
||||||
print STDOUT NL;
|
|
||||||
}
|
|
||||||
|
|
||||||
sub xpand {
|
##
|
||||||
my ($rrl) = @_;
|
## M A I N
|
||||||
die("Will not expand a blank URI") if ("" eq $rrl || $rrl =~ m/^\s*$/);
|
##
|
||||||
return $rrl if ($rrl =~ /^http/);
|
|
||||||
return $rrl if ($rrl =~ m{^$main::HostUri/});
|
|
||||||
return "${main::HostUri}$rrl" if ($rrl =~ m{^/});
|
|
||||||
return "${main::HostUri}/$rrl";
|
|
||||||
}
|
|
||||||
|
|
||||||
sub json_request {
|
GetOptions
|
||||||
my ($uri) = @_;
|
(
|
||||||
my $url = xpand($uri);
|
'host=s' => \$::Host,
|
||||||
logg("$uri becomes $url\n");
|
) || (print($usage) && exit(1));
|
||||||
my $req = new HTTP::Request->("GET", $url);
|
|
||||||
$req->header("Accept" => "application/json");
|
|
||||||
|
|
||||||
my $thing = $::Web->request($req);
|
"http://$Host:$Port";
|
||||||
|
|
||||||
print Dumper::dump($thing);
|
|
||||||
}
|
|
||||||
|
|
||||||
logg(" this is a thing");
|
|
||||||
logg("with a line ending\n");
|
|
||||||
|
|
||||||
my $uri = "/shelf/1";
|
my $uri = "/shelf/1";
|
||||||
json_request($uri);
|
my $rh = json_request($uri);
|
||||||
|
my $ra_links = get_links_from($rh, 'resources');
|
||||||
|
|
||||||
|
#print Dumper($ra_links);
|
||||||
|
for $uri (@$ra_links) {
|
||||||
|
$uri =~ s{/resource}{/port}g;
|
||||||
|
$uri .= "/list";
|
||||||
|
logg("requesting $uri");
|
||||||
|
|
||||||
|
$rh = json_request($uri);
|
||||||
|
print Dumper($rh);
|
||||||
|
my $ra_links2 = get_links_from($rh, 'interfaces');
|
||||||
|
for my $uri2 (@$ra_links2) {
|
||||||
|
logg("found $uri2");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#
|
#
|
||||||
Reference in New Issue
Block a user