Mercurial > piecrust2
comparison piecrust/commands/builtin/serving.py @ 917:33a89139c284
serve: Add `--admin` option to run the administration panel.
- Removed the `admin run` command.
- Cleaned up middlewares a bit.
author | Ludovic Chabant <ludovic@chabant.com> |
---|---|
date | Fri, 29 Sep 2017 08:42:38 -0700 |
parents | f77f9dcba072 |
children |
comparison
equal
deleted
inserted
replaced
916:84ce51430346 | 917:33a89139c284 |
---|---|
38 help="The WSGI server implementation to use", | 38 help="The WSGI server implementation to use", |
39 choices=['werkzeug', 'gunicorn'], | 39 choices=['werkzeug', 'gunicorn'], |
40 default='werkzeug') | 40 default='werkzeug') |
41 | 41 |
42 def run(self, ctx): | 42 def run(self, ctx): |
43 appfactory = ctx.appfactory | |
43 host = ctx.args.address | 44 host = ctx.args.address |
44 port = int(ctx.args.port) | 45 port = int(ctx.args.port) |
45 debug = ctx.args.debug or ctx.args.use_debugger | 46 use_debugger = ctx.args.debug or ctx.args.use_debugger |
46 appfactory = ctx.appfactory | |
47 | 47 |
48 if ctx.args.wsgi == 'werkzeug': | 48 from piecrust.serving.wrappers import run_piecrust_server |
49 from piecrust.serving.wrappers import run_werkzeug_server | 49 run_piecrust_server( |
50 run_werkzeug_server( | 50 ctx.args.wsgi, appfactory, host, port, |
51 appfactory, host, port, | 51 is_cmdline_mode=True, |
52 serve_admin=ctx.args.admin, | 52 serve_admin=ctx.args.admin, |
53 use_debugger=debug, | 53 use_reloader=ctx.args.use_reloader, |
54 use_reloader=ctx.args.use_reloader) | 54 use_debugger=use_debugger) |
55 | |
56 elif ctx.args.wsgi == 'gunicorn': | |
57 from piecrust.serving.wrappers import run_gunicorn_server | |
58 options = { | |
59 'bind': '%s:%s' % (host, port), | |
60 'accesslog': '-', # print access log to stderr | |
61 } | |
62 if debug: | |
63 options['loglevel'] = 'debug' | |
64 if ctx.args.use_reloader: | |
65 options['reload'] = True | |
66 run_gunicorn_server(appfactory, gunicorn_options=options) | |
67 |