<%def name="common_javascripts(repository)"> <%def name="container_javascripts()"> <%def name="render_repository_type_select_field( repository_type_select_field, render_help=True )">
<% from tool_shed.repository_types import util options = repository_type_select_field.options repository_types = [] for option_tup in options: repository_types.append( option_tup[ 1 ] ) render_as_text = len( options ) == 1 if render_as_text: repository_type = options[ 0 ][ 0 ] %> %if render_as_text: ${repository_type | h} %if render_help:
This repository's type cannot be changed because its contents are valid only for its current type or it has been cloned.
%endif %else: ${repository_type_select_field.get_html()} %if render_help:
Select the repository type based on the following criteria.
%endif %endif
<%def name="render_sharable_str( repository, changeset_revision=None )"> <% from tool_shed.util.shed_util_common import generate_sharable_link_for_repository_in_tool_shed sharable_link = generate_sharable_link_for_repository_in_tool_shed( repository, changeset_revision=changeset_revision ) %> ${sharable_link} <%def name="render_clone_str( repository )"> <% from tool_shed.util.common_util import generate_clone_url_for_repository_in_tool_shed clone_str = generate_clone_url_for_repository_in_tool_shed( trans.user, repository ) %> hg clone ${clone_str} <%def name="render_folder( folder, folder_pad, parent=None, row_counter=None, is_root_folder=False, render_repository_actions_for='tool_shed' )"> <% encoded_id = trans.security.encode_id( folder.id ) if is_root_folder: pad = folder_pad expander = h.url_for("/static/images/silk/resultset_bottom.png") folder_img = h.url_for("/static/images/silk/folder_page.png") else: pad = folder_pad + 20 expander = h.url_for("/static/images/silk/resultset_next.png") folder_img = h.url_for("/static/images/silk/folder.png") my_row = None %> %if not is_root_folder: <% if parent is None: bg_str = 'bgcolor="#D8D8D8"' else: bg_str = '' %> <% col_span_str = '' folder_label = str( folder.label ) if folder.datatypes: col_span_str = 'colspan="4"' elif folder.label == 'Missing tool dependencies': if folder.description: folder_label = "%s - %s" % ( folder_label, folder.description ) else: folder_label = "%s - repository tools require handling of these missing dependencies" % folder_label col_span_str = 'colspan="5"' elif folder.label in [ 'Installed repository dependencies', 'Repository dependencies', 'Missing repository dependencies' ]: if folder.description: folder_label = "%s - %s" % ( folder_label, folder.description ) elif folder.label not in [ 'Installed repository dependencies' ] and folder.parent.label not in [ 'Installation errors' ]: folder_label = "%s - installation of these additional repositories is required" % folder_label if trans.webapp.name == 'galaxy': col_span_str = 'colspan="4"' elif folder.label == 'Invalid repository dependencies': folder_label = "%s - click the repository dependency to see why it is invalid" % folder_label elif folder.label == 'Invalid tool dependencies': folder_label = "%s - click the tool dependency to see why it is invalid" % folder_label elif folder.label == 'Valid tools': col_span_str = 'colspan="3"' if folder.description: folder_label = "%s - %s" % ( folder_label, folder.description ) else: folder_label = "%s - click the name to preview the tool and use the pop-up menu to inspect all metadata" % folder_label elif folder.invalid_tools: if trans.webapp.name == 'tool_shed': folder_label = "%s - click the tool config file name to see why the tool is invalid" % folder_label elif folder.tool_dependencies: if folder.description: folder_label = "%s - %s" % ( folder_label, folder.description ) else: folder_label = "%s - repository tools require handling of these dependencies" % folder_label col_span_str = 'colspan="4"' elif folder.workflows: if folder.description: folder_label = "%s - %s" % ( folder_label, folder.description ) else: folder_label = "%s - click the name to view an SVG image of the workflow" % folder_label col_span_str = 'colspan="4"' elif folder.valid_data_managers: if folder.description: folder_label = "%s - %s" % ( folder_label, folder.description ) col_span_str = 'colspan="3"' elif folder.invalid_data_managers: if folder.description: folder_label = "%s - %s" % ( folder_label, folder.description ) col_span_str = 'colspan="2"' %> <% my_row = row_counter.count row_counter.increment() %> %endif %for sub_folder in folder.folders: ${render_folder( sub_folder, pad, parent=my_row, row_counter=row_counter, is_root_folder=False, render_repository_actions_for=render_repository_actions_for )} %endfor %for readme in folder.readme_files: ${render_readme( readme, pad, my_row, row_counter, render_repository_actions_for=render_repository_actions_for )} %endfor %for invalid_repository_dependency in folder.invalid_repository_dependencies: ${render_invalid_repository_dependency( invalid_repository_dependency, pad, my_row, row_counter, render_repository_actions_for=render_repository_actions_for )} %endfor %for index, repository_dependency in enumerate( folder.repository_dependencies ): <% row_is_header = index == 0 %> ${render_repository_dependency( repository_dependency, pad, my_row, row_counter, row_is_header, render_repository_actions_for=render_repository_actions_for )} %endfor %for invalid_tool_dependency in folder.invalid_tool_dependencies: ${render_invalid_tool_dependency( invalid_tool_dependency, pad, my_row, row_counter, render_repository_actions_for=render_repository_actions_for )} %endfor %for index, tool_dependency in enumerate( folder.tool_dependencies ): <% row_is_header = index == 0 %> ${render_tool_dependency( tool_dependency, pad, my_row, row_counter, row_is_header, render_repository_actions_for=render_repository_actions_for )} %endfor %if folder.valid_tools: %for index, tool in enumerate( folder.valid_tools ): <% row_is_header = index == 0 %> ${render_tool( tool, pad, my_row, row_counter, row_is_header, render_repository_actions_for=render_repository_actions_for )} %endfor %endif %for invalid_tool in folder.invalid_tools: ${render_invalid_tool( invalid_tool, pad, my_row, row_counter, render_repository_actions_for=render_repository_actions_for )} %endfor %if folder.workflows: %for index, workflow in enumerate( folder.workflows ): <% row_is_header = index == 0 %> ${render_workflow( workflow, pad, my_row, row_counter, row_is_header, render_repository_actions_for=render_repository_actions_for )} %endfor %endif %if folder.datatypes: %for index, datatype in enumerate( folder.datatypes ): <% row_is_header = index == 0 %> ${render_datatype( datatype, pad, my_row, row_counter, row_is_header, render_repository_actions_for=render_repository_actions_for )} %endfor %endif %if folder.valid_data_managers: %for index, data_manager in enumerate( folder.valid_data_managers ): <% row_is_header = index == 0 %> ${render_valid_data_manager( data_manager, pad, my_row, row_counter, row_is_header, render_repository_actions_for=render_repository_actions_for )} %endfor %endif %if folder.invalid_data_managers: %for index, data_manager in enumerate( folder.invalid_data_managers ): <% row_is_header = index == 0 %> ${render_invalid_data_manager( data_manager, pad, my_row, row_counter, row_is_header, render_repository_actions_for=render_repository_actions_for )} %endfor %endif %if folder.test_environments: %for test_environment in folder.test_environments: ${render_test_environment( test_environment, pad, my_row, row_counter, render_repository_actions_for=render_repository_actions_for )} %endfor %endif %if folder.failed_tests: %for failed_test in folder.failed_tests: ${render_failed_test( failed_test, pad, my_row, row_counter, render_repository_actions_for=render_repository_actions_for )} %endfor %endif %if folder.not_tested: %for not_tested in folder.not_tested: ${render_not_tested( not_tested, pad, my_row, row_counter, render_repository_actions_for=render_repository_actions_for )} %endfor %endif %if folder.passed_tests: %for passed_test in folder.passed_tests: ${render_passed_test( passed_test, pad, my_row, row_counter, render_repository_actions_for=render_repository_actions_for )} %endfor %endif %if folder.missing_test_components: %for missing_test_component in folder.missing_test_components: ${render_missing_test_component( missing_test_component, pad, my_row, row_counter, render_repository_actions_for=render_repository_actions_for )} %endfor %endif %if folder.tool_dependency_installation_errors: %for tool_dependency_installation_error in folder.tool_dependency_installation_errors: ${render_tool_dependency_installation_error( tool_dependency_installation_error, pad, my_row, row_counter, render_repository_actions_for=render_repository_actions_for )} %endfor %endif %if folder.tool_dependency_successful_installations: %for tool_dependency_successful_installation in folder.tool_dependency_successful_installations: ${render_tool_dependency_successful_installation( tool_dependency_successful_installation, pad, my_row, row_counter, render_repository_actions_for=render_repository_actions_for )} %endfor %endif %if folder.repository_installation_errors: %for repository_installation_error in folder.repository_installation_errors: ${render_repository_installation_error( repository_installation_error, pad, my_row, row_counter, is_current_repository=False, render_repository_actions_for=render_repository_actions_for )} %endfor %endif %if folder.current_repository_installation_errors: %for repository_installation_error in folder.current_repository_installation_errors: ${render_repository_installation_error( repository_installation_error, pad, my_row, row_counter, is_current_repository=True, render_repository_actions_for=render_repository_actions_for )} %endfor %endif %if folder.repository_successful_installations: %for repository_successful_installation in folder.repository_successful_installations: ${render_repository_successful_installation( repository_successful_installation, pad, my_row, row_counter, render_repository_actions_for=render_repository_actions_for )} %endfor %endif <%def name="render_datatype( datatype, pad, parent, row_counter, row_is_header=False, render_repository_actions_for='tool_shed' )"> <% encoded_id = trans.security.encode_id( datatype.id ) if row_is_header: cell_type = 'th' else: cell_type = 'td' %> <${cell_type} style="padding-left: ${pad+20}px;">${datatype.extension | h} <${cell_type}>${datatype.type | h} <${cell_type}>${datatype.mimetype | h} <${cell_type}>${datatype.subclass | h} <% my_row = row_counter.count row_counter.increment() %> <%def name="render_failed_test( failed_test, pad, parent, row_counter, row_is_header=False, render_repository_actions_for='tool_shed' )"> <% from tool_shed.util.basic_util import to_html_string encoded_id = trans.security.encode_id( failed_test.id ) %>
Tool id: ${failed_test.tool_id | h}
Tool version: ${failed_test.tool_id | h}
Test: ${failed_test.test_id | h}
Stderr:
${ to_html_string( failed_test.stderr ) }
Traceback:
${ to_html_string( failed_test.traceback ) }
<% my_row = row_counter.count row_counter.increment() %> <%def name="render_invalid_data_manager( data_manager, pad, parent, row_counter, row_is_header=False, render_repository_actions_for='tool_shed' )"> <% encoded_id = trans.security.encode_id( data_manager.id ) if row_is_header: cell_type = 'th' else: cell_type = 'td' %> <${cell_type} style="padding-left: ${pad+20}px;">${data_manager.index | h} <${cell_type}>${data_manager.error | h} <% my_row = row_counter.count row_counter.increment() %> <%def name="render_invalid_repository_dependency( invalid_repository_dependency, pad, parent, row_counter, render_repository_actions_for='tool_shed' )"> <% encoded_id = trans.security.encode_id( invalid_repository_dependency.id ) %> ${ invalid_repository_dependency.error | h } <% my_row = row_counter.count row_counter.increment() %> <%def name="render_invalid_tool( invalid_tool, pad, parent, row_counter, valid=True, render_repository_actions_for='tool_shed' )"> <% encoded_id = trans.security.encode_id( invalid_tool.id ) %> %if trans.webapp.name == 'tool_shed' and invalid_tool.repository_id and invalid_tool.tool_config and invalid_tool.changeset_revision: ${invalid_tool.tool_config | h} %else: ${invalid_tool.tool_config | h} %endif <% my_row = row_counter.count row_counter.increment() %> <%def name="render_invalid_tool_dependency( invalid_tool_dependency, pad, parent, row_counter, render_repository_actions_for='tool_shed' )"> <% encoded_id = trans.security.encode_id( invalid_tool_dependency.id ) %>
${ invalid_tool_dependency.error | h }
<% my_row = row_counter.count row_counter.increment() %> <%def name="render_missing_test_component( missing_test_component, pad, parent, row_counter, row_is_header=False, render_repository_actions_for='tool_shed' )"> <% encoded_id = trans.security.encode_id( missing_test_component.id ) %>
Tool id: ${missing_test_component.tool_id | h}
Tool version: ${missing_test_component.tool_version | h}
Tool guid: ${missing_test_component.tool_guid | h}
Missing components:
${missing_test_component.missing_components | h}
<% my_row = row_counter.count row_counter.increment() %> <%def name="render_readme( readme, pad, parent, row_counter, render_repository_actions_for='tool_shed' )"> <% encoded_id = trans.security.encode_id( readme.id ) %>
${ readme.text }
<% my_row = row_counter.count row_counter.increment() %> <%def name="render_repository_dependency( repository_dependency, pad, parent, row_counter, row_is_header=False, render_repository_actions_for='tool_shed' )"> <% from galaxy.util import asbool from tool_shed.util.shed_util_common import get_repository_by_name_and_owner encoded_id = trans.security.encode_id( repository_dependency.id ) if trans.webapp.name == 'galaxy': if repository_dependency.tool_shed_repository_id: encoded_required_repository_id = trans.security.encode_id( repository_dependency.tool_shed_repository_id ) else: encoded_required_repository_id = None if repository_dependency.installation_status: installation_status = str( repository_dependency.installation_status ) else: installation_status = None repository_name = str( repository_dependency.repository_name ) repository_owner = str( repository_dependency.repository_owner ) changeset_revision = str( repository_dependency.changeset_revision ) if asbool( str( repository_dependency.prior_installation_required ) ): prior_installation_required_str = " (prior install required)" else: prior_installation_required_str = "" if trans.webapp.name == 'galaxy': if row_is_header: cell_type = 'th' else: cell_type = 'td' rd = None else: # We're in the tool shed. cell_type = 'td' rd = get_repository_by_name_and_owner( trans.app, repository_name, repository_owner ) %> %if trans.webapp.name == 'galaxy': <${cell_type} style="padding-left: ${pad+20}px;"> %if row_is_header: ${repository_name | h} %elif encoded_required_repository_id: ${repository_name | h} %else: ${repository_name | h} %endif <${cell_type}> ${changeset_revision | h} <${cell_type}> ${repository_owner | h} <${cell_type}> ${installation_status} %else: %if render_repository_actions_for == 'tool_shed' and rd: Repository ${repository_name | h} revision ${changeset_revision | h} owned by ${repository_owner | h}${prior_installation_required_str} %else: Repository ${repository_name | h} revision ${changeset_revision | h} owned by ${repository_owner | h}${prior_installation_required_str} %endif %endif <% my_row = row_counter.count row_counter.increment() %> <%def name="render_table_wrap_style( table_id )"> <%def name="render_tool_dependency_installation_error( installation_error, pad, parent, row_counter, row_is_header=False, render_repository_actions_for='tool_shed' )"> <% from galaxy.util import unicodify encoded_id = trans.security.encode_id( installation_error.id ) %>
TypeNameVersion
${installation_error.name | h} ${installation_error.type | h} ${installation_error.version | h}
Error
${unicodify( installation_error.error_message ) | h}
<% my_row = row_counter.count row_counter.increment() %> <%def name="render_tool_dependency_successful_installation( successful_installation, pad, parent, row_counter, row_is_header=False, render_repository_actions_for='tool_shed' )"> <% encoded_id = trans.security.encode_id( successful_installation.id ) %>
TypeNameVersion
${successful_installation.name | h} ${successful_installation.type | h} ${successful_installation.version | h}
Installation directory
${successful_installation.installation_directory | h}
<% my_row = row_counter.count row_counter.increment() %> <%def name="render_repository_installation_error( installation_error, pad, parent, row_counter, row_is_header=False, is_current_repository=False, render_repository_actions_for='tool_shed' )"> <% from galaxy.util import unicodify encoded_id = trans.security.encode_id( installation_error.id ) %> %if not is_current_repository: %endif
Tool shedNameOwnerChangeset revision
${installation_error.tool_shed | h} ${installation_error.name | h} ${installation_error.owner | h} ${installation_error.changeset_revision | h}
Error
${unicodify( installation_error.error_message ) | h}
<% my_row = row_counter.count row_counter.increment() %> <%def name="render_repository_successful_installation( successful_installation, pad, parent, row_counter, row_is_header=False, is_current_repository=False, render_repository_actions_for='tool_shed' )"> <% encoded_id = trans.security.encode_id( successful_installation.id ) %> %if not is_current_repository: %endif
Tool shedNameOwnerChangeset revision
${successful_installation.tool_shed | h} ${successful_installation.name | h} ${successful_installation.owner | h} ${successful_installation.changeset_revision | h}
<% my_row = row_counter.count row_counter.increment() %> <%def name="render_not_tested( not_tested, pad, parent, row_counter, row_is_header=False, render_repository_actions_for='tool_shed' )"> <% encoded_id = trans.security.encode_id( not_tested.id ) %>
${not_tested.reason | h}
<% my_row = row_counter.count row_counter.increment() %> <%def name="render_passed_test( passed_test, pad, parent, row_counter, row_is_header=False, render_repository_actions_for='tool_shed' )"> <% encoded_id = trans.security.encode_id( passed_test.id ) %>
Tool id: ${passed_test.tool_id | h}
Tool version: ${passed_test.tool_id | h}
Test: ${passed_test.test_id | h}
<% my_row = row_counter.count row_counter.increment() %> <%def name="render_tool( tool, pad, parent, row_counter, row_is_header, render_repository_actions_for='tool_shed' )"> <% encoded_id = trans.security.encode_id( tool.id ) if row_is_header: cell_type = 'th' else: cell_type = 'td' %> %if row_is_header: ${tool.name | h} %else: %if tool.repository_id: %if trans.webapp.name == 'tool_shed':
View tool metadata
%elif trans.webapp.name == 'galaxy': %if tool.repository_installation_status == trans.install_model.ToolShedRepository.installation_status.INSTALLED: ${tool.name | h} %else: ${tool.name | h} %endif %else: ${tool.name | h} %endif %else: ${tool.name | h} %endif %endif <${cell_type}>${tool.description | h} <${cell_type}>${tool.version | h} ##<${cell_type}>${tool.requirements | h} <% my_row = row_counter.count row_counter.increment() %> <%def name="render_tool_dependency( tool_dependency, pad, parent, row_counter, row_is_header, render_repository_actions_for='tool_shed' )"> <% from galaxy.util import string_as_bool encoded_id = trans.security.encode_id( tool_dependency.id ) is_missing = tool_dependency.installation_status not in [ 'Installed' ] if row_is_header: cell_type = 'th' else: cell_type = 'td' %> <${cell_type} style="padding-left: ${pad+20}px;"> %if row_is_header: ${tool_dependency.name | h} %elif trans.webapp.name == 'galaxy' and tool_dependency.tool_dependency_id: %if tool_dependency.repository_id and tool_dependency.installation_status in [ trans.install_model.ToolDependency.installation_status.INSTALLED ]: ${tool_dependency.name | h} %elif tool_dependency.installation_status not in [ trans.install_model.ToolDependency.installation_status.UNINSTALLED ]: ${tool_dependency.name} %else: ${tool_dependency.name | h} %endif %else: ${tool_dependency.name | h} %endif <${cell_type}> <% if tool_dependency.version: version_str = tool_dependency.version else: version_str = '' %> ${version_str | h} <${cell_type}>${tool_dependency.type | h} <${cell_type}> %if trans.webapp.name == 'galaxy': ${tool_dependency.installation_status | h} %endif <% my_row = row_counter.count row_counter.increment() %> <%def name="render_test_environment( test_environment, pad, parent, row_counter, row_is_header=False, render_repository_actions_for='tool_shed' )"> <% encoded_id = trans.security.encode_id( test_environment.id ) %>
Time tested: ${test_environment.time_tested | h}
System: ${test_environment.system | h}
Architecture: ${test_environment.architecture | h}
Python version: ${test_environment.python_version | h}
Galaxy revision: ${test_environment.galaxy_revision | h}
Galaxy database version: ${test_environment.galaxy_database_version | h}
Tool shed revision: ${test_environment.tool_shed_revision | h}
Tool shed database version: ${test_environment.tool_shed_database_version | h}
Tool shed mercurial version: ${test_environment.tool_shed_mercurial_version | h}
<% my_row = row_counter.count row_counter.increment() %> <%def name="render_valid_data_manager( data_manager, pad, parent, row_counter, row_is_header=False, render_repository_actions_for='tool_shed' )"> <% encoded_id = trans.security.encode_id( data_manager.id ) if row_is_header: cell_type = 'th' else: cell_type = 'td' %> <${cell_type} style="padding-left: ${pad+20}px;">${data_manager.name | h} <${cell_type}>${data_manager.version | h} <${cell_type}>${data_manager.data_tables | h} <% my_row = row_counter.count row_counter.increment() %> <%def name="render_workflow( workflow, pad, parent, row_counter, row_is_header=False, render_repository_actions_for='tool_shed' )"> <% from tool_shed.util.encoding_util import tool_shed_encode encoded_id = trans.security.encode_id( workflow.id ) encoded_workflow_name = tool_shed_encode( workflow.workflow_name ) if trans.webapp.name == 'tool_shed': encoded_repository_metadata_id = trans.security.encode_id( workflow.repository_metadata_id ) encoded_repository_id = None else: encoded_repository_metadata_id = None encoded_repository_id = trans.security.encode_id( workflow.repository_id ) if row_is_header: cell_type = 'th' else: cell_type = 'td' %> <${cell_type} style="padding-left: ${pad+20}px;"> %if row_is_header: ${workflow.workflow_name | h} %elif trans.webapp.name == 'tool_shed' and encoded_repository_metadata_id: ${workflow.workflow_name | h} %elif trans.webapp.name == 'galaxy' and encoded_repository_id: ${workflow.workflow_name | h} %else: ${workflow.workflow_name | h} %endif <${cell_type}>${workflow.steps | h} <${cell_type}>${workflow.format_version | h} <${cell_type}>${workflow.annotation | h} <% my_row = row_counter.count row_counter.increment() %> <%def name="render_repository_items( metadata, containers_dict, can_set_metadata=False, render_repository_actions_for='tool_shed' )"> <% from tool_shed.util.encoding_util import tool_shed_encode has_datatypes = metadata and 'datatypes' in metadata has_readme_files = metadata and 'readme_files' in metadata has_workflows = metadata and 'workflows' in metadata datatypes_root_folder = containers_dict.get( 'datatypes', None ) invalid_data_managers_root_folder = containers_dict.get( 'invalid_data_managers', None ) invalid_repository_dependencies_root_folder = containers_dict.get( 'invalid_repository_dependencies', None ) invalid_tool_dependencies_root_folder = containers_dict.get( 'invalid_tool_dependencies', None ) invalid_tools_root_folder = containers_dict.get( 'invalid_tools', None ) missing_repository_dependencies_root_folder = containers_dict.get( 'missing_repository_dependencies', None ) missing_tool_dependencies_root_folder = containers_dict.get( 'missing_tool_dependencies', None ) readme_files_root_folder = containers_dict.get( 'readme_files', None ) repository_dependencies_root_folder = containers_dict.get( 'repository_dependencies', None ) test_environment_root_folder = containers_dict.get( 'test_environment', None ) tool_dependencies_root_folder = containers_dict.get( 'tool_dependencies', None ) tool_test_results_root_folder = containers_dict.get( 'tool_test_results', None ) valid_data_managers_root_folder = containers_dict.get( 'valid_data_managers', None ) valid_tools_root_folder = containers_dict.get( 'valid_tools', None ) workflows_root_folder = containers_dict.get( 'workflows', None ) has_contents = datatypes_root_folder or invalid_tools_root_folder or valid_tools_root_folder or workflows_root_folder has_dependencies = \ invalid_repository_dependencies_root_folder or \ invalid_tool_dependencies_root_folder or \ missing_repository_dependencies_root_folder or \ repository_dependencies_root_folder or \ tool_dependencies_root_folder or \ missing_tool_dependencies_root_folder class RowCounter( object ): def __init__( self ): self.count = 0 def increment( self ): self.count += 1 def __str__( self ): return str( self.count ) %> %if readme_files_root_folder: ${render_table_wrap_style( "readme_files" )}

