Changed structure of referencing data
This commit is contained in:
		@@ -1,5 +0,0 @@
 | 
			
		||||
from config import Config
 | 
			
		||||
from os import path
 | 
			
		||||
from pathlib import Path
 | 
			
		||||
 | 
			
		||||
data = Path(Config.DATA)
 | 
			
		||||
@@ -1,14 +1,15 @@
 | 
			
		||||
from ..data import data
 | 
			
		||||
from ..modules import db
 | 
			
		||||
from ..extensions import db
 | 
			
		||||
from ..tools.logs import write
 | 
			
		||||
 | 
			
		||||
from flask import flash
 | 
			
		||||
from flask import current_app as app
 | 
			
		||||
from flask_login import current_user
 | 
			
		||||
from werkzeug.utils import secure_filename
 | 
			
		||||
 | 
			
		||||
from datetime import datetime
 | 
			
		||||
from json import dump, loads
 | 
			
		||||
from os import path, remove
 | 
			
		||||
from pathlib import Path
 | 
			
		||||
from uuid import uuid4
 | 
			
		||||
 | 
			
		||||
class Dataset(db.Model):
 | 
			
		||||
@@ -48,6 +49,7 @@ class Dataset(db.Model):
 | 
			
		||||
            return False, message
 | 
			
		||||
        write('system.log', f'Dataset {self.id} deleted by {current_user.get_username()}.')
 | 
			
		||||
        filename = secure_filename('.'.join([self.id,'json']))
 | 
			
		||||
        data = Path(app.config.get('DATA'))
 | 
			
		||||
        file_path = path.join(data, 'questions', filename)
 | 
			
		||||
        remove(file_path)
 | 
			
		||||
        db.session.delete(self)
 | 
			
		||||
@@ -58,6 +60,7 @@ class Dataset(db.Model):
 | 
			
		||||
        self.generate_id()
 | 
			
		||||
        timestamp = datetime.now()
 | 
			
		||||
        filename = secure_filename('.'.join([self.id,'json']))
 | 
			
		||||
        data = Path(app.config.get('DATA'))
 | 
			
		||||
        file_path = path.join(data, 'questions', filename)
 | 
			
		||||
        upload.stream.seek(0)
 | 
			
		||||
        questions = loads(upload.read())
 | 
			
		||||
@@ -73,11 +76,13 @@ class Dataset(db.Model):
 | 
			
		||||
 | 
			
		||||
    def check_file(self):
 | 
			
		||||
        filename = secure_filename('.'.join([self.id,'json']))
 | 
			
		||||
        data = Path(app.config.get('DATA'))
 | 
			
		||||
        file_path = path.join(data, 'questions', filename)
 | 
			
		||||
        if not path.isfile(file_path): return False, 'Data file is missing.'
 | 
			
		||||
        return True, 'Data file found.'
 | 
			
		||||
 | 
			
		||||
    def get_file(self):
 | 
			
		||||
        filename = secure_filename('.'.join([self.id,'json']))
 | 
			
		||||
        data = Path(app.config.get('DATA'))
 | 
			
		||||
        file_path = path.join(data, 'questions', filename)
 | 
			
		||||
        return file_path
 | 
			
		||||
@@ -1,13 +1,16 @@
 | 
			
		||||
from ..data import data as data_dir
 | 
			
		||||
from flask import current_app as app
 | 
			
		||||
 | 
			
		||||
import json
 | 
			
		||||
from pathlib import Path
 | 
			
		||||
from random import shuffle
 | 
			
		||||
 | 
			
		||||
def load(filename:str):
 | 
			
		||||
    data_dir = Path(app.config.get('DATA'))
 | 
			
		||||
    with open(f'./{data_dir}/{filename}') as file:
 | 
			
		||||
        return json.load(file)
 | 
			
		||||
 | 
			
		||||
def save(data:dict, filename:str):
 | 
			
		||||
    data_dir = Path(app.config.get('DATA'))
 | 
			
		||||
    with open(f'./{data_dir}/{filename}', 'w') as file:
 | 
			
		||||
        json.dump(data, file, indent=4)
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,10 @@
 | 
			
		||||
from ..data import data
 | 
			
		||||
from flask import current_app as app
 | 
			
		||||
 | 
			
		||||
from cryptography.fernet import Fernet
 | 
			
		||||
from pathlib import Path
 | 
			
		||||
 | 
			
		||||
def load_key():
 | 
			
		||||
    data = Path(app.config.get('DATA'))
 | 
			
		||||
    with open(f'./{data}/.encryption.key', 'rb') as keyfile: return keyfile.read()
 | 
			
		||||
 | 
			
		||||
def decrypt(input:str):
 | 
			
		||||
 
 | 
			
		||||
@@ -1,10 +1,14 @@
 | 
			
		||||
from ..data import data
 | 
			
		||||
from flask import current_app as app
 | 
			
		||||
 | 
			
		||||
from datetime import datetime
 | 
			
		||||
from pathlib import Path
 | 
			
		||||
 | 
			
		||||
def read(filename:str):
 | 
			
		||||
    data = Path(app.config.get('DATA'))
 | 
			
		||||
    with open(f'./{data}/logs/{filename}') as file:
 | 
			
		||||
        return file.readlines()
 | 
			
		||||
 | 
			
		||||
def write(filename:str, message:str):
 | 
			
		||||
    data = Path(app.config.get('DATA'))
 | 
			
		||||
    with open(f'./{data}/logs/{filename}', 'a+') as file:
 | 
			
		||||
        file.write(f'{datetime.now().strftime("%Y-%m-%d-%X")}: {message}\n')
 | 
			
		||||
@@ -1,6 +1,5 @@
 | 
			
		||||
from .config import Config
 | 
			
		||||
 | 
			
		||||
from flask import Blueprint, redirect, request, render_template
 | 
			
		||||
from flask import current_app as app
 | 
			
		||||
 | 
			
		||||
from datetime import datetime, timedelta
 | 
			
		||||
 | 
			
		||||
@@ -24,7 +23,7 @@ def _cookie_consent():
 | 
			
		||||
        max_age = timedelta(days=14) if request.cookies.get('remember') == 'True' else None,
 | 
			
		||||
        path = '/',
 | 
			
		||||
        expires = datetime.utcnow() + timedelta(days=14) if request.cookies.get('remember') else None,
 | 
			
		||||
        domain = f'{Config.SERVER_NAME}',
 | 
			
		||||
        domain = f'{app.config.get("SERVER_NAME")}',
 | 
			
		||||
        secure = True
 | 
			
		||||
    )
 | 
			
		||||
    return resp
 | 
			
		||||
		Reference in New Issue
	
	Block a user