rattail-demo/rattail_demo/web/app.py
Lance Edgar c883e79a2a fix: add butterball libcache via fanstatic
using vue 3.4.31 and oruga 0.8.12
2024-06-30 11:55:21 -05:00

50 lines
1.6 KiB
Python

# -*- coding: utf-8; -*-
"""
Pyramid web application
"""
from tailbone import app
from tailbone_corepos.db import CoreOfficeSession, CoreTransSession
def main(global_config, **settings):
"""
This function returns a Pyramid WSGI application.
"""
# prefer demo templates over tailbone
settings.setdefault('mako.directories', ['rattail_demo.web:templates',
'tailbone_corepos:templates',
'tailbone_woocommerce:templates',
'tailbone:templates',])
# for graceful handling of postgres restart
settings.setdefault('retry.attempts', 2)
# make config objects
rattail_config = app.make_rattail_config(settings)
pyramid_config = app.make_pyramid_config(settings)
# configure database sessions
CoreOfficeSession.configure(bind=rattail_config.corepos_engine)
CoreTransSession.configure(bind=rattail_config.coretrans_engine)
# bring in rest of rattail-demo
pyramid_config.include('rattail_demo.web.static')
pyramid_config.include('rattail_demo.web.subscribers')
pyramid_config.include('rattail_demo.web.views')
# for graceful handling of postgres restart
pyramid_config.add_tween('tailbone.tweens.sqlerror_tween_factory',
under='pyramid_tm.tm_tween_factory')
return pyramid_config.make_wsgi_app()
def asgi_main():
"""
This function returns an ASGI application.
"""
from tailbone.asgi import make_asgi_app
return make_asgi_app(main)