removing redundant code and autoformatting

This commit is contained in:
crunk 2024-03-31 00:30:40 +01:00
parent 5e48463403
commit 572cb0fe16
11 changed files with 60 additions and 56 deletions

View File

@ -3,7 +3,6 @@ import os
import tomllib import tomllib
import flask_apscheduler import flask_apscheduler
from application.csvparser import CsvParser
from flask import Flask from flask import Flask
from flask_bcrypt import Bcrypt from flask_bcrypt import Bcrypt
from flask_login import LoginManager from flask_login import LoginManager
@ -14,6 +13,8 @@ from whoosh.fields import *
from whoosh.index import create_in from whoosh.index import create_in
from whoosh.qparser import QueryParser from whoosh.qparser import QueryParser
from application.csvparser import CsvParser
db = SQLAlchemy() db = SQLAlchemy()
migrate = Migrate() migrate = Migrate()
bcrypt = Bcrypt() bcrypt = Bcrypt()

View File

@ -1,6 +1,7 @@
from app import db
from flask_login import UserMixin from flask_login import UserMixin
from app import db
class User(UserMixin, db.Model): class User(UserMixin, db.Model):
"""User model class for a user in the library""" """User model class for a user in the library"""

View File

@ -1,16 +1,17 @@
from datetime import datetime from datetime import datetime
from uuid import uuid1 from uuid import uuid1
from app import db
from flask import render_template from flask import render_template
from flask_mail import Message from flask_mail import Message
from application.forms.forgotpasswordform import ForgotPasswordForm
from sqlalchemy.exc import ( from sqlalchemy.exc import (
DatabaseError, DatabaseError,
DataError, DataError,
InterfaceError, InterfaceError,
InvalidRequestError, InvalidRequestError,
) )
from app import db
from application.forms.forgotpasswordform import ForgotPasswordForm
from application.models.usermodel import User from application.models.usermodel import User

View File

@ -1,6 +1,7 @@
from flask import abort, flash, redirect, render_template, request, url_for from flask import abort, flash, redirect, render_template, request, url_for
from flask_bcrypt import check_password_hash from flask_bcrypt import check_password_hash
from flask_login import login_user from flask_login import login_user
from application.forms.loginform import LoginForm from application.forms.loginform import LoginForm
from application.models.usermodel import User from application.models.usermodel import User

View File

