Merge branch 'master' of git+ssh://github.com/adefaria/clearscm
[clearscm.git] / clearadm / plotfs.cgi
index 180dd26..e4a5e6c 100755 (executable)
@@ -1,4 +1,4 @@
-#!/usr/bin/perl
+#!/usr/local/bin/perl
 
 =pod
 
@@ -61,6 +61,7 @@ use strict;
 use warnings;
 
 use FindBin;
+use Convert::Base64;
 
 use lib "$FindBin::Bin/lib", "$FindBin::Bin/../lib";
 
@@ -87,12 +88,6 @@ if ($opts{tiny}) {
   $opts{scaling} = 'Day';
 } # if
 
-sub labelY ($) {
-  my ($value) = @_;
-
-  return $opts{tiny} ? '' : $value;  
-} # labelY
-
 my $clearadm = Clearadm->new;
 
 my $graph = GD::Graph::area->new ($opts{width}, $opts{height});
@@ -132,7 +127,8 @@ foreach (@fs) {
     push @x, $fs{timestamp};
   } # if
 
-  push @y, sprintf ('%.2f', $fs{used} / (1024 * 1024));    
+  push @y, $opts{meg} ? $fs{used} / (1024 * 1024) :
+                        $fs{used} / (1024 * 1024 * 12024);
 }
 my @data = ([@x], [@y]);
 
@@ -143,9 +139,11 @@ my $x_label_skip = @x > 1000 ? 200
                  : 0;
                  
 my $x_label = $opts{tiny} ? '' : 'Filesystem Usage';
-my $y_label = $opts{tiny} ? '' : 'Used (Meg)';
+my $y_label = $opts{tiny} ? '' : 
+              $opts{msg}  ? 'Used (Meg)' : 'Used (Gig)';
 my $title   = $opts{tiny} ? '' : "Filesystem usage for "
                                . "$opts{system}:$opts{filesystem}";
+my $labelY  = $opts{tiny} ? '' : '%.2f';
 
 $graph->set (
   x_label           =>$x_label,
@@ -153,7 +151,7 @@ $graph->set (
   x_label_skip      => $x_label_skip,
   x_label_position  => .5,
   y_label           => $y_label,
-  y_number_format   => &labelY,
+  y_number_format   => $labelY,
   title             => $title,
   dclrs             => [$opts{color}],
   bgclr             => 'white',
@@ -168,8 +166,12 @@ $graph->set (
 my $image = $graph->plot(\@data)
   or croak $graph->error;
 
-print "Content-type: image/png\n\n";
-print $image->png;
+unless ($opts{generate}) {
+  print "Content-type: image/png\n\n";
+  print $image->png;
+} else {
+  print encode_base64 $image->png;
+} # unless
 
 =pod