Upgrade Python packages - Flask 3.0.0 - Migrate to scrypt password hash

This commit is contained in:
Emmanuel Viennet 2023-12-06 03:34:24 +01:00
parent 4d07de20d5
commit cfafaa76b7
4 changed files with 76 additions and 40 deletions

View File

@ -360,7 +360,7 @@ def bulletin(
code_type: str = "etudid", code_type: str = "etudid",
code: str = None, code: str = None,
formsemestre_id: int = None, formsemestre_id: int = None,
version: str = "long", version: str = "selectedevals",
pdf: bool = False, pdf: bool = False,
with_img_signatures_pdf: bool = True, with_img_signatures_pdf: bool = True,
): ):

View File

@ -90,7 +90,7 @@ class User(UserMixin, db.Model, ScoDocModel):
"""date du dernier login via CAS""" """date du dernier login via CAS"""
edt_id = db.Column(db.Text(), index=True, nullable=True) edt_id = db.Column(db.Text(), index=True, nullable=True)
"identifiant emplois du temps (unicité non imposée)" "identifiant emplois du temps (unicité non imposée)"
password_hash = db.Column(db.String(128)) password_hash = db.Column(db.Text()) # les hashs modernes peuvent être très longs
password_scodoc7 = db.Column(db.String(42)) password_scodoc7 = db.Column(db.String(42))
last_seen = db.Column(db.DateTime, default=datetime.utcnow) last_seen = db.Column(db.DateTime, default=datetime.utcnow)
date_modif_passwd = db.Column(db.DateTime, default=datetime.utcnow) date_modif_passwd = db.Column(db.DateTime, default=datetime.utcnow)

View File

@ -0,0 +1,36 @@
"""long password_hash
Revision ID: b4859c04205f
Revises: c8f66652c77f
Create Date: 2023-12-06 03:23:33.992635
"""
from alembic import op
import sqlalchemy as sa
# revision identifiers, used by Alembic.
revision = "b4859c04205f"
down_revision = "c8f66652c77f"
branch_labels = None
depends_on = None
def upgrade():
with op.batch_alter_table("user", schema=None) as batch_op:
batch_op.alter_column(
"password_hash",
existing_type=sa.VARCHAR(length=128),
type_=sa.Text(),
existing_nullable=True,
)
def downgrade():
with op.batch_alter_table("user", schema=None) as batch_op:
batch_op.alter_column(
"password_hash",
existing_type=sa.Text(),
type_=sa.VARCHAR(length=128),
existing_nullable=True,
)

View File

