Blame contrib/ovmrtg/index

Packit 667938
#!/usr/local/gnu/bin/perl5
Packit 667938
# -*- mode: Perl -*-
Packit 667938
##################################################################
Packit 667938
# Multi Router Traffic Grapher: Index Generator
Packit 667938
##################################################################
Packit 667938
#
Packit 667938
# This reads a mrtg.cfg file form std input or cmdline argument
Packit 667938
# and it takes a regexp on the cmdline to specify which 
Packit 667938
# targets to look at.
Packit 667938
#
Packit 667938
# from this info it produces a router index on std out.
Packit 667938
#
Packit 667938
##################################################################
Packit 667938
# Created by Tobias Oetiker <oetiker@ee.ethz.ch>
Packit 667938
# Modifications by Laurie Gellatly <gellatly@one.net.au>
Packit 667938
# Distributed under the GNU copyleft
Packit 667938
#
Packit 667938
# $Id: index,v 1.1.1.1 2002/02/26 10:16:36 oetiker Exp $
Packit 667938
##################################################################
Packit 667938
Packit 667938
Packit 667938
$regexp = pop @ARGV;
Packit 667938
$Title = pop @ARGV;
Packit 667938
if (defined($Title) && -f $Title) {
Packit 667938
 push(@ARGV, $Title);
Packit 667938
 $Title = "$Title Overview ($regexp)";
Packit 667938
}
Packit 667938
if (! -f $ARGV[0]) {
Packit 667938
 print "
Packit 667938
Packit 667938
USAGE: index <mrtg.cfg> <title> <regular expression>
Packit 667938
Packit 667938
This tool will read the contents of the mrtg.cfg file and will 
Packit 667938
return the HTML code of a webpage contanig the 'daily' graphs 
Packit 667938
of all the routers whose titles match the regular expression.
Packit 667938
Packit 667938
NOTE: you have to adjust this tool to your needs as the HTML 
Packit 667938
      contains our logo and our name ...
Packit 667938
Packit 667938
";
Packit 667938
Packit 667938
 exit ;
Packit 667938
Packit 667938
}
Packit 667938
Packit 667938
#slurp the cfg file
Packit 667938
while(<>) {
Packit 667938
  s/\t/ /g;  #replace tabs by spac
Packit 667938
  next if /^\s+$/; #ignore white space
Packit 667938
  next if /^\s*\#/; #ignore comments
Packit 667938
  if (/$regexp/i && ! /\[\^\]/ && ! /\[\$\]/ && /^title\[([^\]]+)\]:\s*(.*\S)/i) {
Packit 667938
    $router=lc($1);
Packit 667938
    $arg=$2;
Packit 667938
    $titles{$router} = $arg;   
Packit 667938
    next;
Packit 667938
  }
Packit 667938
  if (/^directory\[([^\]]+)\]:\s*(.*\S)/i) {
Packit 667938
    $arg = $2;
Packit 667938
    $tmp = lc($1);
Packit 667938
    $dirs{$tmp} = "$arg/";
Packit 667938
  }
Packit 667938
  if ($router && /^pagetop\[([^\]]+)\]:\s*(.*\S)/i) {
Packit 667938
    next;
Packit 667938
  }
Packit 667938
  if ($router && /^\s+(.*?)<\/H1>/) {
Packit 667938
    $titles{$router} .= " $1";
Packit 667938
  }
Packit 667938
  $router = '';
Packit 667938
}
Packit 667938
Packit 667938
$Today=datestr(time);
Packit 667938
print <
Packit 667938
<HTML>
Packit 667938
<HEAD>
Packit 667938
<TITLE>$Title</TITLE>
Packit 667938
<META HTTP-EQUIV="Refresh" CONTENT=300 >
Packit 667938
</HEAD>
Packit 667938
<BODY bgcolor=#ffffff>
Packit 667938
Packit 667938

$Title

Packit 667938
Packit 667938
These statistics were last updated $Today 
Packit 667938
Packit 667938
ECHO
Packit 667938
Packit 667938
foreach $router (sort {$titles{$a} cmp $titles{$b}} keys %titles) {
Packit 667938
  $dirs{$router} = "" if (!defined($dirs{$router}));
Packit 667938
  $rdir = $dirs{$router};
Packit 667938
  print <
Packit 667938

$titles{$router}

Packit 667938
   <SMALL></SMALL>

Packit 667938
  
Packit 667938
  
Packit 667938
ECHO
Packit 667938
}
Packit 667938
Packit 667938
'$Revision: 1.1.1.1 $ ' =~ /Revision: (\S*)/;
Packit 667938
$rev=$1;
Packit 667938
'$Date: 2002/02/26 10:16:36 $ ' =~ /Date: (\S*)/;
Packit 667938
$date=$1;
Packit 667938
Packit 667938
print <
Packit 667938
Packit 667938
Packit 667938
Packit 667938
HREF="http://www.ee.ethz.ch/~oetiker/webtools/mrtg/mrtg.html">
Packit 667938
BORDER=0 SRC="../mrtg-l.gif">
Packit 667938
Packit 667938
HREF="http://www.ee.ethz.ch/~oetiker/webtools/mrtg/mrtg.html">
Packit 667938
BORDER=0 SRC="../mrtg-m.gif">
Packit 667938
Packit 667938
http://www.ee.ethz.ch/~oetiker/webtools/mrtg/mrtg.html">
Packit 667938
BORDER=0 SRC="../mrtg-r.gif">
Packit 667938
Packit 667938
Packit 667938
Packit 667938
<SPACER TYPE=VERTICAL SIZE=4>
Packit 667938
Packit 667938
  
Packit 667938
  <FONT FACE="Arial,Helvetica" SIZE=2>
Packit 667938
  $rev-$date</FONT>
Packit 667938
  <FONT FACE="Arial,Helvetica" SIZE=2>
Packit 667938
  Tobias Oetiker
Packit 667938
  <oetiker\@ee.ethz.ch> 
Packit 667938
  and Dave Rand <dlr\@bungi.com>
Packit 667938
  Back to Main Router List</FONT>
Packit 667938
  
Packit 667938
Packit 667938
Packit 667938
Packit 667938
</BODY></HTML>
Packit 667938
ECHO
Packit 667938
Packit 667938
sub datestr {
Packit 667938
  my ($time) = shift(@_) || return 0;
Packit 667938
  my ($wday) = ('Sunday','Monday','Tuesday','Wednesday',
Packit 667938
                'Thursday','Friday','Saturday')[(localtime($time))[6]];
Packit 667938
  my ($month) = ('January','February' ,'March' ,'April' ,
Packit 667938
                 'May' , 'June' , 'July' , 'August' , 'September' , 
Packit 667938
                 'October' ,
Packit 667938
                 'November' , 'December' )[(localtime($time))[4]];
Packit 667938
  my ($mday,$year,$hour,$min) = (localtime($time))[3,5,2,1];
Packit 667938
  if ($min<10) {$min = "0$min";}
Packit 667938
  return "$wday, $mday $month ".($year+1900)." at $hour:$min";
Packit 667938
}
Packit 667938
Packit 667938
Packit 667938
Packit 667938