import argparse,sys from clusterman.config import * from clusterman.commands import node def main(): parser = argparse.ArgumentParser() subparsers = parser.add_subparsers(dest="target", help='Target') ##### Node commands ##### target_node = subparsers.add_parser("node") node_subparsers=target_node.add_subparsers(dest="command", help='Command') # Scan node_cmd_scan=node_subparsers.add_parser("scan") node_cmd_scan.add_argument("-t", "--timeout" ,help="Timeout", type=float) # Check node_cmd_scan=node_subparsers.add_parser("check") node_cmd_scan.add_argument("-t", "--timeout" ,help="Timeout", type=float) # List node_cmd_list=node_subparsers.add_parser("list") ##### Frontend commands ##### target_frontend = subparsers.add_parser("frontend") # Check if command specified: if len(sys.argv)==1: parser.print_help(sys.stderr) sys.exit(1) # Parse arguments: args = parser.parse_args() # Run the proper handler if args.target == "node": if args.command == "scan": if args.timeout: node.scan(node_cmd_scan.timeout) else: node.scan(CONF["timeout"]) elif args.command == "check": if args.timeout: node.check(node_cmd_scan.timeout) else: node.check(CONF["timeout"]) elif args.command == "list": node.ls() else: target_node.print_help(sys.stderr) sys.exit(1) if args.target == "frontend": print("Do frontend related stuff")