minor: some preparations to test
This commit is contained in:
parent
e73cd46611
commit
bfa3383a7c
@ -3,9 +3,28 @@ from flask_login import LoginManager
|
||||
from flask_sqlalchemy import SQLAlchemy
|
||||
from flask_migrate import Migrate
|
||||
from yaml import safe_load
|
||||
from logging import getLogger
|
||||
from logging.config import fileConfig
|
||||
from os import makedirs
|
||||
from os.path import dirname, exists
|
||||
|
||||
try:
|
||||
dir_name = dirname(__file__)
|
||||
if dir_name:
|
||||
DIR = dir_name + "/"
|
||||
else:
|
||||
DIR = "./"
|
||||
except NameError:
|
||||
DIR = "./"
|
||||
|
||||
if not exists(DIR + "logs"):
|
||||
makedirs(DIR + "logs")
|
||||
|
||||
fileConfig(DIR + "configs/log.conf")
|
||||
LOGGER = getLogger("root")
|
||||
|
||||
app = Flask(__name__)
|
||||
app.config.from_file("config.yaml", safe_load)
|
||||
app.config.from_file("configs/config.yaml", safe_load)
|
||||
db = SQLAlchemy(app)
|
||||
migrate = Migrate(app, db, render_as_batch=True)
|
||||
login = LoginManager(app)
|
||||
|
||||
@ -1,6 +0,0 @@
|
||||
database:
|
||||
host: "hostname or ip"
|
||||
port: "port"
|
||||
database: "databasename"
|
||||
user: "username"
|
||||
password: "password"
|
||||
3
app/configs/config.yaml.template
Normal file
3
app/configs/config.yaml.template
Normal file
@ -0,0 +1,3 @@
|
||||
SECRET_KEY: "MY_5€cr37_K€Y"
|
||||
SQLALCHEMY_DATABASE_URI: "dialect+driver://username:password@host:port/database"
|
||||
SQLALCHEMY_TRACK_MODIFICATIONS: False
|
||||
31
app/configs/log.conf
Normal file
31
app/configs/log.conf
Normal file
@ -0,0 +1,31 @@
|
||||
[loggers]
|
||||
keys=root, main
|
||||
|
||||
[handlers]
|
||||
keys=console, file
|
||||
|
||||
[formatters]
|
||||
keys=stdout
|
||||
|
||||
[logger_root]
|
||||
handlers = console, file
|
||||
level = DEBUG
|
||||
|
||||
[logger_main]
|
||||
handlers = console, file
|
||||
level = DEBUG
|
||||
qualname = main
|
||||
|
||||
[handler_console]
|
||||
class = logging.StreamHandler
|
||||
level = DEBUG
|
||||
formatter = stdout
|
||||
|
||||
[handler_file]
|
||||
class = logging.FileHandler
|
||||
level = INFO
|
||||
formatter = stdout
|
||||
kwargs = {"filename": "app/logs/infos.log"}
|
||||
|
||||
[formatter_stdout]
|
||||
format = %(asctime)s [%(threadName)s] [%(levelname)s]: %(message)s
|
||||
@ -1,24 +1,6 @@
|
||||
from os.path import dirname
|
||||
from app import LOGGER
|
||||
from psycopg2 import connect as psyconn, ProgrammingError, errors
|
||||
from yaml import safe_load
|
||||
import logging
|
||||
|
||||
|
||||
DIR = dirname(__file__) + "/"
|
||||
|
||||
LOGGER = logging.getLogger(__name__)
|
||||
LOGGER.setLevel(logging.DEBUG)
|
||||
logFormatter = logging.Formatter(
|
||||
"%(asctime)s [%(threadName)s] [%(levelname)s] %(message)s")
|
||||
|
||||
fileHandler = logging.FileHandler(DIR + "../../logs/database.log")
|
||||
fileHandler.setFormatter(logFormatter)
|
||||
fileHandler.setLevel(logging.INFO)
|
||||
LOGGER.addHandler(fileHandler)
|
||||
|
||||
consoleHandler = logging.StreamHandler()
|
||||
consoleHandler.setLevel(logging.DEBUG)
|
||||
LOGGER.addHandler(consoleHandler)
|
||||
|
||||
|
||||
class Database:
|
||||
@ -27,7 +9,7 @@ class Database:
|
||||
pass
|
||||
|
||||
def connect(self, **kwargs):
|
||||
with open(DIR + 'config.yaml', 'r') as file:
|
||||
with open('configs/config.yaml', 'r') as file:
|
||||
data = safe_load(file)['database']
|
||||
LOGGER.debug('Merging passed arguments with default arguments.')
|
||||
for key, value in data.items():
|
||||
|
||||
41
app/views.py
41
app/views.py
@ -1,31 +1,8 @@
|
||||
from app import app
|
||||
from app import app, LOGGER
|
||||
from app.database import Database
|
||||
from app.forms import NewItemForm
|
||||
from flask import abort, request, render_template
|
||||
from flask.json import jsonify
|
||||
from os import makedirs
|
||||
from os.path import dirname, exists
|
||||
import logging
|
||||
|
||||
|
||||
DIR = dirname(__file__) + "/"
|
||||
|
||||
if not exists(DIR + "../../logs"):
|
||||
makedirs(DIR + "../../logs")
|
||||
|
||||
LOGGER = logging.getLogger(__name__)
|
||||
LOGGER.setLevel(logging.DEBUG)
|
||||
logFormatter = logging.Formatter(
|
||||
"%(asctime)s [%(threadName)s] [%(levelname)s] %(message)s")
|
||||
|
||||
fileHandler = logging.FileHandler(DIR + "../../logs/server.log")
|
||||
fileHandler.setFormatter(logFormatter)
|
||||
fileHandler.setLevel(logging.INFO)
|
||||
LOGGER.addHandler(fileHandler)
|
||||
|
||||
consoleHandler = logging.StreamHandler()
|
||||
consoleHandler.setLevel(logging.DEBUG)
|
||||
LOGGER.addHandler(consoleHandler)
|
||||
|
||||
DATABASE = Database()
|
||||
|
||||
@ -38,6 +15,8 @@ def index():
|
||||
|
||||
@app.route('/test')
|
||||
def test():
|
||||
if request.args:
|
||||
LOGGER.debug(request.args['testing'])
|
||||
form = NewItemForm()
|
||||
return render_template("test.html", form=form)
|
||||
|
||||
@ -67,11 +46,15 @@ def insert():
|
||||
case _:
|
||||
abort(400)
|
||||
|
||||
@app.route(f'/{APPNAME}/<string:user>', methods=['GET'])
|
||||
@app.route(f'/{APPNAME}/<int:year>/<int:month>', methods=['GET'])
|
||||
@app.route(f'/{APPNAME}/<string:user>/<int:year>', methods=['GET'])
|
||||
@app.route(f'/{APPNAME}/<string:user>/<int:year>/<int:month>', methods=['GET'])
|
||||
def get_monthly_report_from_user(user: str = None, year: int = None, month: int = None):
|
||||
@app.route(f'/{APPNAME}/overview', methods=['GET'])
|
||||
def get_report_from_user():
|
||||
user, month, year = []*3
|
||||
if request.args:
|
||||
args = request.args
|
||||
if 'month' in args:
|
||||
month = args['month']
|
||||
if 'year' in args:
|
||||
year = args['year']
|
||||
if month and (month > 12 or month < 1):
|
||||
abort(400)
|
||||
LOGGER.info("Getting results.")
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user