about summary refs log tree commit diff
path: root/wqflask/utility/startup_config.py
diff options
context:
space:
mode:
authorFrederick Muriuki Muriithi2023-06-15 14:40:37 +0300
committerFrederick Muriuki Muriithi2023-06-20 13:36:50 +0300
commitaa4d213692cb27a903fe1593e2dd3387e638b350 (patch)
treef41cfdf7e369cae767af5534cfc02c9998b9e4a2 /wqflask/utility/startup_config.py
parenta56d857dc1f6dbc25819a4af116139a2f3e14a68 (diff)
downloadgenenetwork2-aa4d213692cb27a903fe1593e2dd3387e638b350.tar.gz
Configs: Introduce Blueprints. Refactor configs in webqtlConfig.
* Introduce flask Blueprints to help with decoupling the various
  modules from the `wqflask/__init__.py` module
* Refactor settings: Create a function
  `base.webqtlConfig.init_app(...)` to handle setting up the
  configurations on the app correctly. Call this function at app
  creation time.
* Move configuration utility functions from `utility.tools` module to
  `utility.configuration` module.
* Use the `get_setting(...)` function to retrieve configuration
  settings from the application.
Diffstat (limited to 'wqflask/utility/startup_config.py')
-rw-r--r--wqflask/utility/startup_config.py23
1 files changed, 11 insertions, 12 deletions
diff --git a/wqflask/utility/startup_config.py b/wqflask/utility/startup_config.py
index 69cac124..5ab43b1a 100644
--- a/wqflask/utility/startup_config.py
+++ b/wqflask/utility/startup_config.py
@@ -1,11 +1,10 @@
 
 from wqflask import app
 
-from utility.tools import WEBSERVER_MODE
-from utility.tools import show_settings
-from utility.tools import get_setting_int
-from utility.tools import get_setting
-from utility.tools import get_setting_bool
+from utility.configuration import show_settings
+from utility.configuration import get_setting_int
+from utility.configuration import get_setting
+from utility.configuration import get_setting_bool
 
 
 BLUE = '\033[94m'
@@ -14,28 +13,28 @@ BOLD = '\033[1m'
 ENDC = '\033[0m'
 
 
-def app_config():
+def app_config(app):
     app.config['SESSION_TYPE'] = app.config.get('SESSION_TYPE', 'filesystem')
     if not app.config.get('SECRET_KEY'):
         import os
         app.config['SECRET_KEY'] = str(os.urandom(24))
-    mode = WEBSERVER_MODE
+    mode = get_setting(app, "WEBSERVER_MODE")
     if mode in ["DEV", "DEBUG"]:
         app.config['TEMPLATES_AUTO_RELOAD'] = True
         if mode == "DEBUG":
             app.debug = True
 
     print("==========================================")
-    show_settings()
+    show_settings(app)
 
-    port = get_setting_int("SERVER_PORT")
+    port = get_setting_int(app, "SERVER_PORT")
 
-    if get_setting_bool("USE_GN_SERVER"):
+    if get_setting_bool(app, "USE_GN_SERVER"):
         print(f"GN2 API server URL is [{BLUE}GN_SERVER_URL{ENDC}]")
         import requests
-        page = requests.get(get_setting("GN_SERVER_URL"))
+        page = requests.get(get_setting(app, "GN_SERVER_URL"))
         if page.status_code != 200:
             raise Exception("API server not found!")
     print(f"GN2 is running. Visit {BLUE}"
           f"[http://localhost:{str(port)}/{ENDC}]"
-          f"({get_setting('WEBSERVER_URL')})")
+          f"({get_setting(app, 'WEBSERVER_URL')})")