From b36758b1de6e7609129359d7f48a92558834e22d Mon Sep 17 00:00:00 2001 From: Frederick Muriuki Muriithi Date: Tue, 20 Jun 2023 14:33:22 +0300 Subject: Create new entry-point module to reduce chances of circular imports. This commit creates a new entry-point module (wqflask/gn2_main.py) and imports all the other modules that import the application object with something like: `from wqflask import app` This breaks the subtle circular-import cycle that tends to cause a lot of inconveniences when developing the application. --- wqflask/gn2_main.py | 19 +++++++++++++++++++ wqflask/run_gunicorn.py | 2 +- wqflask/runserver.py | 2 +- wqflask/wqflask/__init__.py | 16 ---------------- 4 files changed, 21 insertions(+), 18 deletions(-) create mode 100644 wqflask/gn2_main.py diff --git a/wqflask/gn2_main.py b/wqflask/gn2_main.py new file mode 100644 index 00000000..11f24d3b --- /dev/null +++ b/wqflask/gn2_main.py @@ -0,0 +1,19 @@ +"""Main application entry point.""" + +from wqflask import app + + +from wqflask import docs +from wqflask import gsearch +from wqflask import db_info +from wqflask import user_login +from wqflask.api import router +from wqflask import user_session +from wqflask import group_manager +from wqflask import export_traits +from wqflask import search_results +from wqflask import resource_manager +from wqflask import update_search_results + +import wqflask.views +import wqflask.partial_correlations_views diff --git a/wqflask/run_gunicorn.py b/wqflask/run_gunicorn.py index 03f310eb..af117466 100644 --- a/wqflask/run_gunicorn.py +++ b/wqflask/run_gunicorn.py @@ -9,7 +9,7 @@ print("===> Starting up Gunicorn process") -from wqflask import app +from gn2_main import app from utility.startup_config import app_config app_config() diff --git a/wqflask/runserver.py b/wqflask/runserver.py index fee29be1..0ec4846a 100644 --- a/wqflask/runserver.py +++ b/wqflask/runserver.py @@ -7,7 +7,7 @@ # # /sbin/iptables -A INPUT -p tcp -i eth0 -s ! 71.236.239.43 --dport 5003 -j DROP -from wqflask import app +from gn2_main import app from utility.startup_config import app_config from utility.tools import WEBSERVER_MODE, SERVER_PORT diff --git a/wqflask/wqflask/__init__.py b/wqflask/wqflask/__init__.py index 140e94ad..d444161e 100644 --- a/wqflask/wqflask/__init__.py +++ b/wqflask/wqflask/__init__.py @@ -114,19 +114,3 @@ def include_admin_role_class(): @app.context_processor def include_data_role_class(): return {'DataRole': DataRole} - - -from wqflask.api import router -from wqflask import group_manager -from wqflask import resource_manager -from wqflask import search_results -from wqflask import export_traits -from wqflask import gsearch -from wqflask import update_search_results -from wqflask import docs -from wqflask import db_info -from wqflask import user_login -from wqflask import user_session - -import wqflask.views -import wqflask.partial_correlations_views -- cgit 1.4.1