From 7c90320682fd51130564972947a3a5924f73e301 Mon Sep 17 00:00:00 2001 From: James Date: Mon, 17 Mar 2014 11:44:49 +0000 Subject: fish --- INF/DSRx020.pm | 36 ++++++++++++++++++++++-------------- inf.pl | 2 +- 2 files changed, 23 insertions(+), 15 deletions(-) diff --git a/INF/DSRx020.pm b/INF/DSRx020.pm index 591f367..d99cfad 100644 --- a/INF/DSRx020.pm +++ b/INF/DSRx020.pm @@ -34,8 +34,8 @@ sub trim($) { my $s = shift; if ( defined $s ) { - $s =~ s/a^\s+//g; - $s =~ s/\s+$//g; + $s =~ s/^[\s\t\n\r\xa0]+//s; + $s =~ s/[\t\n\r\s\xa0]+$//s; } return $s; @@ -516,25 +516,33 @@ sub pdu_load_get($) { my $rows = [ $table->look_down( "_tag" => 'tr' ) ]; return undef unless scalar(@$rows) > 1; - my $r1 = [ $rows->[0]->look_down( "_tag" => 'td' ) ]; - my $r2 = [ $rows->[1]->look_down( "_tag" => 'td' ) ]; - - for ( my $i = 0 ; $i < scalar(@$r1) ; ++$i ) { + my $row_data = []; + for my $row (@$rows) { + push @$row_data, [ $row->look_down( "_tag" => 'td' ) ]; + } - my $title = $r1->[$i]; - my $value = $r2->[$i]; + my $top_row = shift @$row_data; + for ( my $i = 0 ; $i < scalar(@$top_row) ; ++$i ) { + my $title = $top_row->[$i]; next unless defined $title; - next unless defined $value; - $title = elm_to_txt($title); - $value = elm_to_txt($value); - - trim($value); + next unless $title =~ /current/i; + + for my $row (@$row_data) { + my $value = $row->[$i]; + next unless $value; + $value = elm_to_txt($value); + trim($value); + next unless length($value); + next if $value =~ /N\/A/; + push @$ret, sprintf( "%.2f", $value ); + } - push @$ret, $value . " " if $title =~ /current/i; } + push @$ret, "N/A" if scalar(@$ret) == 0; + return join( ",", @$ret ); } diff --git a/inf.pl b/inf.pl index f6677f9..a9122f9 100755 --- a/inf.pl +++ b/inf.pl @@ -151,7 +151,7 @@ sub show_status($) { my $load = $inf->pdu_load_get(); if ( defined $load ) { - $load = sprintf( "%.1f Amps", $load ); + $load = sprintf( "%s Amps", $load ); } else { $load = "Unknown"; -- cgit v1.2.3