from mako.lookup import TemplateLookup
from pylons import config
-from pylons.error import handle_mako_error
from sqlalchemy import engine_from_config
import floof.lib.app_globals as app_globals
import floof.lib.helpers
from floof.config.routing import make_map
-from floof.model import init_model
+import floof.model as model
def load_environment(global_conf, app_conf):
"""Configure the Pylons environment via the ``pylons.config``
# Create the Mako TemplateLookup, with the default auto-escaping
config['pylons.app_globals'].mako_lookup = TemplateLookup(
directories=paths['templates'],
- error_handler=handle_mako_error,
module_directory=os.path.join(app_conf['cache_dir'], 'templates'),
- input_encoding='utf-8', default_filters=['escape'],
- imports=['from webhelpers.html import escape'])
+ input_encoding='utf-8', output_encoding='utf-8',
+ imports=['from webhelpers.html import escape'],
+ default_filters=['escape'])
- # Setup the SQLAlchemy database engine
+ # Setup the SQLAlchemy^W Elixir database engine
engine = engine_from_config(config, 'sqlalchemy.')
- init_model(engine)
+ if model.elixir.options_defaults.get('autoload'):
+ # Reflected tables
+ model.elixir.bind = engine
+ model.metadata.bind = engine
+ model.elixir.setup_all()
+ else:
+ # Non-reflected tables
+ model.init_model(engine)
# CONFIGURATION OPTIONS HERE (note: all config options will override
# any Pylons config options)