import logging from wsgiref.simple_server import make_server from pyramid.config import Configurator from ttfrog.db.manager import db from ttfrog.webserver.routes import routes def configuration(): config = Configurator(settings={ 'sqlalchemy.url': db.url, 'jinja2.directories': 'ttfrog.assets:templates/' }) config.include('pyramid_tm') config.include('pyramid_sqlalchemy') config.include('pyramid_jinja2') config.add_static_view(name='/static', path='ttfrog.assets:static/') config.add_jinja2_renderer('.html', settings_prefix='jinja2.') return config def start(host: str, port: int, debug: bool = False) -> None: logging.debug(f"Configuring webserver with {host=}, {port=}, {debug=}") config = configuration() config.include(routes) config.scan('ttfrog.webserver.views') make_server(host, int(port), config.make_wsgi_app()).serve_forever()