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.files.sources.basespace

try:
    from fs_basespace import BASESPACEFS
except ImportError:
    BASESPACEFS = None

from typing import (
    Optional,
    Union,
)

from galaxy.files.models import (
    BaseFileSourceConfiguration,
    BaseFileSourceTemplateConfiguration,
    FilesSourceRuntimeContext,
)
from galaxy.util.config_templates import TemplateExpansion
from ._pyfilesystem2 import PyFilesystem2FilesSource


class BaseSpaceFileSourceTemplateConfiguration(BaseFileSourceTemplateConfiguration):
    dir_path: Union[str, TemplateExpansion, None] = "/"
    client_id: Union[str, TemplateExpansion, None] = None
    client_secret: Union[str, TemplateExpansion, None] = None
    access_token: Union[str, TemplateExpansion, None] = None
    basespace_server: Union[str, TemplateExpansion, None] = None


class BaseSpaceFileSourceConfiguration(BaseFileSourceConfiguration):
    dir_path: Optional[str] = "/"
    client_id: Optional[str] = None
    client_secret: Optional[str] = None
    access_token: Optional[str] = None
    basespace_server: Optional[str] = None


[docs] class BaseSpaceFilesSource( PyFilesystem2FilesSource[BaseSpaceFileSourceTemplateConfiguration, BaseSpaceFileSourceConfiguration] ): plugin_type = "basespace" required_module = BASESPACEFS required_package = "fs-basespace" template_config_class = BaseSpaceFileSourceTemplateConfiguration resolved_config_class = BaseSpaceFileSourceConfiguration def _open_fs(self, context: FilesSourceRuntimeContext[BaseSpaceFileSourceConfiguration]): if BASESPACEFS is None: raise self.required_package_exception config = context.config return BASESPACEFS( dir_path=config.dir_path, client_id=config.client_id, client_secret=config.client_secret, access_token=config.access_token, basespace_server=config.basespace_server, )
__all__ = ("BaseSpaceFilesSource",)