X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=monitor%2Fparser.py;h=5f79f74c96f1c0e3cc255f43a2e4229d98065c3e;hb=40588e1f900ba82db3ca69c5cc375805028f2430;hp=bd15197d5208f4a4820460e96e400aea826a0fc4;hpb=19414270cf2c8429daab02fdebbd8081d9ba0db0;p=monitor.git diff --git a/monitor/parser.py b/monitor/parser.py index bd15197..5f79f74 100644 --- a/monitor/parser.py +++ b/monitor/parser.py @@ -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()