--- 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); } } }