Repository README files - may contain important installation or license information

<% row_counter = RowCounter() %> ${render_folder( readme_files_root_folder, 0, parent=None, row_counter=row_counter, is_root_folder=True, render_repository_actions_for=render_repository_actions_for )}

%endif %if has_dependencies:
Dependencies of this repository
%if invalid_repository_dependencies_root_folder:

<% row_counter = RowCounter() %> ${render_folder( invalid_repository_dependencies_root_folder, 0, parent=None, row_counter=row_counter, is_root_folder=True, render_repository_actions_for=render_repository_actions_for )}
%endif %if missing_repository_dependencies_root_folder:

<% row_counter = RowCounter() %> ${render_folder( missing_repository_dependencies_root_folder, 0, parent=None, row_counter=row_counter, is_root_folder=True, render_repository_actions_for=render_repository_actions_for )}
%endif %if repository_dependencies_root_folder:

<% row_counter = RowCounter() %> ${render_folder( repository_dependencies_root_folder, 0, parent=None, row_counter=row_counter, is_root_folder=True, render_repository_actions_for=render_repository_actions_for )}
%endif %if invalid_tool_dependencies_root_folder:

<% row_counter = RowCounter() %> ${render_folder( invalid_tool_dependencies_root_folder, 0, parent=None, row_counter=row_counter, is_root_folder=True, render_repository_actions_for=render_repository_actions_for )}
%endif %if tool_dependencies_root_folder:

