--- generate-overview.pl 2002/06/11 20:18:05 1.2
+++ generate-overview.pl 2003/05/31 13:52:51 1.14
@@ -34,12 +34,12 @@
# You need to update this to point to the URL
# you use to access Cricket.
# $gBaseURL = "http://localhost/~cricket/grapher.cgi";
- $gBaseURL = "http://romul.pliva.hr/cgi-bin/cricket/grapher.cgi";
+ my $hostname = `hostname -f`;
+ chomp($hostname);
+ $gBaseURL = "http://$hostname/cgi-bin/cricket/grapher.cgi";
# change this to destination directory
- $path = "/home/dpavlin/public_html";
- # this is basename of all html files
- $name = "overview";
+ $path = "/data/mon/";
}
#use lib "$gInstallRoot/../lib";
@@ -57,6 +57,12 @@
use Common::Options;
use Common::Log;
+#
+# Set this option to 0 if you don't want JavaScript roll-up/roll-down
+# of images to be created
+#
+my $dynamic_js = 1;
+
Common::Options::commonOptions( 'baseURL=s' => \$gBaseURL );
initConst();
@@ -87,14 +93,209 @@
}
}
-foreach my $filename (keys %html) {
+my %html_file;
+
+foreach my $item (sort keys %html) {
+ my ($range,$target) = split(/\t/,$item,2);
+ my (undef,$service,$arg) = split(/\//,$target,3);
+
+ $html_file{"$range/$service"} .= $html{$item};
+ $html_file{"overview-$range"} .= $html{$item};
+}
+
+foreach my $key (keys %html_file) {
+
+ my $filename = "$path/$key.html";
+ my($dir) = dirname($filename);
+ if (! -d $dir) {
+ Info("Making directory $dir to hold file $filename.");
+ Common::Util::MkDir($dir);
+ }
+ Info("Dumping HTML for $key to $filename.");
open(OUT,"> $filename") || die "can't open output html '$filename': $!";
- print OUT $html{$filename};
+ print OUT "
$key";
+ print OUT '
+ ' if ($filename =~ m/Daily/i);
+ print OUT '';
+ my $html=<<'HTMLEND';
+
+
+
+
+
+HTMLEND
+ if ($dynamic_js) {
+ my $cookie_name = $key;
+ $cookie_name =~ s/[^a-zA-Z0-9]//g;
+ $html =~ s/##cookie_name##/$cookie_name/g;
+ print OUT $html;
+ }
+
+ print OUT $html_file{$key};
+ $html = <<'HTMLEND';
+
+
+
+HTMLEND
+
+ if ($dynamic_js) {
+ my $cookie_name = $key;
+ $cookie_name =~ s/[^a-zA-Z0-9]//g;
+ $html =~ s/##cookie_name##/$cookie_name/g;
+ print OUT $html;
+ }
+
+ print OUT "";
close(OUT);
+
}
exit;
+sub do_html {
+ my ($desc,$url,$img) = @_;
+ if ($dynamic_js) {
+ my $html =<<'HTMLEND';
+
+##desc## |
+
+
+
+ |
+HTMLEND
+ $html =~ s/##desc##/$desc/;
+ $html =~ s/##url##/$url/;
+ $html =~ s/##img##/$img/;
+ $html =~ s/##id##/$dynamic_js/g;
+ $dynamic_js++; # increment usage counter
+ return $html;
+ } else {
+ return "$desc
\n";
+ }
+}
+
sub localHandleTargetInstance {
my($Name, $target) = @_;
@@ -145,13 +346,6 @@
my($dslist);
- my($filename)="$path/$name-$rangeLabel.html";
- my($dir) = dirname($filename);
- if (! -d $dir) {
- Info("Making directory $dir to hold file $filename.");
- Common::Util::MkDir($dir);
- }
-
if (defined($ttRef->{'view'}))
{
my($v);
@@ -166,18 +360,16 @@
$URL = "$gBaseURL?type=png&target=$paramtarget";
$URL .= "&dslist=$dslist&range=$paramrange";
- my $desc = "view: ";
+ my $desc = "$paramtarget $vname";
+ $desc .= " ".$target->{'short-desc'}."" if (defined $target->{'short-desc'});
if ($paraminst ne "") {
$URL .= "&inst=$paraminst";
- $desc.="$paraminst $paramtarget $vname";
- } else {
- $desc.="$paramtarget $vname";
}
Info("Retrieving graph for $desc");
# getURL($URL,"$path/$name-$vname-$rangeLabel.png");
$tmp_URL = "$gBaseURL?target=$paramtarget&range=d:w:m:y&view=$vname";
- $html{$filename}.="$desc
";
+ $html{"$rangeLabel\t$paramtarget"}.=do_html($desc,$tmp_URL,$URL);
}
} else {
$dslist = $ttRef->{'ds'};
@@ -186,19 +378,17 @@
$URL = "$gBaseURL?type=png&target=$paramtarget";
$URL .= "&dslist=$dslist&range=$paramrange";
- my $desc = "ds: ";
+ my $desc ="$paraminst $rangeLabel";
+ $desc .= " ".$target->{'short-desc'}."" if (defined $target->{'short-desc'});
if ($paraminst ne "") {
$URL .= "&inst=$paraminst";
- $desc.="$paraminst $rangeLabel"
- } else {
- $desc.="$paramtarget $rangeLabel";
}
Info("Retrieving graph for $desc");
# getURL($URL,"$path/$name-$rangeLabel.png");
$tmp_URL = "$gBaseURL?target=$paramtarget&range=d:w:m:y";
- $html{$filename}.="$desc:
";
+ $html{"$rangeLabel\t$paramtarget"}.=do_html($desc,$tmp_URL,$URL);
}
}
}