Source code for galaxy.tool_util.locations

import abc
import tempfile


[docs]class ToolLocationResolver(metaclass=abc.ABCMeta): """Parse a URI-like string and return a ToolSource object.""" @property @abc.abstractmethod def scheme(self): """Short label for the type of location resolver and URI scheme."""
[docs] @abc.abstractmethod def get_tool_source_path(self, uri_like: str) -> str: """Return a local path for the uri_like string."""
def _temp_path(self, uri_like): """Create an abstraction for this so we can configure and cache later.""" with tempfile.NamedTemporaryFile(suffix=uri_like.split("/")[-1], delete=False) as temp: return temp.name