From 051952848a5a1461fb52ace6bd528ce7b7de19f6 Mon Sep 17 00:00:00 2001 From: Joao Pereira and Oliver Switzer Date: Thu, 20 Apr 2017 16:57:20 -0400 Subject: [PATCH 2/2] - Removed execution of the setup file when application starts - Move creation of app directory to its own file --- web/pgAdmin4.py | 8 +++----- web/pgadmin/setup/__init__.py | 1 + web/pgadmin/setup/create_directory_for_app_data.py | 12 ++++++++++++ web/setup.py | 5 ++--- 4 files changed, 18 insertions(+), 8 deletions(-) create mode 100644 web/pgadmin/setup/create_directory_for_app_data.py diff --git a/web/pgAdmin4.py b/web/pgAdmin4.py index 74dcc503..88075366 100644 --- a/web/pgAdmin4.py +++ b/web/pgAdmin4.py @@ -32,11 +32,9 @@ config.SETTINGS_SCHEMA_VERSION = SCHEMA_VERSION # Sanity checks ########################################################################## -from pgadmin.utils import u, fs_encoding, file_quote -setupfile = os.path.join( - os.path.dirname(os.path.realpath(u(__file__, fs_encoding))), u'setup.py' -) -exec(open(file_quote(setupfile), 'r').read()) +from pgadmin.setup import create_directory_for_app_data + +create_directory_for_app_data(config.SQLITE_PATH) ########################################################################## # Server starup diff --git a/web/pgadmin/setup/__init__.py b/web/pgadmin/setup/__init__.py index cdd267ad..5d8aa91d 100644 --- a/web/pgadmin/setup/__init__.py +++ b/web/pgadmin/setup/__init__.py @@ -10,3 +10,4 @@ from .user_info import user_info from .db_version import get_version from .db_upgrade import db_upgrade +from .create_directory_for_app_data import create_directory_for_app_data diff --git a/web/pgadmin/setup/create_directory_for_app_data.py b/web/pgadmin/setup/create_directory_for_app_data.py new file mode 100644 index 00000000..dd3a305a --- /dev/null +++ b/web/pgadmin/setup/create_directory_for_app_data.py @@ -0,0 +1,12 @@ +# +# pgAdmin 4 - PostgreSQL Tools +# +# Copyright (C) 2013 - 2017, The pgAdmin Development Team +# This software is released under the PostgreSQL Licence +# +import os + + +def create_directory_for_app_data(path): + if not os.path.exists(os.path.dirname(path)): + os.mkdir(os.path.dirname(path)) \ No newline at end of file diff --git a/web/setup.py b/web/setup.py index c54df94d..9004852f 100755 --- a/web/setup.py +++ b/web/setup.py @@ -17,7 +17,7 @@ from flask import Flask # We need to include the root directory in sys.path to ensure that we can # find everything we need when running in the standalone runtime. -from pgadmin.setup import db_upgrade +from pgadmin.setup import db_upgrade, create_directory_for_app_data root = os.path.dirname(os.path.realpath(__file__)) if sys.path[0] != root: @@ -37,8 +37,7 @@ if __name__ == '__main__': if config.TESTING_MODE: config.SQLITE_PATH = config.TEST_SQLITE_PATH - if not os.path.exists(os.path.dirname(config.SQLITE_PATH)): - os.mkdir(os.path.dirname(config.SQLITE_PATH)) + create_directory_for_app_data(config.SQLITE_PATH) app.config['SQLALCHEMY_DATABASE_URI'] = \ 'sqlite:///' + config.SQLITE_PATH.replace('\\', '/') -- 2.12.0