def cli(): while True: valid = 0 signal.signal(signal.SIGINT, Exit_gracefully) # except EOFError: # bye() try: readline.parse_and_bind("tab: complete") readline.set_completer(complete) readline.set_completer_delims(' ') cli = str(raw_input(PROMPT)) except EOFError: bye() if hist_toggle == 1: hfile.write(cli + '\n') if 'linode_token' in locals(): #print("tool") pass else: linode_token = get_linode_key(config) #print("tool") #This is not just a horrible way to take the commands and arguements, it's also shitty way to sanatize the input for one specific scenario #I miss perl :( #Apparently argparse is the solution I'm looking for,I put a simple argparse example in TODO.md cli = re.sub(' ',' ', cli.rstrip()) if len(cli.split(' ')) ==2: command,arguement = cli.split() if command == "ip-list": api_key = get_linode_key(config) print(servers_action.ip_list(api_key,arguement)) valid = 1 if command == "linode-shutdown": api_key = get_linode_key(config) print(servers_action.linode_shutdown(api_key,arguement)) valid = 1 if command == "nodebal-node-list": api_key = get_linode_key(config) print(node_balance.nodebal_node_list(api_key,arguement)) valid = 1 if command == "nodebal-config-list": api_key = get_linode_key(config) print(node_balance.nodebal_config_list(api_key,arguement)) valid = 1 if command == "nodebal-create": api_key = get_linode_key(config) print(node_balance.nodebal_create(api_key,arguement)) valid = 1 if len(cli.split(' ')) ==3: command,arg_one,arg_two = cli.split() if command == "linode-create": api_key = get_linode_key(config) print(servers_action.linode_create(api_key,arg_one,arg_two)) valid = 1 ########################################################################################## # This starts the single linosh commands ####################################################################################### if cli == "list-servers": api_key = get_linode_key(config) pprint(servers_action.list_servers(api_key)) valid = 1 if cli == "avail-datacenters": api_key = get_linode_key(config) pprint(lin_utility.avail_datacenters(api_key)) valid = 1 if cli == "avail-distributions": api_key = get_linode_key(config) pprint(lin_utility.avail_distributions(api_key)) valid = 1 if cli == "avail-stackscripts": api_key = get_linode_key(config) pprint(lin_utility.avail_stackscripts(api_key)) valid = 1 if cli == "avail-plans": api_key = get_linode_key(config) pprint(lin_utility.avail_plans(api_key)) valid = 1 if cli == "nodebal-list": api_key = get_linode_key(config) pprint(node_balance.nodebal_list(api_key)) valid = 1 if cli == "ip-list": api_key = get_linode_key(config) pprint(servers_action.ip_list(api_key)) valid = 1 if cli == "quit" or cli == "exit": hfile.close() bye() if cli == "help": print(help_menu()) valid = 1 if valid == 0: print("Unrecoginized Command")
api_key =0 else: api_key = get_linode_key(config) #print("here") ####Again, shit way to do this, Here's hoping it's better in beta :) ##You know what, f**k you, it's fine if arg_count == 3: command = sys.argv[1] arguement = sys.argv[2] if command == "ip-list": print(servers_action.ip_list(api_key, arguement)) valid = 1 bye() if command == "linode-shutdown": print(servers_action.linode_shutdown(api_key, arguement)) valid = 1 bye() if command == "nodebal-node-list": api_key = get_linode_key(config) print(node_balance.nodebal_node_list(api_key, arguement)) valid = 1 bye() if command == "nodebal-config-list": api_key = get_linode_key(config) print(node_balance.nodebal_config_list(api_key, arguement)) valid = 1 bye() if command == "nodebal-config-list": api_key = get_linode_key(config) print(node_balance.nodebal_create(api_key, arguement))