allow snmp::info base class in netdisco-do (#486)

* allow the use of base snmp::info

* dont use .

* should have been: dont use $_

* also document some extra features

* reword
This commit is contained in:
nick n
2019-01-14 23:02:08 +01:00
committed by Oliver Gorwits
parent 6a36baa961
commit 89b8f8c0ce
2 changed files with 26 additions and 9 deletions

View File

@@ -18,13 +18,14 @@ register_worker({ phase => 'main', driver => 'snmp' }, sub {
my ($device, $port, $extra) = map {$job->$_} qw/device port extra/;
$extra ||= 'interfaces'; my $class = undef;
($class, $extra) = split(/::([^:]+)$/, $extra);
if ($class and $extra) {
$class = 'SNMP::Info::'.$class;
}
else {
$extra = $class;
undef $class;
my @values = split /::/, $extra;
$extra = pop @values;
if (scalar(@values)) {
$class = "SNMP::Info";
foreach my $v (@values) {
last if ($v eq '');
$class = $class.'::'.$v;
}
}
my $i = App::Netdisco::Transport::SNMP->reader_for($device, $class);