Browse Source

Remove unnecessary checks and reformat NoAppException messages

pull/2297/head
Hendrik Makait 8 years ago
parent
commit
b4eb6534d5
  1. 26
      flask/cli.py

26
flask/cli.py

@ -37,7 +37,7 @@ def find_best_app(module):
# Search for the most common names first. # Search for the most common names first.
for attr_name in 'app', 'application': for attr_name in 'app', 'application':
app = getattr(module, attr_name, None) app = getattr(module, attr_name, None)
if app is not None and isinstance(app, Flask): if isinstance(app, Flask):
return app return app
# Otherwise find the only object that is a Flask instance. # Otherwise find the only object that is a Flask instance.
@ -50,21 +50,23 @@ def find_best_app(module):
# Search for app factory callables. # Search for app factory callables.
for attr_name in 'create_app', 'make_app': for attr_name in 'create_app', 'make_app':
app_factory = getattr(module, attr_name, None) app_factory = getattr(module, attr_name, None)
if app_factory is not None and callable(app_factory): if callable(app_factory):
try: try:
app = app_factory() app = app_factory()
if app is not None and isinstance(app, Flask): if isinstance(app, Flask):
return app return app
except TypeError: except TypeError:
raise NoAppException('Auto-detected "%s()" in module "%s", ' raise NoAppException(
'but could not call it without ' 'Auto-detected "{callable}()" in module "{module}", but '
'specifying arguments.' 'could not call it without specifying arguments.'
% (attr_name, module.__name__)) .format(callable=attr_name,
module=module.__name__))
raise NoAppException('Failed to find application in module "%s". Are '
'you sure it contains a Flask application? Maybe ' raise NoAppException(
'you wrapped it in a WSGI middleware or you are ' 'Failed to find application in module "{module}". Are you sure '
'using a factory function.' % module.__name__) 'it contains a Flask application? Maybe you wrapped it in a WSGI '
'middleware or you are using a factory function.'
.format(module=module.__name__))
def prepare_exec_for_file(filename): def prepare_exec_for_file(filename):

Loading…
Cancel
Save