def test_get_command_config(self): """Test successful and unsuccessful module loading.""" cmd_cfg, error_msg = get_command_config( 'pyqi.interfaces.optparse.config', 'make_bash_completion') self.assertEqual(cmd_cfg, pyqi.interfaces.optparse.config.make_bash_completion) self.assertEqual(error_msg, None) cmd_cfg, error_msg = get_command_config( 'hopefully.nonexistent.python.module', 'umm', exit_on_failure=False) self.assertEqual(cmd_cfg, None) self.assertEqual(error_msg, 'No module named hopefully.nonexistent.' 'python.module.umm')
def run(self, **kwargs): driver = kwargs['driver_name'] cfg_mod_path = kwargs['command_config_module'] cfg_mod = _get_cfg_module(cfg_mod_path) command_names = get_command_names(cfg_mod_path) command_list = ' '.join(command_names) commands = [] for cmd in command_names: cmd_cfg, _ = get_command_config(cfg_mod_path, cmd, exit_on_failure=False) if cmd_cfg is not None: command_options = [] command_options.extend( sorted(['--%s' % p.Name for p in cmd_cfg.inputs])) opts = ' '.join(command_options) commands.append(command_fmt % { 'command': cmd, 'options': opts }) all_commands = ''.join(commands) return { 'result': script_fmt % { 'driver': driver, 'commands': all_commands, 'command_list': command_list } }
def get_cmd_obj(cmd_cfg_mod, cmd): """Get a ``Command`` object""" cmd_cfg,_ = get_command_config(cmd_cfg_mod, cmd) cmd_class = html_interface_factory(cmd_cfg.CommandConstructor, [], cmd_cfg.inputs, cmd_cfg.outputs, cmd_cfg.__version__, cmd) cmd_obj = cmd_class() return cmd_obj
def get_cmd_obj(cmd_cfg_mod, cmd): """Get a ``Command`` object""" cmd_cfg, _ = get_command_config(cmd_cfg_mod, cmd) version_str = get_version_string(cmd_cfg_mod) cmd_class = html_interface_factory(cmd_cfg.CommandConstructor, [], cmd_cfg.inputs, cmd_cfg.outputs, version_str, cmd) cmd_obj = cmd_class() return cmd_obj
def test_get_command_config(self): """Test successful and unsuccessful module loading.""" cmd_cfg, error_msg = get_command_config( 'pyqi.interfaces.optparse.config', 'make_bash_completion') self.assertEqual(cmd_cfg, pyqi.interfaces.optparse.config.make_bash_completion) self.assertEqual(error_msg, None) cmd_cfg, error_msg = get_command_config( 'hopefully.nonexistent.python.module', 'umm', exit_on_failure=False) self.assertEqual(cmd_cfg, None) py2_err = 'No module named hopefully.nonexistent.python.module.umm' py3_err = "No module named 'hopefully'" if is_py2(): self.assertEqual(error_msg, py2_err) else: self.assertEqual(error_msg, py3_err)
def run(self, **kwargs): driver = kwargs['driver_name'] cfg_mod_path = kwargs['command_config_module'] cfg_mod = _get_cfg_module(cfg_mod_path) command_names = get_command_names(cfg_mod_path) command_list = ' '.join(command_names) commands = [] for cmd in command_names: cmd_cfg, _ = get_command_config(cfg_mod_path, cmd, exit_on_failure=False) if cmd_cfg is not None: command_options = [] command_options.extend( sorted(['--%s' % p.Name for p in cmd_cfg.inputs])) opts = ' '.join(command_options) commands.append(command_fmt % {'command':cmd, 'options':opts}) all_commands = ''.join(commands) return {'result':script_fmt % {'driver':driver, 'commands':all_commands, 'command_list':command_list}}