annotate pylons_app/config/environment.py @ 32:f93b523c0be3

dirty fix for multiple file encodings,
author Marcin Kuzminski <marcin@python-blog.com>
date Fri, 05 Mar 2010 01:14:30 +0100
parents 5f30a6d558dc
children 71ffa932799d
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
1 """Pylons environment configuration"""
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
2 import logging
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
3 import os
12
5f30a6d558dc Added pylons manage script
Marcin Kuzminski
parents: 0
diff changeset
4
0
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
5 from mako.lookup import TemplateLookup
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
6 from pylons.error import handle_mako_error
12
5f30a6d558dc Added pylons manage script
Marcin Kuzminski
parents: 0
diff changeset
7 from pylons import config
5f30a6d558dc Added pylons manage script
Marcin Kuzminski
parents: 0
diff changeset
8
0
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
9 import pylons_app.lib.app_globals as app_globals
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
10 import pylons_app.lib.helpers
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
11 from pylons_app.config.routing import make_map
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
12
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
13 log = logging.getLogger(__name__)
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
14
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
15 def load_environment(global_conf, app_conf):
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
16 """Configure the Pylons environment via the ``pylons.config``
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
17 object
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
18 """
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
19 # Pylons paths
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
20 root = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
32
f93b523c0be3 dirty fix for multiple file encodings,
Marcin Kuzminski <marcin@python-blog.com>
parents: 12
diff changeset
21 paths = dict(root=root,
f93b523c0be3 dirty fix for multiple file encodings,
Marcin Kuzminski <marcin@python-blog.com>
parents: 12
diff changeset
22 controllers=os.path.join(root, 'controllers'),
f93b523c0be3 dirty fix for multiple file encodings,
Marcin Kuzminski <marcin@python-blog.com>
parents: 12
diff changeset
23 static_files=os.path.join(root, 'public'),
f93b523c0be3 dirty fix for multiple file encodings,
Marcin Kuzminski <marcin@python-blog.com>
parents: 12
diff changeset
24 templates=[os.path.join(root, 'templates')])
0
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
25
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
26 # Initialize config with the basic options
32
f93b523c0be3 dirty fix for multiple file encodings,
Marcin Kuzminski <marcin@python-blog.com>
parents: 12
diff changeset
27 config.init_app(global_conf, app_conf, package='pylons_app',
f93b523c0be3 dirty fix for multiple file encodings,
Marcin Kuzminski <marcin@python-blog.com>
parents: 12
diff changeset
28 template_engine='mako', paths=paths)
0
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
29
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
30 config['routes.map'] = make_map()
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
31 config['pylons.g'] = app_globals.Globals()
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
32 config['pylons.h'] = pylons_app.lib.helpers
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
33
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
34 # Create the Mako TemplateLookup, with the default auto-escaping
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
35 config['pylons.g'].mako_lookup = TemplateLookup(
32
f93b523c0be3 dirty fix for multiple file encodings,
Marcin Kuzminski <marcin@python-blog.com>
parents: 12
diff changeset
36 directories=paths['templates'],
f93b523c0be3 dirty fix for multiple file encodings,
Marcin Kuzminski <marcin@python-blog.com>
parents: 12
diff changeset
37 error_handler=handle_mako_error,
f93b523c0be3 dirty fix for multiple file encodings,
Marcin Kuzminski <marcin@python-blog.com>
parents: 12
diff changeset
38 module_directory=os.path.join(app_conf['cache_dir'], 'templates'),
f93b523c0be3 dirty fix for multiple file encodings,
Marcin Kuzminski <marcin@python-blog.com>
parents: 12
diff changeset
39 output_encoding='utf-8',
f93b523c0be3 dirty fix for multiple file encodings,
Marcin Kuzminski <marcin@python-blog.com>
parents: 12
diff changeset
40 imports=['from webhelpers.html import escape'],
f93b523c0be3 dirty fix for multiple file encodings,
Marcin Kuzminski <marcin@python-blog.com>
parents: 12
diff changeset
41 default_filters=['escape'])
0
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
42
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
43 # CONFIGURATION OPTIONS HERE (note: all config options will override
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
44 # any Pylons config options)