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.tool_shed_install.mapping
from typing import (
Any,
TYPE_CHECKING,
Union,
)
from galaxy.model import tool_shed_install as install_model
from galaxy.model.base import ModelMapping
from galaxy.model.orm.engine_factory import build_engine
from galaxy.model.tool_shed_install import mapper_registry
if TYPE_CHECKING:
from sqlalchemy.engine import Engine
metadata = mapper_registry.metadata
[docs]
def init(url: str, engine_options: Union[dict[str, Any], None] = None, create_tables: bool = False) -> ModelMapping:
engine = build_engine(url, engine_options)
if create_tables:
create_database_objects(engine)
return configure_model_mapping(engine)
[docs]
def create_database_objects(engine: "Engine") -> None:
mapper_registry.metadata.create_all(bind=engine)
[docs]
def configure_model_mapping(engine: "Engine") -> ModelMapping:
# TODO: do we need to load local galaxy security policy?
return ModelMapping([install_model], engine)