From d6c514e7d176fcdf6be3e3ca6eb05ea2ea725d71 Mon Sep 17 00:00:00 2001 From: Jocelyn Delande Date: Wed, 19 Aug 2015 22:40:07 +0200 Subject: [PATCH] Adds a way to (re)configure the running app, reloading settings. Currently, there is no way to reset settings after modifying them, which is anoying for tests. --- budget/run.py | 29 ++++++++++++++++++----------- 1 file changed, 18 insertions(+), 11 deletions(-) diff --git a/budget/run.py b/budget/run.py index 1a65022..2e18599 100644 --- a/budget/run.py +++ b/budget/run.py @@ -9,18 +9,25 @@ from api import api app = Flask(__name__) -app.config.from_object("default_settings") -# Deprecations -if 'DEFAULT_MAIL_SENDER' in app.config: - # Since flask-mail 0.8 - warnings.warn( - "DEFAULT_MAIL_SENDER is deprecated in favor of MAIL_DEFAULT_SENDER" - +" and will be removed in further version", - UserWarning - ) - if not 'MAIL_DEFAULT_SENDER' in app.config: - app.config['MAIL_DEFAULT_SENDER'] = DEFAULT_MAIL_SENDER + +def configure(): + """ A way to (re)configure the app, specially reset the settings + """ + app.config.from_object("default_settings") + + # Deprecations + if 'DEFAULT_MAIL_SENDER' in app.config: + # Since flask-mail 0.8 + warnings.warn( + "DEFAULT_MAIL_SENDER is deprecated in favor of MAIL_DEFAULT_SENDER" + +" and will be removed in further version", + UserWarning + ) + if not 'MAIL_DEFAULT_SENDER' in app.config: + app.config['MAIL_DEFAULT_SENDER'] = DEFAULT_MAIL_SENDER + +configure() app.register_blueprint(main)