diff --git a/web/src/padelnomics/app.py b/web/src/padelnomics/app.py index 0278b2c..f7ea5bd 100644 --- a/web/src/padelnomics/app.py +++ b/web/src/padelnomics/app.py @@ -19,7 +19,7 @@ from .core import ( ) setup_logging() -from .i18n import LANG_BLUEPRINTS, SUPPORTED_LANGS, get_country_name, get_translations +from .i18n import LANG_BLUEPRINTS, SUPPORTED_LANGS, get_country_name, get_translations # noqa: E402 _ASSET_VERSION = str(int(time.time())) diff --git a/web/src/padelnomics/core.py b/web/src/padelnomics/core.py index 58eb21e..19f9438 100644 --- a/web/src/padelnomics/core.py +++ b/web/src/padelnomics/core.py @@ -23,7 +23,7 @@ from dotenv import load_dotenv # These calls run synchronously on the event loop thread; a shorter cap limits stalls. _RESEND_TIMEOUT_SECONDS = 10 resend.default_http_client = resend.RequestsClient(timeout=_RESEND_TIMEOUT_SECONDS) -from quart import g, make_response, render_template, request, session +from quart import g, make_response, render_template, request, session # noqa: E402 load_dotenv() diff --git a/web/src/padelnomics/migrations/migrate.py b/web/src/padelnomics/migrations/migrate.py index 8705e5d..b3ad328 100644 --- a/web/src/padelnomics/migrations/migrate.py +++ b/web/src/padelnomics/migrations/migrate.py @@ -45,7 +45,7 @@ logger = logging.getLogger(__name__) sys.path.insert(0, str(Path(__file__).parent.parent.parent.parent)) -from dotenv import load_dotenv +from dotenv import load_dotenv # noqa: E402 load_dotenv() diff --git a/web/src/padelnomics/planner/routes.py b/web/src/padelnomics/planner/routes.py index 6d85f03..50ed5ef 100644 --- a/web/src/padelnomics/planner/routes.py +++ b/web/src/padelnomics/planner/routes.py @@ -7,8 +7,6 @@ import logging import math from pathlib import Path -logger = logging.getLogger(__name__) - from quart import Blueprint, Response, g, jsonify, render_template, request from ..auth.routes import login_required @@ -25,6 +23,8 @@ from ..core import ( from ..i18n import get_translations from .calculator import COUNTRY_CURRENCY, CURRENCY_DEFAULT, calc, validate_state +logger = logging.getLogger(__name__) + bp = Blueprint( "planner", __name__, diff --git a/web/src/padelnomics/scripts/setup_paddle.py b/web/src/padelnomics/scripts/setup_paddle.py index fce1488..59395a5 100644 --- a/web/src/padelnomics/scripts/setup_paddle.py +++ b/web/src/padelnomics/scripts/setup_paddle.py @@ -14,8 +14,6 @@ import sys from pathlib import Path from dotenv import load_dotenv - -logger = logging.getLogger(__name__) from paddle_billing import Client as PaddleClient from paddle_billing import Environment, Options from paddle_billing.Entities.Events.EventTypeName import EventTypeName @@ -28,6 +26,8 @@ from paddle_billing.Resources.Prices.Operations import CreatePrice from paddle_billing.Resources.Products.Operations import CreateProduct, ListProducts from paddle_billing.Resources.Products.Operations.List.Includes import Includes +logger = logging.getLogger(__name__) + load_dotenv() PADDLE_API_KEY = os.getenv("PADDLE_API_KEY", "") diff --git a/web/tests/test_email_templates.py b/web/tests/test_email_templates.py index b5dc04e..9c110ff 100644 --- a/web/tests/test_email_templates.py +++ b/web/tests/test_email_templates.py @@ -12,7 +12,6 @@ import pytest from padelnomics.core import utcnow_iso from padelnomics.email_templates import EMAIL_TEMPLATE_REGISTRY, render_email_template - # ── render_email_template() ────────────────────────────────────────────────── diff --git a/web/tests/test_noindex.py b/web/tests/test_noindex.py index 89efb72..d7c4c38 100644 --- a/web/tests/test_noindex.py +++ b/web/tests/test_noindex.py @@ -8,14 +8,9 @@ Covers: - Article detail page has no robots meta tag for indexable articles """ from datetime import UTC, datetime -from unittest.mock import AsyncMock, patch -import pytest - -from padelnomics import core from padelnomics.content import NOINDEX_THRESHOLDS - # ── Threshold unit tests ───────────────────────────────────────────────────── @@ -156,7 +151,7 @@ class TestArticleDetailRobotsTag: VALUES (?, ?, 'Noindex Test', '', 'published', '2020-01-01 08:00:00', 'city-pricing', 'en', 1, datetime('now'))""", (url_path, slug), - ) as cursor: + ) as _: pass await db.commit() @@ -186,7 +181,7 @@ class TestArticleDetailRobotsTag: VALUES (?, ?, 'Indexable Test', '', 'published', '2020-01-01 08:00:00', 'city-pricing', 'en', 0, datetime('now'))""", (url_path, slug), - ) as cursor: + ) as _: pass await db.commit() diff --git a/web/tests/test_outreach.py b/web/tests/test_outreach.py index 6e46c5e..9013214 100644 --- a/web/tests/test_outreach.py +++ b/web/tests/test_outreach.py @@ -12,21 +12,21 @@ Covers: - Compose pre-fill (GET /admin/emails/compose with outreach params) - Compose send pipeline update (POST /admin/emails/compose with outreach type) """ +import csv as _csv_module import io from datetime import UTC, datetime from unittest.mock import AsyncMock, patch import pytest -from quart.datastructures import FileStorage - -from padelnomics import core from padelnomics.admin.routes import ( OUTREACH_STATUSES, get_follow_up_due_count, get_outreach_pipeline, get_outreach_suppliers, ) +from quart.datastructures import FileStorage +from padelnomics import core # ── Fixtures ────────────────────────────────────────────────────────────────── @@ -832,9 +832,6 @@ class TestActivityTimeline: assert resp.status_code == 200 -# ── CSV writer helper (avoids importing DictWriter at module level) ──────────── - -import csv as _csv_module def _csv_writer(buf, fieldnames): diff --git a/web/tests/test_supervisor.py b/web/tests/test_supervisor.py index 8a291db..6ab5fea 100644 --- a/web/tests/test_supervisor.py +++ b/web/tests/test_supervisor.py @@ -23,7 +23,7 @@ _spec = _ilu.spec_from_file_location("padelnomics_supervisor", _SUP_PATH) sup = _ilu.module_from_spec(_spec) _spec.loader.exec_module(sup) -from padelnomics_extract.proxy import ( +from padelnomics_extract.proxy import ( # noqa: E402 load_proxy_urls, make_round_robin_cycler, make_sticky_selector,