erange version 4.0a dev release
[erange.git] / ratio.py
index ae14cfec081bda22a1f5b06415e14576921036e8..52e1abd3600a8bf358f132fed5f489fb5963abb9 100755 (executable)
--- a/ratio.py
+++ b/ratio.py
@@ -2,8 +2,9 @@ import sys
 import string
 import optparse
 import math
+from commoncode import getConfigParser, getConfigOption, getConfigIntOption
 
-print "%prog: version 2.3"
+print "ratio: version 2.4"
 
 
 def main(argv=None):
@@ -12,10 +13,7 @@ def main(argv=None):
 
     usage = "usage: python %prog denominatorField infile [--only fieldID] [--out outfile]"
 
-    parser = optparse.OptionParser(usage=usage)
-    parser.add_option("--only", type="int", dest="onlyField")
-    parser.add_option("--out", dest="outFileName")
-    parser.set_defaults(outFileName=None, onlyField=-1)
+    parser = makeParser(usage)
     (options, args) = parser.parse_args(argv[1:])
 
     if len(args) < 2:
@@ -30,6 +28,22 @@ def main(argv=None):
 
     ratio(field, inFileName, options.outFileName, options.onlyField)
 
+
+def makeParser(usage=""):
+    parser = optparse.OptionParser(usage=usage)
+    parser.add_option("--only", type="int", dest="onlyField")
+    parser.add_option("--out", dest="outFileName")
+
+    configParser = getConfigParser()
+    section = "ratio"
+    outFileName = getConfigOption(configParser, section, "outfile", None)
+    onlyField = getConfigIntOption(configParser, section, "fieldID", -1)
+
+    parser.set_defaults(outFileName=outFileName, onlyField=onlyField)
+
+    return parser
+
+
 def ratio(field, inFileName, outFileName=None, onlyField=-1):
 
     if inFileName is not None: