Skip to content

Commit 5bd5331

Browse files
committed
runserver: Improve handling of '-d' and '-r' switches
* debugger defaults to OFF because that's the safe choice * reloader defaults to whatever the debugger default is if not set explicitly
1 parent d0dbdce commit 5bd5331

File tree

2 files changed

+27
-16
lines changed

2 files changed

+27
-16
lines changed

flask_script/commands.py

Lines changed: 26 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -317,12 +317,15 @@ class Server(Command):
317317
318318
:param host: server host
319319
:param port: server port
320-
:param use_debugger: if False, will no longer use Werkzeug debugger.
320+
:param use_debugger: Flag whether to default to using the Werkzeug debugger.
321321
This can be overriden in the command line
322-
by passing the **-d** flag.
323-
:param use_reloader: if False, will no longer use auto-reloader.
322+
by passing the **-d** or **-D** flag.
323+
Defaults to False, for security.
324+
325+
:param use_reloader: Flag whether to use the auto-reloader.
326+
Default to True when debugging.
324327
This can be overriden in the command line by
325-
passing the **-r** flag.
328+
passing the **-r**/**-R** flag.
326329
:param threaded: should the process handle each request in a separate
327330
thread?
328331
:param processes: number of processes to spawn
@@ -332,14 +335,14 @@ class Server(Command):
332335

333336
help = description = 'Runs the Flask development server i.e. app.run()'
334337

335-
def __init__(self, host='127.0.0.1', port=5000, use_debugger=True,
336-
use_reloader=True, threaded=False, processes=1,
338+
def __init__(self, host='127.0.0.1', port=5000, use_debugger=False,
339+
use_reloader=None, threaded=False, processes=1,
337340
passthrough_errors=False, **options):
338341

339342
self.port = port
340343
self.host = host
341344
self.use_debugger = use_debugger
342-
self.use_reloader = use_reloader
345+
self.use_reloader = use_reloader if use_reloader is not None else use_debugger
343346
self.server_options = options
344347
self.threaded = threaded
345348
self.processes = processes
@@ -377,41 +380,49 @@ def get_options(self):
377380
options += (Option('-d', '--debug',
378381
action='store_true',
379382
dest='use_debugger',
380-
help="(no-op for compatibility)"),)
383+
help="(no-op for compatibility. USE '--no-debug' IN PRODCUTION CODE)",
384+
default=True),)
381385
options += (Option('-D', '--no-debug',
382386
action='store_false',
383387
dest='use_debugger',
384-
default=self.use_debugger),)
388+
help='disable the Werkzeug debugger',
389+
default=True),)
385390

386391
else:
387392
options += (Option('-d', '--debug',
388393
action='store_true',
389394
dest='use_debugger',
390-
default=self.use_debugger),)
395+
help='enable the Werkzeug debugger (DO NOT use in production code)',
396+
default=False),)
391397
options += (Option('-D', '--no-debug',
392398
action='store_false',
393399
dest='use_debugger',
394-
help="(no-op for compatibility)"),)
400+
help="(no-op for compatibility)",
401+
default=False),)
395402

396403
if self.use_reloader:
397404
options += (Option('-r', '--reload',
398405
action='store_true',
399406
dest='use_reloader',
400-
help="(no-op for compatibility)"),)
407+
help="(no-op for compatibility)",
408+
default=True),)
401409
options += (Option('-R', '--no-reload',
402410
action='store_false',
403411
dest='use_reloader',
404-
default=self.use_reloader),)
412+
help='do not monitor Python files for changes',
413+
default=True),)
405414

406415
else:
407416
options += (Option('-r', '--reload',
408417
action='store_true',
409418
dest='use_reloader',
410-
default=self.use_reloader),)
419+
help='monitor Python files for changes',
420+
default=False),)
411421
options += (Option('-R', '--no-reload',
412422
action='store_false',
413423
dest='use_reloader',
414-
help="(no-op for compatibility)"),)
424+
help="(no-op for compatibility)",
425+
default=False),)
415426

416427
return options
417428

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727

2828
setup(
2929
name='Flask-Script',
30-
version='2.0.3',
30+
version='2.0.4',
3131
url='http://github.com/smurfix/flask-script',
3232
download_url = 'https://github.com/smurfix/flask-script/tarball/v2.0.3',
3333
license='BSD',

0 commit comments

Comments
 (0)