Mercurial > public > src > rhodecode
annotate pylons_app/config/environment.py @ 535:fefffd6fd5f4 celery
Added some more tests, rewrite testing schema, to autogenerate fresh db, new index.
cleaned up some codes that involves testing.
author | Marcin Kuzminski <marcin@python-works.com> |
---|---|
date | Tue, 21 Sep 2010 01:08:01 +0200 |
parents | 6b934c9607e7 |
children |
rev | line source |
---|---|
0 | 1 """Pylons environment configuration""" |
2 from mako.lookup import TemplateLookup | |
43 | 3 from pylons.configuration import PylonsConfig |
0 | 4 from pylons.error import handle_mako_error |
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
|
5 from pylons_app.config.routing import make_map |
322
7e4771a0ff43
added base path into config
Marcin Kuzminski <marcin@python-works.com>
parents:
313
diff
changeset
|
6 from pylons_app.lib.auth import set_available_permissions, set_base_path |
364
1ef52a70f3b7
Made config file free configuration based on database and capable of beeing manage via application settings + some code cleanups
Marcin Kuzminski <marcin@python-works.com>
parents:
322
diff
changeset
|
7 from pylons_app.lib.utils import repo2db_mapper, make_ui, set_hg_app_config |
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
|
8 from pylons_app.model import init_model |
265
0e5455fda8fd
Implemented basic repository managment. Implemented repo2db mappings, model, helpers updates and code cleanups
Marcin Kuzminski <marcin@python-works.com>
parents:
252
diff
changeset
|
9 from pylons_app.model.hg_model import _get_repos_cached_initial |
43 | 10 from sqlalchemy import engine_from_config |
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
|
11 import logging |
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
|
12 import os |
0 | 13 import pylons_app.lib.app_globals as app_globals |
14 import pylons_app.lib.helpers | |
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
|
15 |
0 | 16 log = logging.getLogger(__name__) |
17 | |
391
ec7b76d4bda4
Added initial query skipp when seting up the app.
Marcin Kuzminski <marcin@python-works.com>
parents:
364
diff
changeset
|
18 def load_environment(global_conf, app_conf, initial=False): |
0 | 19 """Configure the Pylons environment via the ``pylons.config`` |
20 object | |
21 """ | |
43 | 22 config = PylonsConfig() |
23 | |
0 | 24 # Pylons paths |
25 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
|
26 paths = dict(root=root, |
f93b523c0be3
dirty fix for multiple file encodings,
Marcin Kuzminski <marcin@python-blog.com>
parents:
12
diff
changeset
|
27 controllers=os.path.join(root, 'controllers'), |
f93b523c0be3
dirty fix for multiple file encodings,
Marcin Kuzminski <marcin@python-blog.com>
parents:
12
diff
changeset
|
28 static_files=os.path.join(root, 'public'), |
f93b523c0be3
dirty fix for multiple file encodings,
Marcin Kuzminski <marcin@python-blog.com>
parents:
12
diff
changeset
|
29 templates=[os.path.join(root, 'templates')]) |
0 | 30 |
31 # Initialize config with the basic options | |
43 | 32 config.init_app(global_conf, app_conf, package='pylons_app', paths=paths) |
0 | 33 |
43 | 34 config['routes.map'] = make_map(config) |
35 config['pylons.app_globals'] = app_globals.Globals(config) | |
0 | 36 config['pylons.h'] = pylons_app.lib.helpers |
43 | 37 |
38 # Setup cache object as early as possible | |
39 import pylons | |
40 pylons.cache._push_object(config['pylons.app_globals'].cache) | |
41 | |
0 | 42 # 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
|
43 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
|
44 directories=paths['templates'], |
f93b523c0be3
dirty fix for multiple file encodings,
Marcin Kuzminski <marcin@python-blog.com>
parents:
12
diff
changeset
|
45 error_handler=handle_mako_error, |
f93b523c0be3
dirty fix for multiple file encodings,
Marcin Kuzminski <marcin@python-blog.com>
parents:
12
diff
changeset
|
46 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
|
47 input_encoding='utf-8', default_filters=['escape'], |
71ffa932799d
Added app basic auth.
Marcin Kuzminski <marcin@python-blog.com>
parents:
32
diff
changeset
|
48 imports=['from webhelpers.html import escape']) |
0 | 49 |
252
3782a6d698af
licensing updates, code cleanups
Marcin Kuzminski <marcin@python-works.com>
parents:
239
diff
changeset
|
50 #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
|
51 config['pylons.strict_tmpl_context'] = True |
517
6b934c9607e7
Improved testing scenarios. Made test env creator
Marcin Kuzminski <marcin@python-works.com>
parents:
513
diff
changeset
|
52 test = os.path.split(config['__file__'])[-1] == 'test.ini' |
6b934c9607e7
Improved testing scenarios. Made test env creator
Marcin Kuzminski <marcin@python-works.com>
parents:
513
diff
changeset
|
53 if test: |
535
fefffd6fd5f4
Added some more tests, rewrite testing schema, to autogenerate fresh db, new index.
Marcin Kuzminski <marcin@python-works.com>
parents:
517
diff
changeset
|
54 from pylons_app.lib.utils import create_test_env, create_test_index |
fefffd6fd5f4
Added some more tests, rewrite testing schema, to autogenerate fresh db, new index.
Marcin Kuzminski <marcin@python-works.com>
parents:
517
diff
changeset
|
55 create_test_env('/tmp', config) |
fefffd6fd5f4
Added some more tests, rewrite testing schema, to autogenerate fresh db, new index.
Marcin Kuzminski <marcin@python-works.com>
parents:
517
diff
changeset
|
56 create_test_index('/tmp/*', True) |
fefffd6fd5f4
Added some more tests, rewrite testing schema, to autogenerate fresh db, new index.
Marcin Kuzminski <marcin@python-works.com>
parents:
517
diff
changeset
|
57 |
43 | 58 #MULTIPLE DB configs |
59 # Setup the SQLAlchemy database engine | |
513
e94f4e54dc03
tests fix, put vcs testing tarball
Marcin Kuzminski <marcin@python-works.com>
parents:
501
diff
changeset
|
60 if config['debug'] and not test: |
49
3ada2f409c1c
Added sqlalchemy support
Marcin Kuzminski <marcin@python-blog.com>
parents:
43
diff
changeset
|
61 #use query time debugging. |
3ada2f409c1c
Added sqlalchemy support
Marcin Kuzminski <marcin@python-blog.com>
parents:
43
diff
changeset
|
62 from pylons_app.lib.timerproxy import TimerProxy |
3ada2f409c1c
Added sqlalchemy support
Marcin Kuzminski <marcin@python-blog.com>
parents:
43
diff
changeset
|
63 sa_engine_db1 = engine_from_config(config, 'sqlalchemy.db1.', |
3ada2f409c1c
Added sqlalchemy support
Marcin Kuzminski <marcin@python-blog.com>
parents:
43
diff
changeset
|
64 proxy=TimerProxy()) |
3ada2f409c1c
Added sqlalchemy support
Marcin Kuzminski <marcin@python-blog.com>
parents:
43
diff
changeset
|
65 else: |
3ada2f409c1c
Added sqlalchemy support
Marcin Kuzminski <marcin@python-blog.com>
parents:
43
diff
changeset
|
66 sa_engine_db1 = engine_from_config(config, 'sqlalchemy.db1.') |
43 | 67 |
49
3ada2f409c1c
Added sqlalchemy support
Marcin Kuzminski <marcin@python-blog.com>
parents:
43
diff
changeset
|
68 init_model(sa_engine_db1) |
421
3bcf9529d221
Added new application settings,Push ssl and repositories path
Marcin Kuzminski <marcin@python-works.com>
parents:
391
diff
changeset
|
69 #init baseui |
364
1ef52a70f3b7
Made config file free configuration based on database and capable of beeing manage via application settings + some code cleanups
Marcin Kuzminski <marcin@python-works.com>
parents:
322
diff
changeset
|
70 config['pylons.app_globals'].baseui = make_ui('db') |
1ef52a70f3b7
Made config file free configuration based on database and capable of beeing manage via application settings + some code cleanups
Marcin Kuzminski <marcin@python-works.com>
parents:
322
diff
changeset
|
71 |
391
ec7b76d4bda4
Added initial query skipp when seting up the app.
Marcin Kuzminski <marcin@python-works.com>
parents:
364
diff
changeset
|
72 repo2db_mapper(_get_repos_cached_initial(config['pylons.app_globals'], initial)) |
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
|
73 set_available_permissions(config) |
322
7e4771a0ff43
added base path into config
Marcin Kuzminski <marcin@python-works.com>
parents:
313
diff
changeset
|
74 set_base_path(config) |
364
1ef52a70f3b7
Made config file free configuration based on database and capable of beeing manage via application settings + some code cleanups
Marcin Kuzminski <marcin@python-works.com>
parents:
322
diff
changeset
|
75 set_hg_app_config(config) |
0 | 76 # CONFIGURATION OPTIONS HERE (note: all config options will override |
77 # any Pylons config options) | |
43 | 78 |
79 return config |