Initial import
This commit is contained in:
@@ -0,0 +1,59 @@
|
||||
import logging
|
||||
|
||||
from tg import MinimalApplicationConfigurator
|
||||
from tg.configurator.components.statics import StaticsConfigurationComponent
|
||||
from tg.configurator.components.sqlalchemy import SQLAlchemyConfigurationComponent
|
||||
from tg.util.bunch import Bunch
|
||||
|
||||
from wsgiref.simple_server import make_server
|
||||
import webhelpers2
|
||||
|
||||
from ttfrog.webserver import controllers
|
||||
from ttfrog.db import db
|
||||
import ttfrog.path
|
||||
|
||||
|
||||
def app_globals():
|
||||
return Bunch
|
||||
|
||||
|
||||
def application():
|
||||
"""
|
||||
Create a TurboGears2 application
|
||||
"""
|
||||
|
||||
config = MinimalApplicationConfigurator()
|
||||
config.register(StaticsConfigurationComponent)
|
||||
config.register(SQLAlchemyConfigurationComponent)
|
||||
config.update_blueprint({
|
||||
|
||||
# rendering
|
||||
'root_controller': controllers.RootController(),
|
||||
'default_renderer': 'jinja',
|
||||
'renderers': ['jinja'],
|
||||
'tg.jinja_filters': {},
|
||||
'auto_reload_templates': True,
|
||||
|
||||
# helpers
|
||||
'app_globals': app_globals,
|
||||
'helpers': webhelpers2,
|
||||
'tw2.enabled': True,
|
||||
|
||||
# assets
|
||||
'serve_static': True,
|
||||
'paths': {
|
||||
'static_files': ttfrog.path.static_files(),
|
||||
'templates': [ttfrog.path.templates()],
|
||||
},
|
||||
|
||||
# db
|
||||
'use_sqlalchemy': True,
|
||||
'sqlalchemy.url': db.url,
|
||||
'model': db,
|
||||
})
|
||||
return config.make_wsgi_app()
|
||||
|
||||
|
||||
def start(host: str, port: int, debug: bool = False) -> None:
|
||||
logging.debug(f"Configuring webserver with {host=}, {port=}, {debug=}")
|
||||
make_server(host, int(port), application()).serve_forever()
|
||||
@@ -0,0 +1,16 @@
|
||||
from tg import expose
|
||||
from tg import TGController
|
||||
from tg import tmpl_context
|
||||
from ttfrog.db import db
|
||||
from ttfrog.db.schema import Character
|
||||
|
||||
|
||||
class RootController(TGController):
|
||||
|
||||
def _before(self, *args, **kwargs):
|
||||
tmpl_context.project_name = 'TableTop Frog'
|
||||
|
||||
@expose('index.html')
|
||||
def index(self):
|
||||
ancestries = [row._mapping for row in db.query(db.ancestry).all()]
|
||||
return dict(page='index', content=str(ancestries))
|
||||
Reference in New Issue
Block a user