Dockerised. Restructured to remove circular import
Moved most of app definitions out of guard function to use wsgi Updated configuration files and referencing of .env values. Local version needs dotenv or exporting of env variables. Dockerised version works fine without load_dotenv. Ready to test now!
This commit is contained in:
@ -6,35 +6,38 @@ from glob import glob
|
||||
from random import shuffle
|
||||
from werkzeug.utils import secure_filename
|
||||
|
||||
from main import app, db
|
||||
from .security.database import decrypt_find_one
|
||||
|
||||
def check_data_folder_exists():
|
||||
from main import app
|
||||
if not os.path.exists(app.config['DATA_FILE_DIRECTORY']):
|
||||
pathlib.Path(app.config['DATA_FILE_DIRECTORY']).mkdir(parents='True', exist_ok='True')
|
||||
|
||||
def check_default_indicator():
|
||||
from main import app
|
||||
if not os.path.isfile(os.path.join(app.config['DATA_FILE_DIRECTORY'], '.default.txt')):
|
||||
open(os.path.join(app.config['DATA_FILE_DIRECTORY'], '.default.txt'),'w').close()
|
||||
|
||||
def get_default_dataset():
|
||||
check_default_indicator()
|
||||
from main import app
|
||||
default_file_path = os.path.join(app.config['DATA_FILE_DIRECTORY'], '.default.txt')
|
||||
with open(default_file_path, 'r') as default_file:
|
||||
default = default_file.read()
|
||||
return default
|
||||
|
||||
def available_datasets():
|
||||
files = glob(os.path.join(app.config["DATA_FILE_DIRECTORY"],'*.json'))
|
||||
default = get_default_dataset()
|
||||
output = []
|
||||
for file in files:
|
||||
filename = file.rsplit('/')[-1]
|
||||
label = f'{filename[:-5]} (Default)' if filename == default else filename[:-5]
|
||||
element = (filename, label)
|
||||
output.append(element)
|
||||
output.reverse()
|
||||
return output
|
||||
from main import app
|
||||
files = glob(os.path.join(app.config["DATA_FILE_DIRECTORY"],'*.json'))
|
||||
default = get_default_dataset()
|
||||
output = []
|
||||
for file in files:
|
||||
filename = file.rsplit('/')[-1]
|
||||
label = f'{filename[:-5]} (Default)' if filename == default else filename[:-5]
|
||||
element = (filename, label)
|
||||
output.append(element)
|
||||
output.reverse()
|
||||
return output
|
||||
|
||||
def check_json_format(file):
|
||||
if not '.' in file.filename:
|
||||
@ -58,6 +61,7 @@ def validate_json_contents(file):
|
||||
|
||||
def store_data_file(file, default:bool=None):
|
||||
from admin.views import get_id_from_cookie
|
||||
from main import app
|
||||
check_default_indicator()
|
||||
timestamp = datetime.utcnow()
|
||||
filename = '.'.join([timestamp.strftime('%Y%m%d%H%M%S'),'json'])
|
||||
@ -201,6 +205,7 @@ def get_time_options():
|
||||
return time_options
|
||||
|
||||
def get_datasets():
|
||||
from main import app, db
|
||||
files = glob(os.path.join(app.config["DATA_FILE_DIRECTORY"],'*.json'))
|
||||
data = []
|
||||
if files:
|
||||
|
Reference in New Issue
Block a user