Mercurial > repos > shellac > guppy_basecaller
diff env/lib/python3.7/site-packages/planemo/database/factory.py @ 2:6af9afd405e9 draft
"planemo upload commit 0a63dd5f4d38a1f6944587f52a8cd79874177fc1"
| author | shellac |
|---|---|
| date | Thu, 14 May 2020 14:56:58 -0400 |
| parents | 26e78fe6e8c4 |
| children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/env/lib/python3.7/site-packages/planemo/database/factory.py Thu May 14 14:56:58 2020 -0400 @@ -0,0 +1,33 @@ +"""Create a DatabaseSource from supplied planemo configuration.""" +from galaxy.tool_util.deps.commands import which + +from .postgres import LocalPostgresDatabaseSource +from .postgres_docker import DockerPostgresDatabaseSource + + +def create_database_source(**kwds): + """Return a :class:`planemo.database.DatabaseSource` for configuration.""" + database_type = kwds.get("database_type", "auto") + if database_type == "auto": + if which("psql"): + database_type = "postgres" + elif which("docker"): + database_type = "postgres_docker" + else: + raise Exception("Cannot find executables for psql or docker, cannot configure a database source.") + + if database_type == "postgres": + return LocalPostgresDatabaseSource(**kwds) + elif database_type == "postgres_docker": + return DockerPostgresDatabaseSource(**kwds) + # TODO + # from .sqlite import SqliteDatabaseSource + # elif database_type == "sqlite": + # return SqliteDatabaseSource(**kwds) + else: + raise Exception("Unknown database type [%s]." % database_type) + + +__all__ = ( + "create_database_source", +)
