Mercurial > piecrust2
comparison piecrust/wsgiutil/__init__.py @ 897:b4156f5d4368
wsgi: Add admin panel to WSGI helpers.
author | Ludovic Chabant <ludovic@chabant.com> |
---|---|
date | Sat, 08 Jul 2017 22:01:00 -0700 |
parents | 81d9c3a3a0b5 |
children | 7ecb946bfafd |
comparison
equal
deleted
inserted
replaced
896:85d2b386b971 | 897:b4156f5d4368 |
---|---|
1 import logging | |
1 from piecrust.serving.server import WsgiServer | 2 from piecrust.serving.server import WsgiServer |
2 | 3 |
3 | 4 |
4 def get_app(root_dir, cache_key='prod', enable_debug_info=False): | 5 def _setup_logging(log_file, log_level, max_log_bytes, log_backup_count): |
6 if log_file: | |
7 from logging.handlers import RotatingFileHandler | |
8 handler = RotatingFileHandler(log_file, maxBytes=max_log_bytes, | |
9 backupCount=log_backup_count) | |
10 handler.setLevel(log_level) | |
11 logging.getLogger().addHandler(handler) | |
12 | |
13 | |
14 def get_app(root_dir, *, | |
15 cache_key='prod', | |
16 enable_debug_info=False, | |
17 log_file=None, | |
18 log_level=logging.INFO, | |
19 log_backup_count=0, | |
20 max_log_bytes=4096): | |
21 _setup_logging(log_file, log_level, max_log_bytes, log_backup_count) | |
5 app = WsgiServer(root_dir, | 22 app = WsgiServer(root_dir, |
6 cache_key=cache_key, | 23 cache_key=cache_key, |
7 enable_debug_info=enable_debug_info) | 24 enable_debug_info=enable_debug_info) |
8 return app | 25 return app |
9 | 26 |
27 | |
28 def get_admin_app(root_dir, *, | |
29 url_prefix='pc-admin', | |
30 log_file=None, | |
31 log_level=logging.INFO, | |
32 log_backup_count=0, | |
33 max_log_bytes=4096): | |
34 _setup_logging(log_file, log_level, max_log_bytes, log_backup_count) | |
35 es = { | |
36 'FOODTRUCK_ROOT': root_dir, | |
37 'FOODTRUCK_URL_PREFIX': url_prefix} | |
38 from piecrust.admin.web import create_foodtruck_app | |
39 app = create_foodtruck_app(es) | |
40 return app | |
41 |