Mercurial > kallithea
annotate rhodecode/config/environment.py @ 2310:83e4447077d3 beta
Improved i18n for the comment count (use of ngettext for pluralisation).
author | Vincent Duvert <vincent@duvert.net> |
---|---|
date | Sun, 20 May 2012 10:47:33 +0200 |
parents | e2dbdaf13562 |
children | edfff9f37916 380d6d86da1f |
rev | line source |
---|---|
0 | 1 """Pylons environment configuration""" |
1006
02246101c846
moved out celerypylons import to enviromnet to prevent celery from displaying celeryconfig.py warning
Marcin Kuzminski <marcin@python-works.com>
parents:
760
diff
changeset
|
2 |
02246101c846
moved out celerypylons import to enviromnet to prevent celery from displaying celeryconfig.py warning
Marcin Kuzminski <marcin@python-works.com>
parents:
760
diff
changeset
|
3 import os |
02246101c846
moved out celerypylons import to enviromnet to prevent celery from displaying celeryconfig.py warning
Marcin Kuzminski <marcin@python-works.com>
parents:
760
diff
changeset
|
4 import logging |
2109 | 5 import rhodecode |
1006
02246101c846
moved out celerypylons import to enviromnet to prevent celery from displaying celeryconfig.py warning
Marcin Kuzminski <marcin@python-works.com>
parents:
760
diff
changeset
|
6 |
0 | 7 from mako.lookup import TemplateLookup |
43 | 8 from pylons.configuration import PylonsConfig |
0 | 9 from pylons.error import handle_mako_error |
1006
02246101c846
moved out celerypylons import to enviromnet to prevent celery from displaying celeryconfig.py warning
Marcin Kuzminski <marcin@python-works.com>
parents:
760
diff
changeset
|
10 |
2109 | 11 # don't remove this import it does magic for celery |
12 from rhodecode.lib import celerypylons | |
13 | |
1006
02246101c846
moved out celerypylons import to enviromnet to prevent celery from displaying celeryconfig.py warning
Marcin Kuzminski <marcin@python-works.com>
parents:
760
diff
changeset
|
14 import rhodecode.lib.app_globals as app_globals |
02246101c846
moved out celerypylons import to enviromnet to prevent celery from displaying celeryconfig.py warning
Marcin Kuzminski <marcin@python-works.com>
parents:
760
diff
changeset
|
15 |
547
1e757ac98988
renamed project to rhodecode
Marcin Kuzminski <marcin@python-works.com>
parents:
491
diff
changeset
|
16 from rhodecode.config.routing import make_map |
2109 | 17 |
18 from rhodecode.lib import helpers | |
1036
405b80e4ccd5
Major refactoring, removed when possible calls to app globals.
Marcin Kuzminski <marcin@python-works.com>
parents:
1018
diff
changeset
|
19 from rhodecode.lib.auth import set_available_permissions |
2109 | 20 from rhodecode.lib.utils import repo2db_mapper, make_ui, set_rhodecode_config,\ |
21 load_rcextensions | |
22 from rhodecode.lib.utils2 import engine_from_config, str2bool | |
547
1e757ac98988
renamed project to rhodecode
Marcin Kuzminski <marcin@python-works.com>
parents:
491
diff
changeset
|
23 from rhodecode.model import init_model |
691
7486da5f0628
Refactor codes for scm model
Marcin Kuzminski <marcin@python-works.com>
parents:
688
diff
changeset
|
24 from rhodecode.model.scm import ScmModel |
239
b18f89d6d17f
Adde draft for permissions systems, made all needed decorators, and checks. For future usage in the system.
Marcin Kuzminski <marcin@python-works.com>
parents:
107
diff
changeset
|
25 |
0 | 26 log = logging.getLogger(__name__) |
27 | |
1205
f4807acf643d
added __license__ into main of rhodecode, PEP8ify
Marcin Kuzminski <marcin@python-works.com>
parents:
1036
diff
changeset
|
28 |
365
ec7b76d4bda4
Added initial query skipp when seting up the app.
Marcin Kuzminski <marcin@python-works.com>
parents:
341
diff
changeset
|
29 def load_environment(global_conf, app_conf, initial=False): |
2109 | 30 """ |
31 Configure the Pylons environment via the ``pylons.config`` | |
0 | 32 object |
33 """ | |
43 | 34 config = PylonsConfig() |
631
05528ad948c4
Hacking for git support,and new faster repo scan
Marcin Kuzminski <marcin@python-works.com>
parents:
629
diff
changeset
|
35 |
0 | 36 # Pylons paths |
37 root = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) | |
2109 | 38 paths = dict( |
39 root=root, | |
40 controllers=os.path.join(root, 'controllers'), | |
41 static_files=os.path.join(root, 'public'), | |
42 templates=[os.path.join(root, 'templates')] | |
43 ) | |
0 | 44 |
45 # Initialize config with the basic options | |
547
1e757ac98988
renamed project to rhodecode
Marcin Kuzminski <marcin@python-works.com>
parents:
491
diff
changeset
|
46 config.init_app(global_conf, app_conf, package='rhodecode', paths=paths) |
0 | 47 |
1726
fe8c2e881403
moved pylons config out of global scope for celerypylons
Marcin Kuzminski <marcin@python-works.com>
parents:
1725
diff
changeset
|
48 # store some globals into rhodecode |
1723
64e91067b996
- refactoring to overcome poor usage of global pylons config
Marcin Kuzminski <marcin@python-works.com>
parents:
1401
diff
changeset
|
49 rhodecode.CELERY_ON = str2bool(config['app_conf'].get('use_celery')) |
2299
e2dbdaf13562
Don't clear dbsessions when celery_eager is turned on
Marcin Kuzminski <marcin@python-works.com>
parents:
2109
diff
changeset
|
50 rhodecode.CELERY_EAGER = str2bool(config['app_conf'].get('celery.always.eager')) |
1723
64e91067b996
- refactoring to overcome poor usage of global pylons config
Marcin Kuzminski <marcin@python-works.com>
parents:
1401
diff
changeset
|
51 |
43 | 52 config['routes.map'] = make_map(config) |
53 config['pylons.app_globals'] = app_globals.Globals(config) | |
2109 | 54 config['pylons.h'] = helpers |
2016
6020e3884a58
implements #212 moved default encoding variable into rhodecode-config. It's now possible to change
Marcin Kuzminski <marcin@python-works.com>
parents:
1726
diff
changeset
|
55 rhodecode.CONFIG = config |
2105
926f55b038bc
added initial rc-extension module
Marcin Kuzminski <marcin@python-works.com>
parents:
2016
diff
changeset
|
56 |
2109 | 57 load_rcextensions(root_path=config['here']) |
58 | |
43 | 59 # Setup cache object as early as possible |
60 import pylons | |
61 pylons.cache._push_object(config['pylons.app_globals'].cache) | |
631
05528ad948c4
Hacking for git support,and new faster repo scan
Marcin Kuzminski <marcin@python-works.com>
parents:
629
diff
changeset
|
62 |
0 | 63 # Create the Mako TemplateLookup, with the default auto-escaping |
41
71ffa932799d
Added app basic auth.
Marcin Kuzminski <marcin@python-blog.com>
parents:
32
diff
changeset
|
64 config['pylons.app_globals'].mako_lookup = TemplateLookup( |
32
f93b523c0be3
dirty fix for multiple file encodings,
Marcin Kuzminski <marcin@python-blog.com>
parents:
12
diff
changeset
|
65 directories=paths['templates'], |
f93b523c0be3
dirty fix for multiple file encodings,
Marcin Kuzminski <marcin@python-blog.com>
parents:
12
diff
changeset
|
66 error_handler=handle_mako_error, |
f93b523c0be3
dirty fix for multiple file encodings,
Marcin Kuzminski <marcin@python-blog.com>
parents:
12
diff
changeset
|
67 module_directory=os.path.join(app_conf['cache_dir'], 'templates'), |
41
71ffa932799d
Added app basic auth.
Marcin Kuzminski <marcin@python-blog.com>
parents:
32
diff
changeset
|
68 input_encoding='utf-8', default_filters=['escape'], |
71ffa932799d
Added app basic auth.
Marcin Kuzminski <marcin@python-blog.com>
parents:
32
diff
changeset
|
69 imports=['from webhelpers.html import escape']) |
0 | 70 |
2016
6020e3884a58
implements #212 moved default encoding variable into rhodecode-config. It's now possible to change
Marcin Kuzminski <marcin@python-works.com>
parents:
1726
diff
changeset
|
71 # sets the c attribute access when don't existing attribute are accessed |
107
5e2470ebdbc6
Added repo switcher, in base and long term caching for this.
Marcin Kuzminski <marcin@python-works.com>
parents:
49
diff
changeset
|
72 config['pylons.strict_tmpl_context'] = True |
473
6b934c9607e7
Improved testing scenarios. Made test env creator
Marcin Kuzminski <marcin@python-works.com>
parents:
469
diff
changeset
|
73 test = os.path.split(config['__file__'])[-1] == 'test.ini' |
6b934c9607e7
Improved testing scenarios. Made test env creator
Marcin Kuzminski <marcin@python-works.com>
parents:
469
diff
changeset
|
74 if test: |
547
1e757ac98988
renamed project to rhodecode
Marcin Kuzminski <marcin@python-works.com>
parents:
491
diff
changeset
|
75 from rhodecode.lib.utils import create_test_env, create_test_index |
688
8acbfa837180
Tests rewrite for 1.2 added some globals configs to make tests easier.
Marcin Kuzminski <marcin@python-works.com>
parents:
665
diff
changeset
|
76 from rhodecode.tests import TESTS_TMP_PATH |
8acbfa837180
Tests rewrite for 1.2 added some globals configs to make tests easier.
Marcin Kuzminski <marcin@python-works.com>
parents:
665
diff
changeset
|
77 create_test_env(TESTS_TMP_PATH, config) |
1725
2370fc2a04f2
reverted whoosh for tests
Marcin Kuzminski <marcin@python-works.com>
parents:
1723
diff
changeset
|
78 create_test_index(TESTS_TMP_PATH, config, True) |
631
05528ad948c4
Hacking for git support,and new faster repo scan
Marcin Kuzminski <marcin@python-works.com>
parents:
629
diff
changeset
|
79 |
2016
6020e3884a58
implements #212 moved default encoding variable into rhodecode-config. It's now possible to change
Marcin Kuzminski <marcin@python-works.com>
parents:
1726
diff
changeset
|
80 # MULTIPLE DB configs |
43 | 81 # Setup the SQLAlchemy database engine |
1360
1f47adeb67c2
Bumped sqlalchemy version to 0.7, replaced timerproxy with new event system for sqlalchemy.
Marcin Kuzminski <marcin@python-works.com>
parents:
1300
diff
changeset
|
82 sa_engine_db1 = engine_from_config(config, 'sqlalchemy.db1.') |
43 | 83 |
49
3ada2f409c1c
Added sqlalchemy support
Marcin Kuzminski <marcin@python-blog.com>
parents:
43
diff
changeset
|
84 init_model(sa_engine_db1) |
631
05528ad948c4
Hacking for git support,and new faster repo scan
Marcin Kuzminski <marcin@python-works.com>
parents:
629
diff
changeset
|
85 |
1036
405b80e4ccd5
Major refactoring, removed when possible calls to app globals.
Marcin Kuzminski <marcin@python-works.com>
parents:
1018
diff
changeset
|
86 repos_path = make_ui('db').configitems('paths')[0][1] |
405b80e4ccd5
Major refactoring, removed when possible calls to app globals.
Marcin Kuzminski <marcin@python-works.com>
parents:
1018
diff
changeset
|
87 repo2db_mapper(ScmModel().repo_scan(repos_path)) |
239
b18f89d6d17f
Adde draft for permissions systems, made all needed decorators, and checks. For future usage in the system.
Marcin Kuzminski <marcin@python-works.com>
parents:
107
diff
changeset
|
88 set_available_permissions(config) |
1036
405b80e4ccd5
Major refactoring, removed when possible calls to app globals.
Marcin Kuzminski <marcin@python-works.com>
parents:
1018
diff
changeset
|
89 config['base_path'] = repos_path |
548
b75b77ef649d
renamed hg_app to rhodecode
Marcin Kuzminski <marcin@python-works.com>
parents:
547
diff
changeset
|
90 set_rhodecode_config(config) |
0 | 91 # CONFIGURATION OPTIONS HERE (note: all config options will override |
92 # any Pylons config options) | |
631
05528ad948c4
Hacking for git support,and new faster repo scan
Marcin Kuzminski <marcin@python-works.com>
parents:
629
diff
changeset
|
93 |
2016
6020e3884a58
implements #212 moved default encoding variable into rhodecode-config. It's now possible to change
Marcin Kuzminski <marcin@python-works.com>
parents:
1726
diff
changeset
|
94 # store config reference into our module to skip import magic of |
6020e3884a58
implements #212 moved default encoding variable into rhodecode-config. It's now possible to change
Marcin Kuzminski <marcin@python-works.com>
parents:
1726
diff
changeset
|
95 # pylons |
6020e3884a58
implements #212 moved default encoding variable into rhodecode-config. It's now possible to change
Marcin Kuzminski <marcin@python-works.com>
parents:
1726
diff
changeset
|
96 rhodecode.CONFIG.update(config) |
43 | 97 return config |