<% row_counter = RowCounter() %> ${render_folder( tool_dependencies_root_folder, 0, parent=None, row_counter=row_counter, is_root_folder=True, render_repository_actions_for=render_repository_actions_for )}
%endif %if missing_tool_dependencies_root_folder:

<% row_counter = RowCounter() %> ${render_folder( missing_tool_dependencies_root_folder, 0, parent=None, row_counter=row_counter, is_root_folder=True, render_repository_actions_for=render_repository_actions_for )}
%endif

%endif %if has_contents:

Contents of this repository
%if valid_tools_root_folder:

<% row_counter = RowCounter() %> ${render_folder( valid_tools_root_folder, 0, parent=None, row_counter=row_counter, is_root_folder=True, render_repository_actions_for=render_repository_actions_for )}
%endif %if invalid_tools_root_folder:

<% row_counter = RowCounter() %> ${render_folder( invalid_tools_root_folder, 0, parent=None, row_counter=row_counter, is_root_folder=True, render_repository_actions_for=render_repository_actions_for )}
%endif %if valid_data_managers_root_folder:

<% row_counter = RowCounter() %> ${render_folder( valid_data_managers_root_folder, 0, parent=None, row_counter=row_counter, is_root_folder=True, render_repository_actions_for=render_repository_actions_for )}
%endif %if invalid_data_managers_root_folder:

<% row_counter = RowCounter() %> ${render_folder( invalid_data_managers_root_folder, 0, parent=None, row_counter=row_counter, is_root_folder=True, render_repository_actions_for=render_repository_actions_for )}
%endif %if workflows_root_folder:

<% row_counter = RowCounter() %> ${render_folder( workflows_root_folder, 0, parent=None, row_counter=row_counter, is_root_folder=True, render_repository_actions_for=render_repository_actions_for )}
%endif %if datatypes_root_folder:

<% row_counter = RowCounter() %> ${render_folder( datatypes_root_folder, 0, parent=None, row_counter=row_counter, is_root_folder=True, render_repository_actions_for=render_repository_actions_for )}
%endif

%endif %if tool_test_results_root_folder: ${render_table_wrap_style( "test_environment" )}

Automated tool test results

<% row_counter = RowCounter() %> ${render_folder( tool_test_results_root_folder, 0, parent=None, row_counter=row_counter, is_root_folder=True, render_repository_actions_for=render_repository_actions_for )}

%endif