mirror of
https://codeberg.org/Mo8it/AdvLabDB.git
synced 2024-09-19 18:31:16 +00:00
Apply pyright
This commit is contained in:
parent
fe4788229b
commit
33b08ab383
14 changed files with 26 additions and 21 deletions
|
@ -1,5 +1,5 @@
|
|||
from flask_migrate import Migrate
|
||||
from flask_security import SQLAlchemyUserDatastore
|
||||
from flask_security.datastore import SQLAlchemyUserDatastore
|
||||
|
||||
from .config import get_settings
|
||||
from .models import db, User, Role
|
||||
|
@ -29,7 +29,7 @@ def create_app(create_for_server=True):
|
|||
migrate.init_app(app, db)
|
||||
|
||||
# Setup Flask-Security-Too
|
||||
from flask_security import Security
|
||||
from flask_security.core import Security
|
||||
|
||||
Security(app, user_datastore)
|
||||
|
||||
|
|
|
@ -10,7 +10,9 @@ from flask_admin.contrib.sqla.fields import QuerySelectField, QuerySelectMultipl
|
|||
from flask_admin.contrib.sqla.filters import BooleanEqualFilter, FilterEqual
|
||||
from flask_admin.helpers import get_form_data
|
||||
from flask_admin.menu import MenuLink
|
||||
from flask_security import admin_change_password, current_user, hash_password
|
||||
from flask_login import current_user
|
||||
from flask_security.changeable import admin_change_password
|
||||
from flask_security.utils import hash_password
|
||||
from flask_wtf import FlaskForm
|
||||
from flask_wtf.file import FileAllowed, FileField, FileRequired
|
||||
from matplotlib.figure import Figure
|
||||
|
@ -366,6 +368,7 @@ class SemesterView(SecureAdminModelView):
|
|||
transferAssistants=form.transfer_assistants.data,
|
||||
)
|
||||
|
||||
@staticmethod
|
||||
def addMenuLink(space, newSemester):
|
||||
categoryText = "Active semester"
|
||||
link = MenuLink(
|
||||
|
|
|
@ -10,7 +10,7 @@ def flashRandomPassword(email: str, password: str):
|
|||
flash(f"New random password for email {email}: {password}", category="warning")
|
||||
|
||||
|
||||
def deep_getattr(object, composed_name):
|
||||
def deep_getattr(object, composed_name: str):
|
||||
names = composed_name.split(".")
|
||||
attr = getattr(object, names[0])
|
||||
for name in names[1:]:
|
||||
|
@ -19,7 +19,7 @@ def deep_getattr(object, composed_name):
|
|||
return attr
|
||||
|
||||
|
||||
def str_without_semester_formatter(view, context, model, name):
|
||||
def str_without_semester_formatter(view, context, model, name: str):
|
||||
attr = deep_getattr(model, name)
|
||||
|
||||
if attr is None:
|
||||
|
@ -32,7 +32,7 @@ def str_without_semester_formatter(view, context, model, name):
|
|||
return attr.str_without_semester()
|
||||
|
||||
|
||||
def str_formatter(view, context, model, name):
|
||||
def str_formatter(view, context, model, name: str):
|
||||
attr = deep_getattr(model, name)
|
||||
|
||||
if attr is None:
|
||||
|
@ -53,7 +53,7 @@ def _default_attr_formatter(attr):
|
|||
return attr
|
||||
|
||||
|
||||
def link_formatter(model, name, endpoint, attr_formatter=_default_attr_formatter):
|
||||
def link_formatter(model, name: str, endpoint, attr_formatter=_default_attr_formatter):
|
||||
attr = deep_getattr(model, name)
|
||||
|
||||
if attr is None:
|
||||
|
@ -77,7 +77,7 @@ def link_formatter_factory(endpoint, attr_formatter=_default_attr_formatter):
|
|||
return formatter
|
||||
|
||||
|
||||
def email_formatter(view, context, model, name):
|
||||
def email_formatter(view, context, model, name: str):
|
||||
attr = deep_getattr(model, name)
|
||||
|
||||
if attr is None:
|
||||
|
@ -86,7 +86,7 @@ def email_formatter(view, context, model, name):
|
|||
return Markup(f"<a href='mailto:{escape(attr)}'>{escape(attr)}</a>")
|
||||
|
||||
|
||||
def experiment_marks_missing_formatter(view, context, model, name):
|
||||
def experiment_marks_missing_formatter(view, context, model, name: str):
|
||||
experiment_marks_missing = getattr(model, name)
|
||||
if experiment_marks_missing is True:
|
||||
return Markup("<span style='color: red;'>Yes</span>")
|
||||
|
|
|
@ -2,7 +2,8 @@ from flask import flash, redirect, request, url_for
|
|||
from flask_admin import Admin as FlaskAdmin
|
||||
from flask_admin import expose
|
||||
from flask_admin.model.template import EndpointLinkRowAction
|
||||
from flask_security import admin_change_password, current_user
|
||||
from flask_login import current_user
|
||||
from flask_security.changeable import admin_change_password
|
||||
from flask_wtf import FlaskForm
|
||||
|
||||
from .advlabdb_independent_funs import (
|
||||
|
|
|
@ -3,7 +3,7 @@ from flask_admin import AdminIndexView, BaseView, expose
|
|||
from flask_admin.contrib.sqla import ModelView
|
||||
from flask_admin.helpers import get_form_data
|
||||
from flask_admin.model.helpers import get_mdict_item_or_list
|
||||
from flask_security import current_user
|
||||
from flask_login import current_user
|
||||
from sqlalchemy import select
|
||||
|
||||
from .exceptions import DatabaseException, ModelViewException
|
||||
|
|
|
@ -73,8 +73,6 @@ def importFromFile(filePath):
|
|||
expectingTable = True
|
||||
readHeader = False
|
||||
|
||||
activeDict = None
|
||||
|
||||
for line in f:
|
||||
line = line[:-1]
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@ from functools import cache
|
|||
|
||||
from flask import flash
|
||||
from flask_admin.menu import MenuLink
|
||||
from flask_security import current_user
|
||||
from flask_login import current_user
|
||||
from wtforms.fields import BooleanField, IntegerField, SelectField, StringField
|
||||
from wtforms.validators import DataRequired, NumberRange, Optional
|
||||
|
||||
|
|
|
@ -9,7 +9,7 @@ https://flask-sqlalchemy.palletsprojects.com/en/2.x/models/
|
|||
from decimal import ROUND_HALF_UP, Decimal
|
||||
|
||||
from flask import flash
|
||||
from flask_security import current_user
|
||||
from flask_login import current_user
|
||||
from flask_security.models import fsqla_v2 as fsqla
|
||||
from flask_security.models.fsqla_v2 import FsRoleMixin, FsUserMixin
|
||||
from flask_sqlalchemy import SQLAlchemy
|
||||
|
@ -253,6 +253,7 @@ class GroupExperiment(db.Model):
|
|||
def __str__(self):
|
||||
return self.str()
|
||||
|
||||
@staticmethod
|
||||
def check(semester_experiment, group):
|
||||
for partStudent in group.part_students:
|
||||
student = partStudent.student
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
from flask import Blueprint, flash, redirect, request, url_for
|
||||
from flask_security import auth_required, current_user
|
||||
from flask_login import current_user
|
||||
from flask_security.decorators import auth_required
|
||||
|
||||
from .model_dependent_funs import active_semester_str
|
||||
from .models import Semester, db
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import click
|
||||
from flask_security import admin_change_password
|
||||
from flask_security.changeable import admin_change_password
|
||||
from sqlalchemy import select
|
||||
|
||||
from advlabdb import create_app
|
||||
|
|
|
@ -2,7 +2,7 @@ from pathlib import Path
|
|||
|
||||
import click
|
||||
from email_validator import validate_email
|
||||
from flask_security import hash_password
|
||||
from flask_security.utils import hash_password
|
||||
|
||||
from advlabdb import create_app, settings, user_datastore
|
||||
from advlabdb.model_independent_funs import randomPassword
|
||||
|
|
|
@ -7,7 +7,7 @@ from test.experiment_titles import experiment_titles
|
|||
from test.student_names import student_names
|
||||
|
||||
import click
|
||||
from flask_security import hash_password
|
||||
from flask_security.utils import hash_password
|
||||
|
||||
from advlabdb import create_app, settings, user_datastore
|
||||
from advlabdb.exceptions import DatabaseException
|
||||
|
|
2
poetry.lock
generated
2
poetry.lock
generated
|
@ -506,7 +506,7 @@ email = ["email-validator"]
|
|||
[metadata]
|
||||
lock-version = "1.1"
|
||||
python-versions = "^3.10"
|
||||
content-hash = "62210a57e60dcbadfb408e2ee9a59e77ccc9c9a4b2e1944f61885d1e53a4cef5"
|
||||
content-hash = "6c1039990219b6759baf90fddf5ec81ffc800dc3497f32f119fbb66f6f4b2562"
|
||||
|
||||
[metadata.files]
|
||||
alembic = [
|
||||
|
|
|
@ -12,9 +12,10 @@ click = ">=8.1.3"
|
|||
email-validator = ">=1.2.1"
|
||||
flask = ">=2.2.2"
|
||||
flask-admin = ">=1.6.0"
|
||||
flask-login = ">=0.6.2"
|
||||
flask-migrate = ">=3.1.0"
|
||||
flask-sqlalchemy = ">=2.5.1"
|
||||
flask-security-Too = ">=4.1.5"
|
||||
flask-sqlalchemy = ">=2.5.1"
|
||||
flask-wtf = ">=1.0.1"
|
||||
gunicorn = ">=20.1.0"
|
||||
markupsafe = ">=2.1.1"
|
||||
|
|
Loading…
Reference in a new issue