示例#1
0
        if opt:
            mainOptsSet += 1
    if not mainOptsSet:
        HHelp.usage("You must choose one of 'filter', 'report' or 'cli'")
    if mainOptsSet > 1:
        HHelp.usage("You may choose only one of 'filter', 'report' or 'cli'")

    # handle configuration file processing
    hc = HConfig.CheckHostsConfig(configfile)
    hc.parseConfFile()
    configInfoFromFiles = hc.conf.options

    # merge in any config options we got from the command line
    for t in list(set(configInfoFromFiles.keys() + configInfo.keys())):
        if t in configInfo:
            configInfo[t] = HOptions.mergeDefaults(configInfoFromFiles[t],
                                                   configInfo[t])
        else:
            configInfo[t] = HOptions.mergeDefaults(configInfoFromFiles[t],
                                                   None)
    if timeout is None:
        if hc.conf.has_option('globals', 'timeout'):
            timeout = hc.conf.get('globals', 'timeout')

    if verbose:
        print "running with configuration:"
        print configInfo

    # list of hosts in sources
    if filterExpr:
        hf = HFilter.HostFilter(configInfo, hostExprs, timeout, verbose)
        hf.processFilterArg(filterExpr)