def run(self, line):
        """ Wrapper function for help main function

        :param line: command line input
        :type line: string.
        """
        try:
            (_, args) = self._parse_arglist(line)
        except (InvalidCommandLineErrorOPTS, SystemExit):
            if ("-h" in line) or ("--help" in line):
                return ReturnCodes.SUCCESS
            else:
                raise InvalidCommandLineErrorOPTS("")

        if not args or not line:
            RdmcOptionParser().print_help()
            if self._rdmc:
                cmddict = self._rdmc.get_commands()
                sorted_keys = sorted(list(cmddict.keys()))

                for key in sorted_keys:
                    if key[0] == '_':
                        continue
                    else:
                        sys.stdout.write('\n%s\n' % key)

                    for cmd in cmddict[key]:
                        cmd.print_summary()
        else:
            if self._rdmc:
                cmddict = self._rdmc.get_commands()
                sorted_keys = list(cmddict.keys())

                for key in sorted_keys:
                    for cmd in cmddict[key]:
                        if cmd.ismatch(args[0]):
                            cmd.print_help()
                            return ReturnCodes.SUCCESS

                raise InvalidCommandLineError("Command '%s' not found." %
                                              args[0])
        #Return code
        return ReturnCodes.SUCCESS
示例#2
0
 def __init__(self, Args=None):
     RdmcCommandBase.__init__(self, \
         name=versioning.__shortname__, \
         usage=versioning.__shortname__ +' [command]', \
         summary='Redfish Utility', \
         aliases=[versioning.__shortname__], \
         optparser=RdmcOptionParser())
     Args.append('--showwarnings')
     self._commands = collections.OrderedDict()
     self.commandsDict = extensions._Commands
     self.interactive = False
     self._progname = '%s : %s' % (versioning.__shortname__, \
                                   versioning.__longname__)
     self.opts = None
     self.config_file = None
     self.app = redfish.ris.RmcApp(Args=Args)
     self.retcode = 0
     self.candidates = dict()
     self.commlist = list()
     self._redobj = None
     Args.remove('--showwarnings')
示例#3
0
    def __init__(self, Args=None):
        RdmcCommandBase.__init__(self, \
            name=versioning.__shortname__, \
            usage=versioning.__shortname__ +' [command]', \
            summary='HPE RESTful Interface Tool', \
            aliases=[versioning.__shortname__], \
            argparser=RdmcOptionParser())

        self._commands = collections.OrderedDict()
        self.commands_dict = extensions.Commands
        self.interactive = False
        self._progname = '%s : %s' % (versioning.__shortname__, \
                                      versioning.__longname__)
        self.opts = None
        self.encoding = None
        self.config = RdmcConfig()
        self.app = redfish.ris.RmcApp(showwarnings=True)
        self.retcode = 0
        self.candidates = dict()
        self.commlist = list()
        self._redobj = None
示例#4
0
                break
        if not found_help and default:
            exarglist.insert(0, 'default')
        return checkargs(cmdinstance.parser.parse_known_args(exarglist))


if __name__ == '__main__':
    # Initialization of main command class
    ARGUMENTS = sys.argv[1:]

    RDMC = RdmcCommand(Args=ARGUMENTS,
                       name=versioning.__shortname__,
                       usage=versioning.__shortname__ + ' [command]',
                       summary='HPE RESTful Interface Tool',
                       aliases=[versioning.__shortname__],
                       argparser=RdmcOptionParser())

    # Main execution function call wrapper
    if "setproctitle" in sys.modules:
        FOUND = False
        VARIABLE = setproctitle.getproctitle()

        for items in VARIABLE.split(" "):
            if FOUND:
                VARIABLE = VARIABLE.replace(items, "xxxxxxxx")
                break

            if items == "--password" or items == "-p":
                FOUND = True

        setproctitle.setproctitle(VARIABLE)