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