rattail-demo/rattail_demo/web/app.py

50 lines
1.6 KiB
Python
Raw Normal View History

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