erange version 4.0a dev release
[erange.git] / plotprofile.py
index 854affab825de5248b1f8db6a9b272fe320e3c5d..db41bac618170593248135678fb387aea423dde2 100755 (executable)
@@ -14,9 +14,10 @@ import optparse
 from pylab import *
 from math import *
 import matplotlib
+from commoncode import getConfigParser, getConfigOption, getConfigIntOption, getConfigBoolOption
 
 
-print "%prog: version 2.2"
+print "plotprofile: version 2.3"
 
 def main(argv=None):
     if not argv:
@@ -24,13 +25,7 @@ def main(argv=None):
 
     usage = "usage: python %s infile outfile.png [--scale] [--max weightMax] [--ymin bottom] [--ymax top] [--subtractEvens]"
 
-    parser = optparse.OptionParser(usage=usage)
-    parser.add_option("--scale", action="store_true", dest="doScale")
-    parser.add_option("--max", type="float", dest="weightMax")
-    parser.add_option("--ymin", type="float", dest="ymin")
-    parser.add_option("--ymax", type="float", dest="ymax")
-    parser.add_option("--subtractEvens", action="store_true", dest="subtractEvens")
-    parser.set_defaults(doScale=False, weightMax=-1, ymin=None, ymax=None, subtractEvens=False)
+    parser = makeParser(usage)
     (options, args) = parser.parse_args(argv[1:])
 
     if len(args) < 2:
@@ -43,6 +38,27 @@ def main(argv=None):
     plotprofile(infile, pngfilename, options.doScale, options.weightMax, options.ymin, options.ymax, options.subtractEvens)
 
 
+def makeParser(usage=""):
+    parser = optparse.OptionParser(usage=usage)
+    parser.add_option("--scale", action="store_true", dest="doScale")
+    parser.add_option("--max", type="float", dest="weightMax")
+    parser.add_option("--ymin", type="float", dest="ymin")
+    parser.add_option("--ymax", type="float", dest="ymax")
+    parser.add_option("--subtractEvens", action="store_true", dest="subtractEvens")
+
+    configParser = getConfigParser()
+    section = "plotprofile"
+    doScale = getConfigBoolOption(configParser, section, "doScale", False)
+    weightMax = getConfigIntOption(configParser, section, "weightMax", -1)
+    ymin = getConfigOption(configParser, section, "ymin", None)
+    ymax = getConfigOption(configParser, section, "ymax", None)
+    subtractEvens = getConfigBoolOption(configParser, section, "subtractEvens", False)
+
+    parser.set_defaults(doScale=doScale, weightMax=weightMax, ymin=ymin, ymax=ymax, subtractEvens=subtractEvens)
+
+    return parser
+
+
 def plotprofile(inFileName, pngfilename, doScale=False, weightMax=-1, ymin=None, ymax=None, subtractEvens=False):
     infile = open(inFileName)
     limitYscale = False