Warning
This document is for an in-development version of Galaxy. You can alternatively view this page in the latest release if it exists or view the top of the latest release's documentation.
Source code for galaxy.tool_util.locations
import os
import tempfile
from abc import (
ABCMeta,
abstractmethod,
abstractproperty,
)
import six
[docs]@six.add_metaclass(ABCMeta)
class ToolLocationResolver(object):
"""Parse a URI-like string and return a ToolSource object."""
@abstractproperty
def scheme(self):
"""Short label for the type of location resolver and URI scheme."""
[docs] @abstractmethod
def get_tool_source_path(self, uri_like):
"""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."""
handle, filename = tempfile.mkstemp(suffix=uri_like.split("/")[-1])
os.close(handle)
return filename