diff options
| author | J08nY | 2017-06-18 00:52:41 +0200 |
|---|---|---|
| committer | J08nY | 2017-06-18 00:52:41 +0200 |
| commit | aa407033bdb43cf09b1eeff2aa06a80a78ee00d7 (patch) | |
| tree | c5b675fa5e1897399bd4479b443a05b8e405801d /src/mailman_pgp/database | |
| parent | 59624023aa6ce5468cf24bd891faae401a849ec1 (diff) | |
| download | mailman-pgp-aa407033bdb43cf09b1eeff2aa06a80a78ee00d7.tar.gz mailman-pgp-aa407033bdb43cf09b1eeff2aa06a80a78ee00d7.tar.zst mailman-pgp-aa407033bdb43cf09b1eeff2aa06a80a78ee00d7.zip | |
Diffstat (limited to 'src/mailman_pgp/database')
| -rw-r--r-- | src/mailman_pgp/database/__init__.py | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/src/mailman_pgp/database/__init__.py b/src/mailman_pgp/database/__init__.py index b799942..5ea8f94 100644 --- a/src/mailman_pgp/database/__init__.py +++ b/src/mailman_pgp/database/__init__.py @@ -6,7 +6,7 @@ from mailman.config import config as mailman_config from mailman.utilities.string import expand from public import public from sqlalchemy import create_engine -from sqlalchemy.orm import sessionmaker +from sqlalchemy.orm import scoped_session, sessionmaker from mailman_pgp.config import config from mailman_pgp.model.base import Base @@ -16,13 +16,16 @@ from mailman_pgp.model.base import Base class Database: def __init__(self): url = config.get('db', 'url') - self.url = expand(url, None, mailman_config.paths) - self.engine = create_engine(self.url) - Session = sessionmaker(bind=self.engine) - self.session = Session() + self._url = expand(url, None, mailman_config.paths) + self.engine = create_engine(self._url) + self._scoped_session = scoped_session(sessionmaker(bind=self.engine)) Base.metadata.create_all(self.engine) self.session.commit() + @property + def session(self): + return self._scoped_session() + @public @contextmanager |
