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