Mercurial > repos > shellac > guppy_basecaller
diff env/lib/python3.7/site-packages/planemo/database/factory.py @ 0:26e78fe6e8c4 draft
"planemo upload commit c699937486c35866861690329de38ec1a5d9f783"
| author | shellac |
|---|---|
| date | Sat, 02 May 2020 07:14:21 -0400 |
| parents | |
| 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 Sat May 02 07:14:21 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", +)
