Example #1
0
 def onecmd(self, line):
     if not line or line == '\n':
         return
     if line == 'EOF':
         line = 'quit'
     try:
         s_line = shlex.split(line)
     except:
         self._help()
         return
     opts = self.cli.optparser.parse_main_args(s_line)
     # Disable shell recursion.
     if opts.command == 'shell':
         return
     if opts.command in self.MAPPING:
         getattr(self, '_' + self.MAPPING[opts.command])(s_line[1::])
     else:
         cmd_cls = self.cli.cli_commands.get(opts.command)
         if cmd_cls is not None:
             cmd = cmd_cls(self.cli)
             try:
                 opts = self.cli.optparser.parse_command_args(cmd, s_line)
                 cmd.cli.demands = copy.deepcopy(self.cli.demands)
                 cmd.configure()
                 cmd.run()
             except dnf.exceptions.Error as e:
                 logger.error(_("Error:") + " " + e.value)
             except:
                 return
         else:
             self._help()
Example #2
0
File: shell.py Project: lubomir/dnf
 def onecmd(self, line):
     if not line:
         return
     if line == 'EOF':
         line = 'quit'
     try:
         s_line = shlex.split(line)
     except:
         self._help()
         return
     opts = self.cli.optparser.parse_main_args(s_line)
     if opts.command in self.MAPPING:
         getattr(self, '_' + self.MAPPING[opts.command])(s_line[1::])
     else:
         cmd_cls = self.cli.cli_commands.get(opts.command)
         if cmd_cls is not None:
             cmd = cmd_cls(self)
             try:
                 opts = self.cli.optparser.parse_command_args(cmd, s_line)
                 cmd.cli = self.cli
                 cmd.cli.demands = copy.deepcopy(self.cli.demands)
                 cmd.configure()
                 cmd.run()
             except:
                 pass
         else:
             self._help()
Example #3
0
 def onecmd(self, line):
     if not line or line == '\n':
         return
     if line == 'EOF':
         line = 'quit'
     try:
         s_line = shlex.split(line)
     except:
         self._help()
         return
     opts = self.cli.optparser.parse_main_args(s_line)
     # Disable shell recursion.
     if opts.command == 'shell':
         return
     if opts.command in self.MAPPING:
         getattr(self, '_' + self.MAPPING[opts.command])(s_line[1::])
     else:
         cmd_cls = self.cli.cli_commands.get(opts.command)
         if cmd_cls is not None:
             cmd = cmd_cls(self.cli)
             try:
                 opts = self.cli.optparser.parse_command_args(cmd, s_line)
                 cmd.cli.demands = copy.deepcopy(self.cli.demands)
                 cmd.configure()
                 cmd.run()
             except dnf.exceptions.Error as e:
                 logger.error(_("Error:") + " " + e.value)
             except:
                 return
         else:
             self._help()
Example #4
0
File: shell.py Project: rhn/dnf
 def onecmd(self, line):
     if not line:
         return
     if line == 'EOF':
         line = 'quit'
     try:
         s_line = shlex.split(line)
     except:
         self._help()
         return
     opts = self.cli.optparser.parse_main_args(s_line)
     if opts.command in self.MAPPING:
         getattr(self, '_' + self.MAPPING[opts.command])(s_line[1::])
     else:
         cmd_cls = self.cli.cli_commands.get(opts.command)
         if cmd_cls is not None:
             cmd = cmd_cls(self)
             try:
                 opts = self.cli.optparser.parse_command_args(cmd, s_line)
                 cmd.cli = self.cli
                 cmd.cli.demands = copy.deepcopy(self.cli.demands)
                 cmd.configure()
                 cmd.run()
             except:
                 pass
         else:
             self._help()
Example #5
0
 def onecmd(self, line):
     if not line or line == '\n':
         return
     if line == 'EOF':
         line = 'quit'
     try:
         s_line = shlex.split(line)
     except:
         self._help()
         return
     # reset option parser before each command, keep usage information
     self.cli.optparser.__init__(reset_usage=False)
     opts = self.cli.optparser.parse_main_args(s_line)
     # Disable shell recursion.
     if opts.command == 'shell':
         return
     if opts.command in self.MAPPING:
         getattr(self, '_' + self.MAPPING[opts.command])(s_line[1::])
     else:
         cmd_cls = self.cli.cli_commands.get(opts.command)
         if cmd_cls is not None:
             cmd = cmd_cls(self.cli)
             try:
                 opts = self.cli.optparser.parse_command_args(cmd, s_line)
             except SystemExit:
                 # argparse.ArgumentParser prints usage information and executes
                 # sys.exit() on problems with parsing command line arguments
                 return
             try:
                 cmd.cli.demands = copy.deepcopy(self.cli.demands)
                 cmd.configure()
                 cmd.run()
             except dnf.exceptions.Error as e:
                 logger.error(_("Error:") + " " + ucd(e))
                 return
         else:
             self._help()