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.model.dataset_collections.types
import logging
from abc import (
ABCMeta,
abstractmethod,
)
from typing import (
Iterable,
Mapping,
TYPE_CHECKING,
Union,
)
from galaxy import exceptions
if TYPE_CHECKING:
from galaxy.model import (
DatasetCollection,
DatasetCollectionElement,
DatasetInstance,
)
log = logging.getLogger(__name__)
DatasetInstanceMapping = Mapping[str, Union["DatasetCollection", "DatasetInstance"]]
[docs]
class BaseDatasetCollectionType(metaclass=ABCMeta):
collection_type: str
[docs]
@abstractmethod
def generate_elements(
self, dataset_instances: DatasetInstanceMapping, **kwds
) -> Iterable["DatasetCollectionElement"]:
"""Generate DatasetCollectionElements with corresponding
to the supplied dataset instances or throw exception if
this is not a valid collection of the specified type.
"""
def _validation_failed(self, message):
raise exceptions.ObjectAttributeInvalidException(message)