tool_shed.dependencies.repository package

Submodules

tool_shed.dependencies.repository.relation_builder module

class tool_shed.dependencies.repository.relation_builder.RelationBuilder(app, repository, repository_metadata, tool_shed_url)[source]

Bases: object

__init__(app, repository, repository_metadata, tool_shed_url)[source]
can_add_to_key_rd_dicts(key_rd_dict, key_rd_dicts)[source]

Handle the case where an update to the changeset revision was done.

filter_only_if_compiling_contained_td(key_rd_dict)[source]

Return a copy of the received key_rd_dict with repository dependencies that are needed only_if_compiling_contained_td filtered out of the list of repository dependencies for each rd_key.

get_prior_installation_required_and_only_if_compiling_contained_td()[source]

This method is called from the tool shed and never Galaxy. If self.all_repository_dependencies contains a repository dependency tuple that is associated with self.repository, return the value of the tuple’s prior_installation_required component.

get_key_for_repository_changeset_revision()[source]
get_repository_dependencies_for_changeset_revision()[source]

Return a dictionary of all repositories upon which the contents of self.repository_metadata record depend. The dictionary keys are name-spaced values consisting of: self.tool_shed_url/repository_name/repository_owner/changeset_revision and the values are lists of repository_dependency tuples consisting of: ( self.tool_shed_url, repository_name, repository_owner, changeset_revision ). This method ensures that all required repositories to the nth degree are returned.

get_repository_dependency_as_key(repository_dependency)[source]
get_updated_changeset_revisions_for_repository_dependencies(key_rd_dicts)[source]
handle_circular_repository_dependency(repository_key, repository_dependency)[source]
handle_current_repository_dependency(current_repository_key)[source]
handle_key_rd_dicts_for_repository(current_repository_key, repository_key_rd_dicts)[source]
handle_next_repository_dependency()[source]
in_all_repository_dependencies(repository_key, repository_dependency)[source]

Return True if { repository_key : repository_dependency } is in self.all_repository_dependencies.

in_circular_repository_dependencies(repository_key_rd_dict)[source]

Return True if any combination of a circular dependency tuple is the key : value pair defined in the received repository_key_rd_dict. This means that each circular dependency tuple is converted into the key : value pair for comparison.

in_key_rd_dicts(key_rd_dict, key_rd_dicts)[source]

Return True if key_rd_dict is contained in the list of key_rd_dicts.

initialize_all_repository_dependencies(current_repository_key, repository_dependencies_dict)[source]

Initialize the self.all_repository_dependencies dictionary.

is_circular_repository_dependency(repository_key, repository_dependency)[source]

Return True if the received repository_dependency is a key in self.all_repository_dependencies whose list of repository dependencies includes the received repository_key.

populate_repository_dependency_objects_for_processing(current_repository_key, repository_dependencies_dict)[source]

The process that discovers all repository dependencies for a specified repository’s changeset revision uses this method to populate the following items for the current processing loop: filtered_current_repository_key_rd_dicts, self.key_rd_dicts_to_be_processed, self.handled_key_rd_dicts, self.all_repository_dependencies. Each processing loop may discover more repository dependencies, so this method is repeatedly called until all repository dependencies have been discovered.

prune_invalid_repository_dependencies(repository_dependencies)[source]

Eliminate all invalid entries in the received repository_dependencies dictionary. An entry is invalid if the value_list of the key/value pair is empty. This occurs when an invalid combination of tool shed, name , owner, changeset_revision is used and a repository_metadata record is not found.

remove_from_key_rd_dicts(key_rd_dict, key_rd_dicts)[source]

Eliminate the key_rd_dict from the list of key_rd_dicts if it is contained in the list.

remove_repository_dependency_reference_to_self(key_rd_dicts)[source]

Remove all repository dependencies that point to a revision within its own repository.

set_filter_dependencies_needed_for_compiling(value)[source]
update_circular_repository_dependencies(repository_key, repository_dependency, repository_dependencies)[source]