Replace missing rpm commands on collection.
[monitor.git] / monitor / parser.py
index bd15197..b6ae032 100644 (file)
@@ -28,7 +28,7 @@ def parseSetDefaults(parser=None):
        parser.set_defaults(debug = config.debug,
                                        mail = config.mail,
                                        bcc  = config.bcc,
-                                       email = config.email,
+                                       email = config.from_email,
                                        run = config.run,
                                        squeeze = config.squeeze,
                                        policysavedb = config.policysavedb)
@@ -71,15 +71,28 @@ def parseSetDefaults(parser=None):
                                        "debug is enabled or for bcc when it is not")
        return parser
 
+def parseSetCacheSet(parser=None):
+       if parser == None:
+               parser = OptionParser()
+
+       parser.set_defaults(cachecalls=True, cachetime=60)
+       parser.add_option("", "--nocache", dest="cachecalls", action="store_false",
+                                       help="When using PLCCache objects, temporarily disable the use of caching. i.e. refresh")
+       parser.add_option("", "--cachetime", dest="cachetime", 
+                                       help="How long to preserve a cached value. Minutes")
+       return parser
+
 def parseSetNodeSets(parser=None):
        if parser == None:
                parser = OptionParser()
        
-       parser.set_defaults(node=None, site=None, nodelist=None, nodeselect=None, nodegroup=None)
+       parser.set_defaults(node=None, site=None, sitelist=None, nodelist=None, nodeselect=None, nodegroup=None)
        parser.add_option("", "--node", dest="node", metavar="hostname", 
                                                help="Provide a single node to operate on")
        parser.add_option("", "--site", dest="site", metavar="site name",
                                                help="Specify a single site to operate on")
+       parser.add_option("", "--sitelist", dest="sitelist", metavar="site name",
+                                               help="Specify a list of sites, separated by ','")
        parser.add_option("", "--nodegroup", dest="nodegroup", metavar="GroupName", 
                                                help="Provide the nodegroup for the list of nodes.")
        parser.add_option("", "--nodelist", dest="nodelist", metavar="FILE", 
@@ -95,13 +108,16 @@ def getParser(parsesets=[], parser=None):
        else:
                p = parser
 
+       if 'cacheset' in parsesets:
+               p = parseSetCacheSet(p)
+
        if 'nodesets' in parsesets:
                p = parseSetNodeSets(p)
        if 'defaults' in parsesets:
                p = parseSetDefaults(p)
 
        return p
-       
+
 def parse_args(parser):
        class obj: pass
        (options, args) = parser.parse_args()
@@ -117,7 +133,7 @@ def print_values(parser):
        for key in parser.__dict__.keys():
                if key not in exclude:
                        print "%20s == %s" % (key, parser.__dict__[key])
-       
+
 def usage(parser):
        print_values(parser)
        parser.print_help()