Skip to content

Commit

Permalink
Add request method to return db session
Browse files Browse the repository at this point in the history
  • Loading branch information
davismr committed Jan 5, 2025
1 parent 65b74cc commit b0f49cd
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 2 deletions.
10 changes: 8 additions & 2 deletions src/wfrp/character/application.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,6 @@
from sqlalchemy.orm import sessionmaker
from zope.sqlalchemy import register

from wfrp.character.security import SecurityPolicy

DBSession = scoped_session(sessionmaker())
register(DBSession)
Base = declarative_base()
Expand All @@ -18,6 +16,9 @@ def configure_app(global_config, **settings):
DBSession.configure(bind=engine)
Base.metadata.bind = engine
config = Configurator(settings=settings)
# to prevent circular imports
from wfrp.character.security import SecurityPolicy

config.set_security_policy(
SecurityPolicy(
secret=settings["wfrp.character.secret"],
Expand All @@ -26,10 +27,15 @@ def configure_app(global_config, **settings):
config.include("wfrp.character.routes")
config.add_static_view("static", "wfrp.character:static")
config.add_static_view("static_deform", "deform:static")
config.add_request_method(dbsession, reify=True)
config.scan()
return config


def dbsession(request):
return DBSession


def main(global_config, **settings):
"""Return a Pyramid WSGI application."""
config = configure_app(global_config, **settings)
Expand Down
2 changes: 2 additions & 0 deletions tests/conftest.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@

from wfrp.character.application import Base
from wfrp.character.application import DBSession
from wfrp.character.application import dbsession
from wfrp.character.models.character import Character

register(CharacterFactory)
Expand All @@ -18,6 +19,7 @@
def testapp():
engine = engine_from_config({"sqlalchemy.url": "sqlite:///:memory:"}, "sqlalchemy.")
config = testing.setUp()
config.add_request_method(dbsession, reify=True)
config.include("pyramid_chameleon")
config.include("wfrp.character.routes")
config.add_static_view("static", "wfrp.character:static")
Expand Down

0 comments on commit b0f49cd

Please sign in to comment.