author | Christophe de Vienne <christophe@unlish.com> |
Thu, 21 Aug 2014 21:55:58 +0200 | |
changeset 11501 | fcf7f99fad4a |
parent 11492 | b0b8942cdb80 |
child 11503 | ddf61aa73384 |
permissions | -rw-r--r-- |
11501
fcf7f99fad4a
Add a make_cubicweb_application function
Christophe de Vienne <christophe@unlish.com>
parents:
11492
diff
changeset
|
1 |
from pyramid.config import Configurator |
fcf7f99fad4a
Add a make_cubicweb_application function
Christophe de Vienne <christophe@unlish.com>
parents:
11492
diff
changeset
|
2 |
|
fcf7f99fad4a
Add a make_cubicweb_application function
Christophe de Vienne <christophe@unlish.com>
parents:
11492
diff
changeset
|
3 |
|
fcf7f99fad4a
Add a make_cubicweb_application function
Christophe de Vienne <christophe@unlish.com>
parents:
11492
diff
changeset
|
4 |
def make_cubicweb_application(cwconfig): |
fcf7f99fad4a
Add a make_cubicweb_application function
Christophe de Vienne <christophe@unlish.com>
parents:
11492
diff
changeset
|
5 |
""" |
fcf7f99fad4a
Add a make_cubicweb_application function
Christophe de Vienne <christophe@unlish.com>
parents:
11492
diff
changeset
|
6 |
Create a pyramid-based CubicWeb instance from a cubicweb configuration. |
fcf7f99fad4a
Add a make_cubicweb_application function
Christophe de Vienne <christophe@unlish.com>
parents:
11492
diff
changeset
|
7 |
|
fcf7f99fad4a
Add a make_cubicweb_application function
Christophe de Vienne <christophe@unlish.com>
parents:
11492
diff
changeset
|
8 |
It is initialy meant to be used by the 'pyramid' command of cubicweb-ctl. |
fcf7f99fad4a
Add a make_cubicweb_application function
Christophe de Vienne <christophe@unlish.com>
parents:
11492
diff
changeset
|
9 |
""" |
fcf7f99fad4a
Add a make_cubicweb_application function
Christophe de Vienne <christophe@unlish.com>
parents:
11492
diff
changeset
|
10 |
settings = { |
fcf7f99fad4a
Add a make_cubicweb_application function
Christophe de Vienne <christophe@unlish.com>
parents:
11492
diff
changeset
|
11 |
'session.secret': '11', # XXX |
fcf7f99fad4a
Add a make_cubicweb_application function
Christophe de Vienne <christophe@unlish.com>
parents:
11492
diff
changeset
|
12 |
} |
fcf7f99fad4a
Add a make_cubicweb_application function
Christophe de Vienne <christophe@unlish.com>
parents:
11492
diff
changeset
|
13 |
if cwconfig.debugmode: |
fcf7f99fad4a
Add a make_cubicweb_application function
Christophe de Vienne <christophe@unlish.com>
parents:
11492
diff
changeset
|
14 |
settings.update({ |
fcf7f99fad4a
Add a make_cubicweb_application function
Christophe de Vienne <christophe@unlish.com>
parents:
11492
diff
changeset
|
15 |
'pyramid.debug_authorization': True, |
fcf7f99fad4a
Add a make_cubicweb_application function
Christophe de Vienne <christophe@unlish.com>
parents:
11492
diff
changeset
|
16 |
'pyramid.debug_notfound': True, |
fcf7f99fad4a
Add a make_cubicweb_application function
Christophe de Vienne <christophe@unlish.com>
parents:
11492
diff
changeset
|
17 |
'pyramid.debug_routematch': True, |
fcf7f99fad4a
Add a make_cubicweb_application function
Christophe de Vienne <christophe@unlish.com>
parents:
11492
diff
changeset
|
18 |
}) |
fcf7f99fad4a
Add a make_cubicweb_application function
Christophe de Vienne <christophe@unlish.com>
parents:
11492
diff
changeset
|
19 |
config = Configurator(settings=settings) |
fcf7f99fad4a
Add a make_cubicweb_application function
Christophe de Vienne <christophe@unlish.com>
parents:
11492
diff
changeset
|
20 |
if cwconfig.debugmode: |
fcf7f99fad4a
Add a make_cubicweb_application function
Christophe de Vienne <christophe@unlish.com>
parents:
11492
diff
changeset
|
21 |
config.include('pyramid_debugtoolbar') |
fcf7f99fad4a
Add a make_cubicweb_application function
Christophe de Vienne <christophe@unlish.com>
parents:
11492
diff
changeset
|
22 |
config.registry['cubicweb.config'] = cwconfig |
fcf7f99fad4a
Add a make_cubicweb_application function
Christophe de Vienne <christophe@unlish.com>
parents:
11492
diff
changeset
|
23 |
config.registry['cubicweb.repository'] = repo = cwconfig.repository() |
fcf7f99fad4a
Add a make_cubicweb_application function
Christophe de Vienne <christophe@unlish.com>
parents:
11492
diff
changeset
|
24 |
config.registry['cubicweb.registry'] = repo.vreg |
fcf7f99fad4a
Add a make_cubicweb_application function
Christophe de Vienne <christophe@unlish.com>
parents:
11492
diff
changeset
|
25 |
config.include('pyramid_cubicweb.defaults') |
fcf7f99fad4a
Add a make_cubicweb_application function
Christophe de Vienne <christophe@unlish.com>
parents:
11492
diff
changeset
|
26 |
config.include('pyramid_cubicweb.core') |
fcf7f99fad4a
Add a make_cubicweb_application function
Christophe de Vienne <christophe@unlish.com>
parents:
11492
diff
changeset
|
27 |
config.include('pyramid_cubicweb.bwcompat') |
fcf7f99fad4a
Add a make_cubicweb_application function
Christophe de Vienne <christophe@unlish.com>
parents:
11492
diff
changeset
|
28 |
return config |