Mercurial > repos > shellac > sam_consensus_v3
diff env/lib/python3.9/site-packages/planemo/database/interface.py @ 0:4f3585e2f14b draft default tip
"planemo upload commit 60cee0fc7c0cda8592644e1aad72851dec82c959"
author | shellac |
---|---|
date | Mon, 22 Mar 2021 18:12:50 +0000 (2021-03-22) |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/env/lib/python3.9/site-packages/planemo/database/interface.py Mon Mar 22 18:12:50 2021 +0000 @@ -0,0 +1,37 @@ +"""Describe the interface classes of the planemo.database package.""" + +import abc + +from six import add_metaclass + + +@add_metaclass(abc.ABCMeta) +class DatabaseSource(object): + """Interface describing a source of profile databases.""" + + @abc.abstractmethod + def create_database(self, identifier): + """Create a database with specified short identifier. + + Throw an exception if it already exists. + """ + + @abc.abstractmethod + def delete_database(self, identifier): + """Delete a database with specified short identifier. + + Throw an exception if it already exists. + """ + + @abc.abstractmethod + def list_databases(self): + """Return identifiers associated with database source.""" + + @abc.abstractmethod + def sqlalchemy_url(self, identifier): + """Return a URL string for use by sqlalchemy.""" + + +__all__ = ( + "DatabaseSource", +)