Browse Source

removing redundant code and autoformatting

main
crunk 2 months ago
parent
commit
572cb0fe16
  1. 3
      library/app.py
  2. 3
      library/application/models/usermodel.py
  3. 5
      library/application/user/forgotpassword.py
  4. 1
      library/application/user/loginuser.py
  5. 7
      library/application/user/registeruser.py
  6. 7
      library/application/user/resetpassword.py
  7. 3
      library/deploydb.py
  8. 34
      library/migrations/env.py
  9. 5
      library/migrations/versions/3105f85a9d8e_.py
  10. 45
      library/page.py
  11. 3
      library/search.py

3
library/app.py

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

3
library/application/models/usermodel.py

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

5
library/application/user/forgotpassword.py

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

1
library/application/user/loginuser.py

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

7
library/application/user/registeruser.py

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

7
library/application/user/resetpassword.py

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

3
library/deploydb.py

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

34
library/migrations/env.py

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

5
library/migrations/versions/3105f85a9d8e_.py

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

45
library/page.py

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

3
library/search.py

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

Loading…
Cancel
Save