[feedgnuplot] 08/42: Simplified use of %options. I now use the global instead of passing it down

Dima Kogan dkogan-guest at alioth.debian.org
Sun Oct 20 08:04:03 UTC 2013


This is an automated email from the git hooks/post-receive script.

dkogan-guest pushed a commit to tag v1.25
in repository feedgnuplot.

commit 756d934058d01cb7fda13c91f75f0dbf6e040b3c
Author: Dima Kogan <dima at secretsauce.net>
Date:   Thu Sep 19 15:42:29 2013 -0700

    Simplified use of %options. I now use the global instead of passing it down
---
 bin/feedgnuplot |   72 +++++++++++++++++++++++++++----------------------------
 1 file changed, 35 insertions(+), 37 deletions(-)

diff --git a/bin/feedgnuplot b/bin/feedgnuplot
index 2deac09..905af79 100755
--- a/bin/feedgnuplot
+++ b/bin/feedgnuplot
@@ -15,7 +15,7 @@ use Pod::Usage;
 my $VERSION = 1.24;
 
 my %options;
-interpretCommandline(\%options);
+interpretCommandline();
 
 my $gnuplotVersion = getGnuplotVersion();
 
@@ -93,8 +93,6 @@ sub interpretCommandline
     unshift @ARGV, shellwords shift @ARGV;
   }
 
-  my $options = shift;
-
   # everything off by default:
   # do not stream in the data by default
   # point plotting by default.
@@ -111,7 +109,7 @@ sub interpretCommandline
   $options{legend}     = [];
   $options{curvestyle} = [];
   $options{histogram}  = [];
-  GetOptions($options, 'stream:s', 'domain!', 'dataid!', '3d!', 'colormap!', 'lines!', 'points!',
+  GetOptions(\%options, 'stream:s', 'domain!', 'dataid!', '3d!', 'colormap!', 'lines!', 'points!',
              'circles', 'legend=s{2}', 'autolegend!', 'xlabel=s', 'ylabel=s', 'y2label=s', 'zlabel=s',
              'title=s', 'xlen=f', 'ymin=f', 'ymax=f', 'xmin=f', 'xmax=f', 'y2min=f', 'y2max=f',
              'zmin=f', 'zmax=f', 'y2=s@', 'curvestyle=s{2}', 'curvestyleall=s', 'extracmds=s@',
@@ -125,21 +123,21 @@ sub interpretCommandline
 
 
   # handle various cmdline-option errors
-  if ( $options->{help} )
+  if ( $options{help} )
   {
     pod2usage( -exitval => 0,
                -verbose => 1, # synopsis and args
                -output  => \*STDOUT );
   }
 
-  if( $options->{version} )
+  if( $options{version} )
   {
     print "feedgnuplot version $VERSION\n";
     exit 0;
   }
 
   # no global style if one isn't given
-  $options->{curvestyleall} = '' unless defined $options->{curvestyleall};
+  $options{curvestyleall} = '' unless defined $options{curvestyleall};
 
   # expand options that are given as comma-separated lists
   for my $listkey (qw(histogram y2))
@@ -163,27 +161,27 @@ sub interpretCommandline
     }
   }
 
-  if ( defined $options->{hardcopy} && defined $options->{stream} )
+  if ( defined $options{hardcopy} && defined $options{stream} )
   {
     print STDERR "Warning: since we're making a hardcopy, I'm disabling streaming\n";
-    delete $options->{stream};
+    delete $options{stream};
   }
 
   # parse stream option. Allowed only numbers >= 0 or 'trigger'. After this code
-  # $options->{stream} is
+  # $options{stream} is
   #  -1 for triggered replotting
   #  >0 for timed replotting
   #  undef if not streaming
