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