Skip to content

Commit

Permalink
Merge pull request #1868 from mvdbeek/update_troubleshooting
Browse files Browse the repository at this point in the history
Replace get_tool_shed_repository_by_tool_shed_name_owner_changeset_re…
  • Loading branch information
jmchilton committed Mar 8, 2016
2 parents eb832ca + 2859561 commit 0f06dfe
Showing 1 changed file with 6 additions and 38 deletions.
Expand Up @@ -2,8 +2,6 @@
import os
import tempfile

from sqlalchemy import and_

from galaxy.tools.deps.resolvers import INDETERMINATE_DEPENDENCY
from galaxy.util import listify
from tool_shed.util import basic_util
Expand Down Expand Up @@ -360,34 +358,6 @@ def get_required_repository_package_env_sh_path( self, package_name, package_ver
env_sh_file_path = os.path.join( env_sh_file_dir, 'env.sh' )
return env_sh_file_path

def get_tool_shed_repository_by_tool_shed_name_owner_changeset_revision( self, tool_shed_url, name, owner, changeset_revision ):
sa_session = self.app.install_model.context
# The protocol is not stored, but the port is if it exists.
tool_shed = common_util.remove_protocol_from_tool_shed_url( tool_shed_url )
tool_shed_repository = sa_session.query( self.app.install_model.ToolShedRepository ) \
.filter( and_( self.app.install_model.ToolShedRepository.table.c.tool_shed == tool_shed,
self.app.install_model.ToolShedRepository.table.c.name == name,
self.app.install_model.ToolShedRepository.table.c.owner == owner,
self.app.install_model.ToolShedRepository.table.c.changeset_revision == changeset_revision ) ) \
.first()
if tool_shed_repository:
return tool_shed_repository
# The tool_shed_repository must have been updated to a newer changeset revision than the one defined in the repository_dependencies.xml file,
# so call the tool shed to get all appropriate newer changeset revisions.
text = suc.get_updated_changeset_revisions_from_tool_shed( self.app, tool_shed_url, name, owner, changeset_revision )
if text:
changeset_revisions = listify( text )
for changeset_revision in changeset_revisions:
tool_shed_repository = sa_session.query( self.app.install_model.ToolShedRepository ) \
.filter( and_( self.app.install_model.ToolShedRepository.table.c.tool_shed == tool_shed,
self.app.install_model.ToolShedRepository.table.c.name == name,
self.app.install_model.ToolShedRepository.table.c.owner == owner,
self.app.install_model.ToolShedRepository.table.c.changeset_revision == changeset_revision ) ) \
.first()
if tool_shed_repository:
return tool_shed_repository
return None

def handle_complex_repository_dependency_for_package( self, elem, package_name, package_version, tool_shed_repository,
from_tool_migration_manager=False ):
"""
Expand All @@ -398,17 +368,15 @@ def handle_complex_repository_dependency_for_package( self, elem, package_name,
and package_version is being installed.
"""
handled_tool_dependencies = []
tool_shed = elem.attrib[ 'toolshed' ]
# The protocol is not stored, but the port is if it exists.
tool_shed = common_util.remove_protocol_from_tool_shed_url( tool_shed )
tool_shed_url = elem.attrib[ 'toolshed' ]
required_repository_name = elem.attrib[ 'name' ]
required_repository_owner = elem.attrib[ 'owner' ]
default_required_repository_changeset_revision = elem.attrib[ 'changeset_revision' ]
required_repository = \
self.get_tool_shed_repository_by_tool_shed_name_owner_changeset_revision( tool_shed,
required_repository_name,
required_repository_owner,
default_required_repository_changeset_revision )
required_repository = suc.get_repository_for_dependency_relationship( self.app, tool_shed_url,
required_repository_name,
required_repository_owner,
default_required_repository_changeset_revision )
tool_shed = common_util.remove_protocol_from_tool_shed_url( tool_shed_url )
tmp_filename = None
if required_repository:
required_repository_changeset_revision = required_repository.installed_changeset_revision
Expand Down

0 comments on commit 0f06dfe

Please sign in to comment.