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.tools.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