@ -1,88 +1,88 @@
alembic==1.12.0 alembic==1.13.0
astroid==3.0.0 astroid==3.0.1
async-timeout==4.0.3 async-timeout==4.0.3
attrs==23.1.0 attrs==23.1.0
Babel==2.13.0 Babel==2.13.1
black==23.9.1 black==23.11.0
blinker==1.6.2 blinker==1.7.0
Brotli==1.1.0 Brotli==1.1.0
cachelib==0.9.0 cachelib==0.9.0
certifi==2023.7.22 certifi==2023.11.17
cffi==1.16.0 cffi==1.16.0
chardet==5.2.0 chardet==5.2.0
charset-normalizer==3.3.0 charset-normalizer==3.3.2
click==8.1.7 click==8.1.7
cracklib==2.9.6 cracklib==2.9.6
cryptography==41.0.4 cryptography==41.0.7
cssselect2==0.7.0 cssselect2==0.7.0
Deprecated==1.2.14 Deprecated==1.2.14
dill==0.3.7 dill==0.3.7
dnspython==2.4.2 dnspython==2.4.2
dominate==2.8.0 dominate==2.9.0
email-validator==2.0.0.post2 email-validator==2.1.0.post1
ERAlchemy==1.2.10 ERAlchemy==1.2.10
et-xmlfile==1.1.0 et-xmlfile==1.1.0
exceptiongroup==1.1.3 exceptiongroup==1.2.0
execnet==2.0.2 execnet==2.0.2
flake8==6.1.0 flake8==6.1.0
Flask==2.3.3 Flask==3.0.0
flask-babel==4.0.0 flask-babel==4.0.0
Flask-Caching==2.0.2 Flask-Caching==2.1.0
Flask-HTTPAuth==4.8.0 Flask-HTTPAuth==4.8.0
Flask-JSON==0.4.0 Flask-JSON==0.4.0
Flask-Login==0.6.2 Flask-Login==0.6.3
Flask-Mail==0.9.1 Flask-Mail==0.9.1
Flask-Migrate==4.0.5 Flask-Migrate==4.0.5
Flask-SQLAlchemy==3.1.1 Flask-SQLAlchemy==3.1.1
Flask-WTF==1.2.1 Flask-WTF==1.2.1
fonttools==4.43.1 fonttools==4.46.0
gprof2dot==2022.7.29 gprof2dot==2022.7.29
greenlet==3.0.0 greenlet==3.0.1
gunicorn==21.2.0 gunicorn==21.2.0
html5lib==1.1 html5lib==1.1
icalendar==5.0.10 icalendar==5.0.11
idna==3.4 idna==3.6
importlib-metadata==6.8.0 importlib-metadata==7.0.0
iniconfig==2.0.0 iniconfig==2.0.0
isort==5.12.0 isort==5.12.0
itsdangerous==2.1.2 itsdangerous==2.1.2
Jinja2==3.1.2 Jinja2==3.1.2
lazy-object-proxy==1.9.0 lazy-object-proxy==1.9.0
lxml==4.9.3 lxml==4.9.3
Mako==1.2.4 Mako==1.3.0
MarkupSafe==2.1.3 MarkupSafe==2.1.3
mccabe==0.7.0 mccabe==0.7.0
mypy==1.5.1 mypy==1.7.1
mypy-extensions==1.0.0 mypy-extensions==1.0.0
numpy==1.26.0 numpy==1.26.2
openpyxl==3.1.2 openpyxl==3.1.2
packaging==23.2 packaging==23.2
pandas==2.1.1 pandas==2.1.3
pathspec==0.11.2 pathspec==0.11.2
Pillow==10.0.1 Pillow==10.1.0
platformdirs==3.11.0 platformdirs==4.1.0
pluggy==1.3.0 pluggy==1.3.0
psycopg2==2.9.9 psycopg2==2.9.9
puremagic==1.15 puremagic==1.15
py==1.11.0 py==1.11.0
pycodestyle==2.11.0 pycodestyle==2.11.1
pycparser==2.21 pycparser==2.21
pydot==1.4.2 pydot==1.4.2
pydyf==0.8.0 pydyf==0.8.0
pyflakes==3.1.0 pyflakes==3.1.0
pygraphviz==1.11 pygraphviz==1.11
PyJWT==2.8.0 PyJWT==2.8.0
pylint==3.0.1 pylint==3.0.2
pylint-flask==0.6 pylint-flask==0.6
pylint-flask-sqlalchemy==0.2.0 pylint-flask-sqlalchemy==0.2.0
pylint-plugin-utils==0.8.2 pylint-plugin-utils==0.8.2
pyOpenSSL==23.2.0 pyOpenSSL==23.3.0
pyparsing==3.1.1 pyparsing==3.1.1
pyphen==0.14.0 pyphen==0.14.0
pytest==7.4.2 pytest==7.4.3
pytest-xdist==3.3.1 pytest-xdist==3.5.0
python-dateutil==2.8.2 python-dateutil==2.8.2
python-docx==0.8.11 python-docx==1.1.0
python-dotenv==1.0.0 python-dotenv==1.0.0
python-editor==1.0.4 python-editor==1.0.4
pytz==2023.3.post1 pytz==2023.3.post1
@ -93,22 +93,22 @@ requests==2.31.0
rq==1.15.1 rq==1.15.1
six==1.16.0 six==1.16.0
snakeviz==2.2.0 snakeviz==2.2.0
SQLAlchemy==2.0.21 SQLAlchemy==2.0.23
tinycss2==1.2.1 tinycss2==1.2.1
toml==0.10.2 toml==0.10.2
tomli==2.0.1 tomli==2.0.1
tomlkit==0.12.1 tomlkit==0.12.3
tornado==6.3.3 tornado==6.4
tuna==0.5.11 tuna==0.5.11
typing_extensions==4.8.0 typing_extensions==4.8.0
tzdata==2023.3 tzdata==2023.3
urllib3==2.0.6 urllib3==2.1.0
visitor==0.1.3 visitor==0.1.3
weasyprint==60.1 weasyprint==60.1
webencodings==0.5.1 webencodings==0.5.1
Werkzeug==2.3.7 Werkzeug==3.0.1
wrapt==1.15.0 wrapt==1.16.0
WTForms==3.0.1 WTForms==3.1.1
xmltodict==0.13.0 xmltodict==0.13.0
zipp==3.17.0 zipp==3.17.0
zopfli==0.2.3 zopfli==0.2.3