Beefy Boxes and Bandwidth Generously Provided by pair Networks
Problems? Is your data what you think it is?
 
PerlMonks  

NetIQ Report Parser

by JSchmitz (Canon)
on Mar 09, 2006 at 18:28 UTC ( #535462=sourcecode: print w/replies, xml ) Need Help??
Category: HTML utility
Author/Contact Info JefferySchmitz@mac.com
Description: This is a script that uses the HTML::TableExtract module that Mojotoad wrote. It is very handy for stripping out just the error messages in NetIQ reports for emailing them out. Matt helped me with this a lot so I have to give him props for this one.
#!/usr/bin/perl -w

use LWP::Simple;
use HTML::TableExtract;

my $html_report;
# replace this with LWP::Simple get() or somesuch
# for fetching main report
open(F, "<Report.htm") or die "oof: $!\n";
$html_report = join('', <F>);
close(F);

foreach my $row (rows_from_main_report($html_report)) {
  next unless $row->[1] =~ /failed/i;
  my($link) = $row->[2] =~ /href\s*\=\s*\"?([^\"]+)/;
  unless ($link) {
    print STDERR "no link from row ($row->[2])\n";
    next;
  }
  print "$link\n";
  my $html = get($link);
  unless ($html) {
    print STDERR "no html from link $link\n";
    next;
  }
  print "$link\n";
  foreach my $row (rows_from_fail_report($html)) {
    # do whatever here
    print join(' : ', @$row), "\n";
  }
}

sub rows_from_main_report {
  my $html = shift || die "HTML string required\n";
  my $te = HTML::TableExtract->new(
    headers   => [qw(computer data time)],
    keep_html => 1,
  );
  $te->parse($html_report);
  my $ts = $te->first_table_state_found;
  $ts->rows;
}

sub rows_from_fail_report {
  my $html = shift || die "HTML string required\n";
  my $te = HTML::TableExtract->new(
    headers => [qw(job date client class schedule master desc)],
  );
  $te->parse($html);
  my $ts = $te->first_table_state_found;
  $ts->rows;
}


Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: sourcecode [id://535462]
help
Chatterbox?
and God said, "Let Newton be!"...

How do I use this? | Other CB clients
Other Users?
Others lurking in the Monastery: (3)
As of 2017-04-29 21:41 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    I'm a fool:











    Results (534 votes). Check out past polls.