def _build_auto_tool_repos(path, config, auto_tool_repos): default_include = config.get("include", ["**"]) tool_els = list(load_tool_elements_from_path(path, recursive=True)) paths = list(map(lambda pair: pair[0], tool_els)) excludes = _shed_config_excludes(config) def _build_repository(tool_path, tool_el): tool_id = tool_el.getroot().get("id") tool_name = tool_el.getroot().get("name") template_vars = dict( tool_id=tool_id, tool_name=tool_name, ) other_paths = paths[:] other_paths.remove(tool_path) tool_excludes = excludes + list(other_paths) repo_dict = { "include": default_include, "exclude": tool_excludes, } for key in ["name", "description", "long_description"]: template_key = "%s_template" % key template = auto_tool_repos.get(template_key, None) if template: value = templates.render(template, **template_vars) repo_dict[key] = value return repo_dict repos = {} for tool_path, tool_el in tool_els: repository_config = _build_repository(tool_path, tool_el) repository_name = repository_config["name"] repos[repository_name] = repository_config return repos
def _build_auto_tool_repos(path, config, auto_tool_repos): default_include = config.get("include", ["**"]) tool_els = list(load_tool_elements_from_path(path, recursive=True)) paths = list(map(lambda pair: pair[0], tool_els)) excludes = _shed_config_excludes(config) def _build_repository(tool_path, tool_el): tool_id = tool_el.getroot().get("id") tool_name = tool_el.getroot().get("name") template_vars = dict( tool_id=tool_id, tool_name=tool_name, ) other_paths = paths[:] other_paths.remove(tool_path) tool_excludes = excludes + list(other_paths) repo_dict = { "include": default_include, "exclude": tool_excludes, } for key in ["name", "description", "long_description"]: template_key = "%s_template" % key template = auto_tool_repos.get(template_key, None) if template: value = templates.render(template, **template_vars) repo_dict[key] = value return repo_dict repos = {} for tool_path, tool_el in tool_els: repository_config = _build_repository(tool_path, tool_el) repository_name = repository_config["name"] repos[repository_name] = repository_config return repos
def yield_tool_xmls(ctx, path, recursive=False): tools = load_tool_elements_from_path( path, recursive, ) for (tool_path, tool_xml) in tools: if not _is_tool_xml(ctx, tool_path, tool_xml): continue yield (tool_path, tool_xml)
def yield_tool_xmls(ctx, path, recursive=False): tools = load_tool_elements_from_path(path, recursive, register_load_errors=True) for (tool_path, tool_xml) in tools: if is_tool_load_error(tool_xml): yield (tool_path, tool_xml) continue if not _is_tool_xml(ctx, tool_path, tool_xml): continue yield (tool_path, tool_xml)
def yield_tool_xmls(ctx, path, recursive=False): tools = load_tool_elements_from_path( path, recursive, register_load_errors=True, ) for (tool_path, tool_xml) in tools: if is_tool_load_error(tool_xml): yield (tool_path, tool_xml) continue if not _is_tool_xml(ctx, tool_path, tool_xml): continue yield (tool_path, tool_xml)