tool_shed.tools package

Submodules

tool_shed.tools.data_table_manager module

class tool_shed.tools.data_table_manager.ToolDataTableManager(app)[source]

Bases: object

__init__(app)[source]
generate_repository_info_elem(tool_shed, repository_name, changeset_revision, owner, parent_elem=None, **kwd)[source]

Create and return an ElementTree repository info Element.

generate_repository_info_elem_from_repository(tool_shed_repository, parent_elem=None, **kwd)[source]
get_target_install_dir(tool_shed_repository)[source]
get_tool_index_sample_files(sample_files)[source]

Try to return the list of all appropriate tool data sample files included in the repository.

handle_missing_data_table_entry(relative_install_dir, tool_path, repository_tools_tups)[source]

Inspect each tool to see if any have input parameters that are dynamically generated select lists that require entries in the tool_data_table_conf.xml file. This method is called only from Galaxy (not the tool shed) when a repository is being installed or reinstalled.

handle_sample_tool_data_table_conf_file(filename, persist=False)[source]

Parse the incoming filename and add new entries to the in-memory self.app.tool_data_tables dictionary. If persist is True (should only occur if call is from the Galaxy side, not the tool shed), the new entries will be appended to Galaxy’s shed_tool_data_table_conf.xml file on disk.

install_tool_data_tables(tool_shed_repository, tool_index_sample_files)[source]
reset_tool_data_tables()[source]

tool_shed.tools.tool_validator module

class tool_shed.tools.tool_validator.ToolValidator(app)[source]

Bases: object

__init__(app)[source]
can_use_tool_config_disk_file(repository, repo, file_path, changeset_revision)[source]

Determine if repository’s tool config file on disk can be used. This method is restricted to tool config files since, with the exception of tool config files, multiple files with the same name will likely be in various directories in the repository and we’re comparing file names only (not relative paths).

check_tool_input_params(repo_dir, tool_config_name, tool, sample_files)[source]

Check all of the tool’s input parameters, looking for any that are dynamically generated using external data files to make sure the files exist.

concat_messages(msg1, msg2)[source]
copy_disk_sample_files_to_dir(repo_files_dir, dest_path)[source]

Copy all files currently on disk that end with the .sample extension to the directory to which dest_path refers.

get_latest_tool_config_revision_from_repository_manifest(repo, filename, changeset_revision)[source]

Get the latest revision of a tool config file named filename from the repository manifest up to the value of changeset_revision. This method is restricted to tool_config files rather than any file since it is likely that, with the exception of tool config files, multiple files will have the same name in various directories within the repository.

get_list_of_copied_sample_files(repo, ctx, dir)[source]

Find all sample files (files in the repository with the special .sample extension) in the reversed repository manifest up to ctx. Copy each discovered file to dir and return the list of filenames. If a .sample file was added in a changeset and then deleted in a later changeset, it will be returned in the deleted_sample_files list. The caller will set the value of app.config.tool_data_path to dir in order to load the tools and generate metadata for them.

handle_sample_files_and_load_tool_from_disk(repo_files_dir, repository_id, tool_config_filepath, work_dir)[source]

Copy all sample files from disk to a temporary directory since the sample files may be in multiple directories.

handle_sample_files_and_load_tool_from_tmp_config(repo, repository_id, changeset_revision, tool_config_filename, work_dir)[source]
load_tool_from_changeset_revision(repository_id, changeset_revision, tool_config_filename)[source]

Return a loaded tool whose tool config file name (e.g., filtering.xml) is the value of tool_config_filename. The value of changeset_revision is a valid (downloadable) changeset revision. The tool config will be located in the repository manifest between the received valid changeset revision and the first changeset revision in the repository, searching backwards.

load_tool_from_config(repository_id, full_path)[source]
load_tool_from_tmp_config(repo, repository_id, ctx, ctx_file, work_dir)[source]

tool_shed.tools.tool_version_manager module

class tool_shed.tools.tool_version_manager.ToolVersionManager(app)[source]

Bases: object

__init__(app)[source]
get_tool_version(tool_id)[source]
get_tool_version_association(parent_tool_version, tool_version)[source]

Return a ToolVersionAssociation if one exists that associates the two received tool_versions. This function is called only from Galaxy.

get_version_lineage_for_tool(repository_id, repository_metadata, guid)[source]

Return the tool version lineage chain in descendant order for the received guid contained in the received repsitory_metadata.tool_versions. This function is called only from the Tool Shed.

handle_tool_versions(tool_version_dicts, tool_shed_repository)[source]

Using the list of tool_version_dicts retrieved from the Tool Shed (one per changeset revision up to the currently installed changeset revision), create the parent / child pairs of tool versions. Each dictionary contains { tool id : parent tool id } pairs. This function is called only from Galaxy.