inf2mondb: add --inflist to pass filename with list of ini files
authorMatt Domsch <matt@domsch.com>
Fri, 2 Nov 2007 18:33:14 +0000 (13:33 -0500)
committerMatt Domsch <matt@domsch.com>
Fri, 2 Nov 2007 18:33:14 +0000 (13:33 -0500)
This avoids problems with shell expands in paths to ini files that
include spaces and other odd characters.  Files listed in inflist are
parsed before the rest of the args on the command line.

inf2mondb.py

index 343182dc6e3ba84c26ee3305573e69c2a3a3a9d9..6ad33707d50204f264900481e3d3624b3967554f 100755 (executable)
@@ -95,18 +95,30 @@ def main():
                         "monitors database.  "
                         "The default is " + defaultDB + ".",
                     metavar="FILE")
+    parser.add_option("-i", "--inflist",
+                    dest="inflist",
+                    default=None,
+                    help="Read list of inf files from inflist",
+                    metavar="FILE")
     
     (options, args) = parser.parse_args()
     
-    if len(args) < 1:
-        usage()
-
     ini = ConfigParser.ConfigParser()
     ini.optionxform = __builtins__.str
     ini.OPTCRE = OPTCRE
-    f = myFile(args[0])
-    ini.readfp(f)
-    f.close()
+    if options.inflist is not None:
+        f = open(options.inflist)
+        lines = f.readlines()
+        f.close
+        for a in lines:
+            f = myFile(a.strip())
+            ini.readfp(f)
+            f.close
+
+    for a in args:
+        f = myFile(a)
+        ini.readfp(f)
+        f.close()
 
     # First, build a dictionary of monitors we already know about.
     # When we get ready to print the monitors we found in the .inf