Sep-20-2018, 09:44 AM
import getopt import sys # parse command line args def test_tuple(input_value, t): possible_opts = ["desert", "ocean"] if input_value in possible_opts: if t[possible_opts.index(input_value)] > c_value: print("CRITICAL - Active: ", t[possible_opts.index(input_value)]) sys.exit(2) elif t[possible_opts.index(input_value)] > w_value: print("WARNING - Active:", t[possible_opts.index(input_value)]) sys.exit(1) else: print("OK - Active:", t[possible_opts.index(input_value)]) sys.exit(0) else: print("Invalid input") if __name__ == "__main__": t = (786, 200) try: opts, args = getopt.getopt(sys.argv[1:], "i:w:c:") except getopt.GetoptError: print("Usage: v2.py -i name -w 10 -c 20") sys.exit(2) for opt, arg in opts: if opt == '-i': input_value = arg elif opt == '-w': w_value = int(arg) elif opt == '-c': c_value = int(arg) # validate args if len(sys.argv) == 1: print("# Usage:\t -w <warn> -c <crit>") sys.exit("No argument pass") else: test_tuple(input_value, t)But I suggest you use a dictionary, like:
possible_opts = { "desert": 786, "ocean": 200 }