@ -1,8 +1,6 @@
from app import db
from flask import flash, redirect, render_template, url_for from flask import flash, redirect, render_template, url_for
from flask_bcrypt import generate_password_hash from flask_bcrypt import generate_password_hash
from flask_login import login_user from flask_login import login_user
from application.forms.registerform import RegisterForm
from sqlalchemy.exc import ( from sqlalchemy.exc import (
DatabaseError, DatabaseError,
DataError, DataError,
@ -10,9 +8,12 @@ from sqlalchemy.exc import (
InterfaceError, InterfaceError,
InvalidRequestError, InvalidRequestError,
) )
from application.models.usermodel import User
from werkzeug.routing import BuildError from werkzeug.routing import BuildError
from app import db
from application.forms.registerform import RegisterForm
from application.models.usermodel import User
def RegisterUser(): def RegisterUser():
registerform = RegisterForm() registerform = RegisterForm()

View File

@ -1,10 +1,8 @@
from datetime import datetime from datetime import datetime
from app import db
from flask import flash, redirect, render_template, url_for from flask import flash, redirect, render_template, url_for
from flask_bcrypt import generate_password_hash from flask_bcrypt import generate_password_hash
from flask_login import login_user from flask_login import login_user
from application.forms.resetpasswordform import ResetPasswordForm
from sqlalchemy.exc import ( from sqlalchemy.exc import (
DatabaseError, DatabaseError,
DataError, DataError,
@ -12,9 +10,12 @@ from sqlalchemy.exc import (
InterfaceError, InterfaceError,
InvalidRequestError, InvalidRequestError,
) )
from application.models.usermodel import User
from werkzeug.routing import BuildError from werkzeug.routing import BuildError
from app import db
from application.forms.resetpasswordform import ResetPasswordForm
from application.models.usermodel import User
def ResetPassword(path): def ResetPassword(path):
linkvalid = False linkvalid = False

View File

@ -1,6 +1,7 @@
from app import create_app, db
from flask_migrate import init, migrate, stamp, upgrade from flask_migrate import init, migrate, stamp, upgrade
from app import create_app, db
def deploy(): def deploy():
"""Run deployment of database.""" """Run deployment of database."""

View File

@ -1,9 +1,8 @@
import logging import logging
from logging.config import fileConfig from logging.config import fileConfig
from flask import current_app
from alembic import context from alembic import context
from flask import current_app
# this is the Alembic Config object, which provides # this is the Alembic Config object, which provides
# access to the values within the .ini file in use. # access to the values within the .ini file in use.
@ -12,32 +11,35 @@ config = context.config
# Interpret the config file for Python logging. # Interpret the config file for Python logging.
# This line sets up loggers basically. # This line sets up loggers basically.
fileConfig(config.config_file_name) fileConfig(config.config_file_name)
logger = logging.getLogger('alembic.env') logger = logging.getLogger("alembic.env")
def get_engine(): def get_engine():
try: try:
# this works with Flask-SQLAlchemy<3 and Alchemical # this works with Flask-SQLAlchemy<3 and Alchemical
return current_app.extensions['migrate'].db.get_engine() return current_app.extensions["migrate"].db.get_engine()
except (TypeError, AttributeError): except (TypeError, AttributeError):
# this works with Flask-SQLAlchemy>=3 # this works with Flask-SQLAlchemy>=3
return current_app.extensions['migrate'].db.engine return current_app.extensions["migrate"].db.engine
def get_engine_url(): def get_engine_url():
try: try:
return get_engine().url.render_as_string(hide_password=False).replace( return (
'%', '%%') get_engine()
.url.render_as_string(hide_password=False)
.replace("%", "%%")
)
except AttributeError: except AttributeError:
return str(get_engine().url).replace('%', '%%') return str(get_engine().url).replace("%", "%%")
# add your model's MetaData object here # add your model's MetaData object here
# for 'autogenerate' support # for 'autogenerate' support
# from myapp import mymodel # from myapp import mymodel
# target_metadata = mymodel.Base.metadata # target_metadata = mymodel.Base.metadata
config.set_main_option('sqlalchemy.url', get_engine_url()) config.set_main_option("sqlalchemy.url", get_engine_url())
target_db = current_app.extensions['migrate'].db target_db = current_app.extensions["migrate"].db
# other values from the config, defined by the needs of env.py, # other values from the config, defined by the needs of env.py,
# can be acquired: # can be acquired:
@ -46,7 +48,7 @@ target_db = current_app.extensions['migrate'].db
def get_metadata(): def get_metadata():
if hasattr(target_db, 'metadatas'): if hasattr(target_db, "metadatas"):
return target_db.metadatas[None] return target_db.metadatas[None]
return target_db.metadata return target_db.metadata
@ -84,13 +86,13 @@ def run_migrations_online():
# when there are no changes to the schema # when there are no changes to the schema
# reference: http://alembic.zzzcomputing.com/en/latest/cookbook.html # reference: http://alembic.zzzcomputing.com/en/latest/cookbook.html
def process_revision_directives(context, revision, directives): def process_revision_directives(context, revision, directives):
if getattr(config.cmd_opts, 'autogenerate', False): if getattr(config.cmd_opts, "autogenerate", False):
script = directives[0] script = directives[0]
if script.upgrade_ops.is_empty(): if script.upgrade_ops.is_empty():
directives[:] = [] directives[:] = []
logger.info('No changes in schema detected.') logger.info("No changes in schema detected.")
conf_args = current_app.extensions['migrate'].configure_args conf_args = current_app.extensions["migrate"].configure_args
if conf_args.get("process_revision_directives") is None: if conf_args.get("process_revision_directives") is None:
conf_args["process_revision_directives"] = process_revision_directives conf_args["process_revision_directives"] = process_revision_directives
@ -98,9 +100,7 @@ def run_migrations_online():
with connectable.connect() as connection: with connectable.connect() as connection:
context.configure( context.configure(
connection=connection, connection=connection, target_metadata=get_metadata(), **conf_args
target_metadata=get_metadata(),
**conf_args
) )
with context.begin_transaction(): with context.begin_transaction():

View File

@ -5,12 +5,11 @@ Revises:
Create Date: 2024-03-30 17:50:00.878071 Create Date: 2024-03-30 17:50:00.878071
""" """
from alembic import op
import sqlalchemy as sa import sqlalchemy as sa
from alembic import op
# revision identifiers, used by Alembic. # revision identifiers, used by Alembic.
revision = '3105f85a9d8e' revision = "3105f85a9d8e"
down_revision = None down_revision = None
branch_labels = None branch_labels = None
depends_on = None depends_on = None

View File

@ -1,36 +1,37 @@
"""This is the main flask library page""" """This is the main flask library page"""
from datetime import timedelta
import datetime import datetime
import json import json
import os import os
from datetime import timedelta
import bcrypt import bcrypt
from app import create_app, login_manager from flask import (
from application.csvparser import CsvParser Blueprint,
from application.user.loginuser import LoginUser redirect,
from application.user.registeruser import RegisterUser render_template,
from application.user.forgotpassword import ForgotPassword request,
from application.user.resetpassword import ResetPassword session,
from application.models.usermodel import User url_for,
from flask import Blueprint, redirect, render_template, request, session, url_for
from flask_wtf.csrf import CSRFProtect, CSRFError
from flask_login import (
logout_user,
login_required,
current_user,
) )
from application.forms.borrowform import BorrowForm from flask_login import current_user, login_required, logout_user
from application.forms.uploadform import PublicationForm from flask_wtf.csrf import CSRFError, CSRFProtect
from icalendar import Calendar from icalendar import Calendar
from PIL import Image from PIL import Image
from requests import get from requests import get
from search import search
from werkzeug.utils import secure_filename from werkzeug.utils import secure_filename
from app import create_app, login_manager
from application.csvparser import CsvParser
from application.forms.borrowform import BorrowForm
from application.forms.uploadform import PublicationForm
from application.models.usermodel import User
from application.user.forgotpassword import ForgotPassword
from application.user.loginuser import LoginUser
from application.user.registeruser import RegisterUser
from application.user.resetpassword import ResetPassword
from search import search
APP = create_app() APP = create_app()
csrf = CSRFProtect() csrf = CSRFProtect()
@ -58,7 +59,6 @@ def index():
publicatons = csvparser.getpublications() publicatons = csvparser.getpublications()
template = render_template( template = render_template(
"index.html", "index.html",
title=APP.config["TITLE"],
publications=publicatons, publications=publicatons,
pubtypes=pubtypes, pubtypes=pubtypes,
pubyears=pubyears, pubyears=pubyears,
@ -79,9 +79,7 @@ def upload():
return redirect(str(id), code=303) return redirect(str(id), code=303)
else: else:
return render_template("upload.html", uploadform=uploadform) return render_template("upload.html", uploadform=uploadform)
return render_template( return render_template("upload.html", uploadform=uploadform)
"upload.html", title=APP.config["TITLE"], uploadform=uploadform
)
@APP.route("/<publicationID>", methods=["GET", "POST"]) @APP.route("/<publicationID>", methods=["GET", "POST"])
@ -102,7 +100,6 @@ def show_book(publicationID):
# return a full publication with or without form errors # return a full publication with or without form errors
return render_template( return render_template(
"publication.html", "publication.html",
title=APP.config["TITLE"],
fullpublication=fullpublication, fullpublication=fullpublication,
publicationID=publicationID, publicationID=publicationID,
borrowform=borrowform, borrowform=borrowform,

View File

@ -1,10 +1,11 @@
import os import os
from application.csvparser import CsvParser
from whoosh.fields import * from whoosh.fields import *
from whoosh.index import open_dir from whoosh.index import open_dir
from whoosh.qparser import QueryParser from whoosh.qparser import QueryParser
from application.csvparser import CsvParser
SCRIPT_DIR = os.path.dirname(__file__) SCRIPT_DIR = os.path.dirname(__file__)
DATA_DIR = os.path.abspath(os.path.join(SCRIPT_DIR, "data")) DATA_DIR = os.path.abspath(os.path.join(SCRIPT_DIR, "data"))