def _update_command_table_from_extensions(): extensions = get_extension_names() if extensions: logger.debug("Found %s extensions: %s", len(extensions), extensions) for ext_name in extensions: ext_dir = get_extension_path(ext_name) sys.path.append(ext_dir) try: ext_mod = get_extension_modname(ext_name, ext_dir=ext_dir) # Add to the map. This needs to happen before we load commands as registering a command # from an extension requires this map to be up-to-date. # self._mod_to_ext_map[ext_mod] = ext_name start_time = timeit.default_timer() extension_command_table = _load_extension_command_loader(self, args, ext_mod) for cmd_name, cmd in extension_command_table.items(): cmd.command_source = ExtensionCommandSource( extension_name=ext_name, overrides_command=cmd_name in cmd_to_mod_map) self.command_table.update(extension_command_table) elapsed_time = timeit.default_timer() - start_time logger.debug("Loaded extension '%s' in %.3f seconds.", ext_name, elapsed_time) except Exception: # pylint: disable=broad-except logger.warning("Unable to load extension '%s'. Use --debug for more information.", ext_name) logger.debug(traceback.format_exc())
def _get_command_table_from_extensions(): extensions = get_extension_names() if extensions: logger.debug("Found {} extensions: {}".format(len(extensions), extensions)) for ext_name in extensions: ext_dir = get_extension_path(ext_name) sys.path.append(ext_dir) try: ext_mod = get_extension_modname(ext_dir=ext_dir) # Add to the map. This needs to happen before we load commands as registering a command # from an extension requires this map to be up-to-date. mod_to_ext_map[ext_mod] = ext_name start_time = timeit.default_timer() import_module(ext_mod).load_commands() elapsed_time = timeit.default_timer() - start_time logger.debug("Loaded extension '%s' in %.3f seconds.", ext_name, elapsed_time) except Exception: # pylint: disable=broad-except logger.warning("Unable to load extension '%s'. Use --debug for more information.", ext_name) logger.debug(traceback.format_exc())
def test_get_extension_names(self): _install_test_extension1() actual = get_extension_names() self.assertEqual(len(actual), 1) self.assertEqual(actual[0], EXT_NAME)
def test_get_extension_names(self): _install_test_extension1() actual = get_extension_names(ext_type=WheelExtension) self.assertEqual(len(actual), 1) self.assertEqual(actual[0], EXT_NAME)
def extension_name_completion_list(cmd, prefix, namespace, **kwargs): # pylint: disable=unused-argument return get_extension_names()