def test_methods_of(self): class DummyClass: def dummyMethod(self): print("just for test") obj = DummyClass() result = common.methods_of(obj) self.assertEqual(1, len(result)) method = result['dummyMethod'] self.assertIsNotNone(method)
def main(): # Parse arguments load_file = True for index, arg in enumerate(sys.argv): if (arg == "auth" and len(sys.argv) > (index + 1) and sys.argv[index + 1] == "login"): load_file = False oparser = common.CliOptions.create_optparser(load_file) for k, v in COMMANDS.items(): v._prepare_parser(oparser) (options, args) = oparser.parse_args() if not args: common.print_commands(COMMANDS) if options.verbose: os.environ['RDC_PP'] = "True" os.environ['REDDWARFCLIENT_DEBUG'] = "True" # Pop the command and check if it's in the known commands cmd = args.pop(0) if cmd in COMMANDS: fn = COMMANDS.get(cmd) command_object = None try: command_object = fn(oparser) except Exception as ex: if options.debug: raise print(ex) # Get a list of supported actions for the command actions = common.methods_of(command_object) if len(args) < 1: common.print_actions(cmd, actions) # Check for a valid action and perform that action action = args.pop(0) if action in actions: if not options.debug: try: getattr(command_object, action)() except Exception as ex: if options.debug: raise print ex else: getattr(command_object, action)() else: common.print_actions(cmd, actions) else: common.print_commands(COMMANDS)
def main(): # Parse arguments oparser = optparse.OptionParser("%prog [options] <cmd> <action> <args>", version='1.0') config_options(oparser) (options, args) = oparser.parse_args() if not args: common.print_commands(COMMANDS) # Pop the command and check if it's in the known commands cmd = args.pop(0) if cmd in COMMANDS: fn = COMMANDS.get(cmd) command_object = fn() # Get a list of supported actions for the command actions = common.methods_of(command_object) if len(args) < 1: common.print_actions(cmd, actions) # Check for a valid action and perform that action action = args.pop(0) if action in actions: fn = actions.get(action) try: # TODO(rnirmal): Fix when we have proper argument parsing for # the rest of the commands. if fn.__name__ == "login": fn(*args, options=options) else: fn(*args) sys.exit(0) except TypeError as err: print "Possible wrong number of arguments supplied." print "%s %s: %s" % (cmd, action, fn.__doc__) print "\t\t", [fn.func_code.co_varnames[i] for i in range(fn.func_code.co_argcount)] print "ERROR: %s" % err except Exception: print "Command failed, please check the log for more info." raise else: common.print_actions(cmd, actions) else: common.print_commands(COMMANDS)
def main(): # Parse arguments global oparser oparser = optparse.OptionParser("%prog [options] <cmd> <action> <args>", version='1.0') config_options() (options, args) = oparser.parse_args() if not args: common.print_commands(COMMANDS) # Pop the command and check if it's in the known commands cmd = args.pop(0) if cmd in COMMANDS: fn = COMMANDS.get(cmd) command_object = fn() # Get a list of supported actions for the command actions = common.methods_of(command_object) if len(args) < 1: common.print_actions(cmd, actions) # Check for a valid action and perform that action action = args.pop(0) if action in actions: fn = actions.get(action) try: fn(*args) sys.exit(0) except TypeError as err: print "Possible wrong number of arguments supplied." print "%s %s: %s" % (cmd, action, fn.__doc__) print "\t\t", [ fn.func_code.co_varnames[i] for i in range(fn.func_code.co_argcount) ] print "ERROR: %s" % err except Exception: print "Command failed, please check the log for more info." raise else: common.print_actions(cmd, actions) else: common.print_commands(COMMANDS)
def main(): # Parse arguments oparser = common.CliOptions.create_optparser() for k, v in COMMANDS.items(): v._prepare_parser(oparser) (options, args) = oparser.parse_args() if not args: common.print_commands(COMMANDS) # Pop the command and check if it's in the known commands cmd = args.pop(0) if cmd in COMMANDS: fn = COMMANDS.get(cmd) command_object = None try: command_object = fn(oparser) except Exception as ex: if options.debug: raise print(ex) # Get a list of supported actions for the command actions = common.methods_of(command_object) if len(args) < 1: common.print_actions(cmd, actions) # Check for a valid action and perform that action action = args.pop(0) if action in actions: try: getattr(command_object, action)() except Exception as ex: if options.debug: raise print ex else: common.print_actions(cmd, actions) else: common.print_commands(COMMANDS)
def main(): # Parse arguments oparser = common.CliOptions.create_optparser(True) for k, v in COMMANDS.items(): v._prepare_parser(oparser) (options, args) = oparser.parse_args() if not args: common.print_commands(COMMANDS) # Pop the command and check if it's in the known commands cmd = args.pop(0) if cmd in COMMANDS: fn = COMMANDS.get(cmd) command_object = None try: command_object = fn(oparser) except Exception as ex: if options.debug: raise print(ex) # Get a list of supported actions for the command actions = common.methods_of(command_object) if len(args) < 1: common.print_actions(cmd, actions) # Check for a valid action and perform that action action = args.pop(0) if action in actions: try: getattr(command_object, action)() except Exception as ex: if options.debug: raise print ex else: common.print_actions(cmd, actions) else: common.print_commands(COMMANDS)