def _run_command(self, opts, args): """ Calls the commands run function :param opts: command options :type opts: options. :param args: list of the entered arguments :type args: list. """ cmd = self.search_commands(args[0]) #may conserve memory to have the parser initialized here self.load_command(cmd) if opts.debug: LOGGER.setLevel(logging.DEBUG) LERR.setLevel(logging.DEBUG) if not opts.nologo and not self.interactive: #sys.stdout.write(FIPSSTR) #purpose of this? CLI.version(self._progname, versioning.__version__, versioning.__extracontent__) if len(args) > 1: return cmd.run(args[1:]) return cmd.run([])
def cmdloop(self, opts): """ Interactive mode worker function :param opts: command options :type opts: options. """ self.interactive = True if not opts.nologo: CLI.version(self._progname, versioning.__version__,\ versioning.__extracontent__, fileh=sys.stdout) if opts.debug: LOGGER.setLevel(logging.DEBUG) LERR.setLevel(logging.DEBUG) #**********Handler for GUI tab tab *************** for section in self._commands: if section.startswith('_'): continue for command in self._commands[section]: self.commlist.append(command.name) for item in self.commlist: if item == "help": self.candidates[item] = self.commlist else: self.candidates[item] = [] self._redobj = TabAndHistoryCompletionClass(dict(self.candidates)) readline.set_completer(self._redobj.main_completer_handler) readline.parse_and_bind("tab: complete") #*************************************************** while True: line = input(versioning.__shortname__ + ' > ') readline.add_history(line) if not len(line): continue elif line.endswith(os.linesep): line.rstrip(os.linesep) nargv = shlex.split(line, posix=False) try: if "login " in line or line == 'login': self.app.logout() self.retcode = self._run_command(opts, nargv) self.check_for_tab_lists(nargv) except Exception as excp: self.handle_exceptions(excp) if self.opts.verbose: sys.stdout.write(u"REDFISH return code: %s\n" % self.retcode) return self.retcode
def _run_command(self, opts, args): """ Calls the commands run function :param opts: command options :type opts: options. :param args: list of the entered arguments :type args: list. """ cmd = self.search_commands(args[0]) if opts.debug: LOGGER.setLevel(logging.DEBUG) LERR.setLevel(logging.DEBUG) if not (opts.nologo or cmd.nologo) and not self.interactive: sys.stdout.write(FIPSSTR) CLI.version(self._progname, versioning.__version__,\ versioning.__extracontent__, fileh=sys.stdout) if len(args) > 1: return cmd.run(args[1:]) return cmd.run([])
def cmdloop(self, opts): """ Interactive mode worker function :param opts: command options :type opts: options. """ self.interactive = True if not opts.nologo: sys.stdout.write(FIPSSTR) CLI.version(self._progname, versioning.__version__,\ versioning.__extracontent__, fileh=sys.stdout) if not self.app.typepath.adminpriv: UI().user_not_admin() if opts.debug: LOGGER.setLevel(logging.DEBUG) LERR.setLevel(logging.DEBUG) #**********Handler for GUI tab tab *************** for section in self._commands: if section.startswith('_'): continue for command in self._commands[section]: self.commlist.append(command.name) for item in self.commlist: if item == "help": self.candidates[item] = self.commlist else: self.candidates[item] = [] self._redobj = TabAndHistoryCompletionClass(dict(self.candidates)) try: session = PromptSession(completer=self._redobj, \ complete_style=CompleteStyle.READLINE_LIKE) except: LOGGER.info("Console error: Tab complete is unavailable.") session = None while True: try: if session: line = session.prompt(versioning.__shortname__+ u' > ', \ bottom_toolbar=self._redobj.bottom_toolbar) else: line = input(versioning.__shortname__ + u' > ') except (EOFError, KeyboardInterrupt) as error: line = "quit\n" if not len(line): continue elif line.endswith(os.linesep): line.rstrip(os.linesep) nargv = shlex.split(line, posix=False) try: if not (any(x.startswith("-h") for x in nargv) or \ any(x.startswith("--h") for x in nargv) or "help" in line): if "login " in line or line == 'login' or \ any(x.startswith("--url") for x in nargv): self.app.logout() self.retcode = self._run_command(opts, nargv) self.check_for_tab_lists(nargv) except Exception as excp: self.handle_exceptions(excp) if self.opts.verbose: sys.stdout.write("iLOrest return code: %s\n" % self.retcode) return self.retcode