summaryrefslogtreecommitdiff
path: root/paste/webkit/conf_setup.py
blob: cf3445718828f5ceb8f4acb363ea970e825618e6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
import sys
import os
from paste import makeapp
from paste import urlparser
from paste import session
from paste import recursive
from paste import httpexceptions
from paste.util.findpackage import find_package

def build_application(conf):
    if not 'publish_dir' in conf:
        print 'You must provide a publish_dir configuration value'
        sys.exit(2)
    directory = conf['publish_dir']
    install_fake_webware = conf.get('install_fake_webware', True)
    if install_fake_webware:
        _install_fake_webware()
    package = find_package(directory)
    app = urlparser.URLParser(directory, package)
    app = makeapp.apply_conf_middleware(
        app, conf,
        [httpexceptions.middleware, session.SessionMiddleware,
         recursive.RecursiveMiddleware])
    app = makeapp.apply_default_middleware(app, conf)
    return app

def install_fake_webware():
    fake_webware_dir = os.path.join(os.path.dirname(__file__),
                                    'FakeWebware')
    if fake_webware_dir in sys.path:
        return
    sys.path.insert(0, fake_webware_dir)
_install_fake_webware = install_fake_webware