/minger_plus/config/environment.py
Python | 45 lines | 27 code | 9 blank | 9 comment | 0 complexity | feefe98e007b937572ba63487ba9e48b MD5 | raw file
- """Pylons environment configuration"""
- import os
- from mako.lookup import TemplateLookup
- from paste.deploy.converters import asbool
- from pylons import config
- from pylons.error import handle_mako_error
- from mongokit.ext.pylons_env import MongoPylonsEnv
- import minger_plus.lib.app_globals as app_globals
- import minger_plus.lib.helpers
- from minger_plus.config.routing import make_map
- def load_environment(global_conf, app_conf):
- """Configure the Pylons environment via the ``pylons.config``
- object
- """
- # Pylons paths
- root = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
- paths = dict(root=root,
- controllers=os.path.join(root, 'controllers'),
- static_files=os.path.join(root, 'public'),
- templates=[os.path.join(root, 'templates')])
- # Initialize config with the basic options
- config.init_app(global_conf, app_conf, package='minger_plus', paths=paths)
- config['routes.map'] = make_map()
- config['pylons.app_globals'] = app_globals.Globals()
- config['pylons.h'] = minger_plus.lib.helpers
- # 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'],
- filesystem_checks=asbool(config['debug']))
- # CONFIGURATION OPTIONS HERE (note: all config options will override
- # any Pylons config options)
- MongoPylonsEnv.init_mongo()