-  if(defined $options->{stream})
+  if(defined $options{stream})
   {
     # if no streaming period is given, default to 1Hz.
-    $options->{stream} = 1 if $options->{stream} eq '';
+    $options{stream} = 1 if $options{stream} eq '';
 
-    if( !looks_like_number $options->{stream} )
+    if( !looks_like_number $options{stream} )
     {
-      if($options->{stream} eq 'trigger')
+      if($options{stream} eq 'trigger')
       {
-        $options->{stream} = 0;
+        $options{stream} = 0;
       }
       else
       {
@@ -192,57 +190,57 @@ sub interpretCommandline
       }
     }
 
-    if ( $options->{stream} == 0 )
+    if ( $options{stream} == 0 )
     {
-      $options->{stream} = -1;
+      $options{stream} = -1;
     }
-    elsif ( $options->{stream} <= 0)
+    elsif ( $options{stream} <= 0)
     {
       print STDERR "--stream can only take in values >=0 or 'trigger'\n";
       exit -1;
     }
   }
 
-  if ($options->{colormap})
+  if ($options{colormap})
   {
     # colormap styles all curves with palette. Seems like there should be a way to do this with a
     # global setting, but I can't get that to work
-    $options->{curvestyleall} .= ' palette';
+    $options{curvestyleall} .= ' palette';
   }
 
-  if ( $options->{'3d'} )
+  if ( $options{'3d'} )
   {
-    if ( !$options->{domain} )
+    if ( !$options{domain} )
     {
       print STDERR "--3d only makes sense with --domain\n";
       exit -1;
     }
 
-    if ( $options->{timefmt} )
+    if ( $options{timefmt} )
     {
       print STDERR "--3d makes no sense with --timefmt\n";
       exit -1;
     }
 
-    if ( defined $options->{y2min} || defined $options->{y2max} || defined $options->{y2} )
+    if ( defined $options{y2min} || defined $options{y2max} || defined $options{y2} )
     {
       print STDERR "--3d does not make sense with --y2...\n";
       exit -1;
     }
 
-    if ( defined $options->{xlen} )
+    if ( defined $options{xlen} )
     {
       print STDERR "--3d does not make sense with --xlen\n";
       exit -1;
     }
 
-    if ( defined $options->{monotonic} )
+    if ( defined $options{monotonic} )
     {
       print STDERR "--3d does not make sense with --monotonic\n";
       exit -1;
     }
 
-    if ( defined $options->{binwidth} || @{$options->{histogram}} )
+    if ( defined $options{binwidth} || @{$options{histogram}} )
     {
       print STDERR "--3d does not make sense with histograms\n";
       exit -1;
@@ -250,22 +248,22 @@ sub interpretCommandline
   }
   else
   {
-    if ( $options->{timefmt} && !$options->{domain} )
+    if ( $options{timefmt} && !$options{domain} )
     {
       print STDERR "--timefmt makes sense only with --domain\n";
       exit -1;
     }
 
-    if(!$options->{colormap})
+    if(!$options{colormap})
     {
-      if ( defined $options->{zmin} || defined $options->{zmax} || defined $options->{zlabel} )
+      if ( defined $options{zmin} || defined $options{zmax} || defined $options{zlabel} )
       {
         print STDERR "--zmin/zmax/zlabel only makes sense with --3d or --colormap\n";
         exit -1;
       }
     }
 
-    if ( defined $options->{square_xy} )
+    if ( defined $options{square_xy} )
     {
       print STDERR "--square_xy only makes sense with --3d\n";
       exit -1;
@@ -288,19 +286,19 @@ sub interpretCommandline
   }
 
   # deal with timefmt
-  if ( $options->{timefmt} )
+  if ( $options{timefmt} )
   {
     # I need to compute a regex to match the time field and I need to count how
     # many whilespace-separated fields there are.
 
     # strip leading and trailing whitespace
-    $options->{timefmt} =~ s/^\s*//;
-    $options->{timefmt} =~ s/\s*$//;
+    $options{timefmt} =~ s/^\s*//;
+    $options{timefmt} =~ s/\s*$//;
 
-    my $Nfields = scalar split( ' ', $options->{timefmt});
-    $options->{timefmt_Ncols} = $Nfields;
+    my $Nfields = scalar split( ' ', $options{timefmt});
+    $options{timefmt_Ncols} = $Nfields;
     my $regex_str = join( '\s+', ('\S+') x $Nfields );
-    $options->{timefmt_regex} = qr/$regex_str/;
+    $options{timefmt_regex} = qr/$regex_str/;
   }
 }
 

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/feedgnuplot.git



More information about the debian-science-commits mailing list