diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index af14d704..2431eb3d 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1,6 +1,6 @@ repos: - repo: https://github.com/pre-commit/pre-commit-hooks - rev: v4.4.0 + rev: v4.5.0 hooks: - id: check-added-large-files - id: check-case-conflict @@ -12,7 +12,7 @@ repos: - id: debug-statements - repo: https://github.com/myint/autoflake - rev: v2.0.1 + rev: v2.3.1 hooks: - id: autoflake args: @@ -21,16 +21,16 @@ repos: - --ignore-init-module-imports - repo: https://github.com/pycqa/isort - rev: 5.12.0 + rev: 5.13.2 hooks: - id: isort - repo: https://github.com/psf/black - rev: 23.1.0 + rev: 24.4.1 hooks: - id: black - repo: https://github.com/PyCQA/flake8 - rev: 6.0.0 + rev: 7.0.0 hooks: - id: flake8 diff --git a/aurweb/captcha.py b/aurweb/captcha.py index 52dfeb31..4daf7c45 100644 --- a/aurweb/captcha.py +++ b/aurweb/captcha.py @@ -1,4 +1,5 @@ """ This module consists of aurweb's CAPTCHA utility functions and filters. """ + import hashlib from jinja2 import pass_context diff --git a/aurweb/models/__init__.py b/aurweb/models/__init__.py index a7f8fc66..90f3c93f 100644 --- a/aurweb/models/__init__.py +++ b/aurweb/models/__init__.py @@ -1,4 +1,5 @@ """ Collection of all aurweb SQLAlchemy declarative models. """ + from .accepted_term import AcceptedTerm # noqa: F401 from .account_type import AccountType # noqa: F401 from .api_rate_limit import ApiRateLimit # noqa: F401 diff --git a/aurweb/routers/__init__.py b/aurweb/routers/__init__.py index ccd70662..552d8c28 100644 --- a/aurweb/routers/__init__.py +++ b/aurweb/routers/__init__.py @@ -3,6 +3,7 @@ API routers for FastAPI. See https://fastapi.tiangolo.com/tutorial/bigger-applications/ """ + from . import ( accounts, auth, diff --git a/aurweb/routers/html.py b/aurweb/routers/html.py index 63cc3bb8..25c611d0 100644 --- a/aurweb/routers/html.py +++ b/aurweb/routers/html.py @@ -1,6 +1,7 @@ """ AURWeb's primary routing module. Define all routes via @app.app.{get,post} decorators in some way; more complex routes should be defined in their own modules and imported here. """ + import os from http import HTTPStatus diff --git a/aurweb/routers/rpc.py b/aurweb/routers/rpc.py index af2c46de..645e6b5a 100644 --- a/aurweb/routers/rpc.py +++ b/aurweb/routers/rpc.py @@ -23,6 +23,7 @@ OpenAPI Routes: OpenAPI example (version 5): /rpc/v5/info/my-package """ + import hashlib import re from http import HTTPStatus diff --git a/aurweb/schema.py b/aurweb/schema.py index 683f427d..a2d110e0 100644 --- a/aurweb/schema.py +++ b/aurweb/schema.py @@ -5,7 +5,6 @@ Changes here should always be accompanied by an Alembic migration, which can be usually be automatically generated. See `migrations/README` for details. """ - from sqlalchemy import ( CHAR, TIMESTAMP, diff --git a/aurweb/scripts/adduser.py b/aurweb/scripts/adduser.py index cf933c71..dc928b1f 100644 --- a/aurweb/scripts/adduser.py +++ b/aurweb/scripts/adduser.py @@ -6,6 +6,7 @@ See `aurweb-adduser --help` for documentation. Copyright (C) 2022 aurweb Development Team All Rights Reserved """ + import argparse import sys import traceback diff --git a/aurweb/scripts/config.py b/aurweb/scripts/config.py index 1d90f525..4da3296e 100644 --- a/aurweb/scripts/config.py +++ b/aurweb/scripts/config.py @@ -3,6 +3,7 @@ Perform an action on the aurweb config. When AUR_CONFIG_IMMUTABLE is set, the `set` action is noop. """ + import argparse import configparser import os diff --git a/aurweb/spawn.py b/aurweb/spawn.py index 442d89a9..188ffb43 100644 --- a/aurweb/spawn.py +++ b/aurweb/spawn.py @@ -7,7 +7,6 @@ This module uses a global state, since you can’t open two servers with the sam configuration anyway. """ - import argparse import atexit import os diff --git a/aurweb/users/validate.py b/aurweb/users/validate.py index 6a84b3c0..81484e90 100644 --- a/aurweb/users/validate.py +++ b/aurweb/users/validate.py @@ -6,6 +6,7 @@ out of form data from /account/register or /account/{username}/edit. All functions in this module raise aurweb.exceptions.ValidationError when encountering invalid criteria and return silently otherwise. """ + from fastapi import Request from sqlalchemy import and_ diff --git a/migrations/versions/56e2ce8e2ffa_utf8mb4_charset_and_collation.py b/migrations/versions/56e2ce8e2ffa_utf8mb4_charset_and_collation.py index 5a9d5f39..5cbf6de8 100644 --- a/migrations/versions/56e2ce8e2ffa_utf8mb4_charset_and_collation.py +++ b/migrations/versions/56e2ce8e2ffa_utf8mb4_charset_and_collation.py @@ -5,6 +5,7 @@ Revises: ef39fcd6e1cd Create Date: 2021-05-17 14:23:00.008479 """ + from alembic import op import aurweb.config diff --git a/migrations/versions/6441d3b65270_add_popularityupdated_to_packagebase.py b/migrations/versions/6441d3b65270_add_popularityupdated_to_packagebase.py index afa87687..0c817bad 100644 --- a/migrations/versions/6441d3b65270_add_popularityupdated_to_packagebase.py +++ b/migrations/versions/6441d3b65270_add_popularityupdated_to_packagebase.py @@ -5,6 +5,7 @@ Revises: d64e5571bc8d Create Date: 2022-09-22 18:08:03.280664 """ + from alembic import op from sqlalchemy.exc import OperationalError diff --git a/migrations/versions/6a64dd126029_rename_tu_to_package_maintainer.py b/migrations/versions/6a64dd126029_rename_tu_to_package_maintainer.py index 005549b0..489d6e6c 100644 --- a/migrations/versions/6a64dd126029_rename_tu_to_package_maintainer.py +++ b/migrations/versions/6a64dd126029_rename_tu_to_package_maintainer.py @@ -5,6 +5,7 @@ Revises: c5a6a9b661a0 Create Date: 2023-09-01 13:48:15.315244 """ + from aurweb import db from aurweb.models import AccountType diff --git a/migrations/versions/7d65d35fae45_rename_tu_tables_columns.py b/migrations/versions/7d65d35fae45_rename_tu_tables_columns.py index a2501ca4..9d768f50 100644 --- a/migrations/versions/7d65d35fae45_rename_tu_tables_columns.py +++ b/migrations/versions/7d65d35fae45_rename_tu_tables_columns.py @@ -5,6 +5,7 @@ Revises: 6a64dd126029 Create Date: 2023-09-10 10:21:33.092342 """ + from alembic import op from sqlalchemy.dialects.mysql import INTEGER diff --git a/migrations/versions/9e3158957fd7_add_packagekeyword_packagebaseuid.py b/migrations/versions/9e3158957fd7_add_packagekeyword_packagebaseuid.py index 03291152..86ee0067 100644 --- a/migrations/versions/9e3158957fd7_add_packagekeyword_packagebaseuid.py +++ b/migrations/versions/9e3158957fd7_add_packagekeyword_packagebaseuid.py @@ -5,6 +5,7 @@ Revises: 6441d3b65270 Create Date: 2022-10-17 11:11:46.203322 """ + from alembic import op # revision identifiers, used by Alembic. diff --git a/migrations/versions/be7adae47ac3_upgrade_voteinfo_integers.py b/migrations/versions/be7adae47ac3_upgrade_voteinfo_integers.py index d273804f..02c443a1 100644 --- a/migrations/versions/be7adae47ac3_upgrade_voteinfo_integers.py +++ b/migrations/versions/be7adae47ac3_upgrade_voteinfo_integers.py @@ -15,6 +15,7 @@ Revision ID: be7adae47ac3 Revises: 56e2ce8e2ffa Create Date: 2022-01-06 14:37:07.899778 """ + from alembic import op from sqlalchemy.dialects.mysql import INTEGER, TINYINT diff --git a/migrations/versions/c5a6a9b661a0_add_index_on_packagebases_popularity_.py b/migrations/versions/c5a6a9b661a0_add_index_on_packagebases_popularity_.py index 12f97028..3cc146ee 100644 --- a/migrations/versions/c5a6a9b661a0_add_index_on_packagebases_popularity_.py +++ b/migrations/versions/c5a6a9b661a0_add_index_on_packagebases_popularity_.py @@ -5,6 +5,7 @@ Revises: e4e49ffce091 Create Date: 2023-07-02 13:46:52.522146 """ + from alembic import op # revision identifiers, used by Alembic. diff --git a/migrations/versions/d64e5571bc8d_fix_pkgvote_votets.py b/migrations/versions/d64e5571bc8d_fix_pkgvote_votets.py index a20b80fa..0fda746b 100644 --- a/migrations/versions/d64e5571bc8d_fix_pkgvote_votets.py +++ b/migrations/versions/d64e5571bc8d_fix_pkgvote_votets.py @@ -5,6 +5,7 @@ Revises: be7adae47ac3 Create Date: 2022-02-18 12:47:05.322766 """ + from datetime import datetime import sqlalchemy as sa diff --git a/migrations/versions/e4e49ffce091_add_hidedeletedcomments_to_user.py b/migrations/versions/e4e49ffce091_add_hidedeletedcomments_to_user.py index bc18b519..6637cc0d 100644 --- a/migrations/versions/e4e49ffce091_add_hidedeletedcomments_to_user.py +++ b/migrations/versions/e4e49ffce091_add_hidedeletedcomments_to_user.py @@ -5,6 +5,7 @@ Revises: 9e3158957fd7 Create Date: 2023-04-19 23:24:25.854874 """ + from alembic import op from sqlalchemy.exc import OperationalError diff --git a/migrations/versions/ef39fcd6e1cd_add_sso_account_id_in_table_users.py b/migrations/versions/ef39fcd6e1cd_add_sso_account_id_in_table_users.py index 3cf369e7..260c903b 100644 --- a/migrations/versions/ef39fcd6e1cd_add_sso_account_id_in_table_users.py +++ b/migrations/versions/ef39fcd6e1cd_add_sso_account_id_in_table_users.py @@ -5,6 +5,7 @@ Revises: f47cad5d6d03 Create Date: 2020-06-08 10:04:13.898617 """ + import sqlalchemy as sa from alembic import op from sqlalchemy.engine.reflection import Inspector diff --git a/migrations/versions/f47cad5d6d03_initial_revision.py b/migrations/versions/f47cad5d6d03_initial_revision.py index 7373e0fb..a8a007f3 100644 --- a/migrations/versions/f47cad5d6d03_initial_revision.py +++ b/migrations/versions/f47cad5d6d03_initial_revision.py @@ -4,6 +4,7 @@ Revision ID: f47cad5d6d03 Create Date: 2020-02-23 13:23:32.331396 """ + # revision identifiers, used by Alembic. revision = "f47cad5d6d03" down_revision = None diff --git a/test/conftest.py b/test/conftest.py index 575e9b98..da24ed81 100644 --- a/test/conftest.py +++ b/test/conftest.py @@ -37,6 +37,7 @@ then clears the database for each test function run in that module. It is done this way because migration has a large cost; migrating ahead of each function takes too long when compared to this method. """ + import os import pathlib from multiprocessing import Lock diff --git a/test/test_html.py b/test/test_html.py index 9129de00..602ee26c 100644 --- a/test/test_html.py +++ b/test/test_html.py @@ -1,4 +1,5 @@ """ A test suite used to test HTML renders in different cases. """ + import hashlib import os import tempfile diff --git a/test/test_l10n.py b/test/test_l10n.py index b86e78fc..e1b5ac3f 100644 --- a/test/test_l10n.py +++ b/test/test_l10n.py @@ -1,4 +1,5 @@ """ Test our l10n module. """ + from aurweb import config, filters, l10n from aurweb.testing.requests import Request diff --git a/test/test_package.py b/test/test_package.py index 2a9df483..83dd8d54 100644 --- a/test/test_package.py +++ b/test/test_package.py @@ -8,8 +8,6 @@ from aurweb.models.package import Package from aurweb.models.package_base import PackageBase from aurweb.models.user import User -user = pkgbase = package = None - @pytest.fixture(autouse=True) def setup(db_test): diff --git a/test/test_requests.py b/test/test_requests.py index c118ce0b..dd621cc5 100644 --- a/test/test_requests.py +++ b/test/test_requests.py @@ -144,9 +144,11 @@ def requests( pkgreq = db.create( PackageRequest, ReqTypeID=DELETION_ID, - User=maintainer2 - if packages[i].PackageBase.Maintainer.Username == "test_maintainer2" - else user, + User=( + maintainer2 + if packages[i].PackageBase.Maintainer.Username == "test_maintainer2" + else user + ), PackageBase=packages[i].PackageBase, PackageBaseName=packages[i].Name, Comments=f"Deletion request for pkg_{i}", diff --git a/test/test_session.py b/test/test_session.py index db792b33..f1af9613 100644 --- a/test/test_session.py +++ b/test/test_session.py @@ -1,4 +1,5 @@ """ Test our Session model. """ + from unittest import mock import pytest