This is an automated email from the ASF dual-hosted git repository.

tn pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/tooling-atr-experiments.git


The following commit(s) were added to refs/heads/main by this push:
     new 07767b5  enable some more sane ruff checks
07767b5 is described below

commit 07767b55f49cdf1d55427f65eac8b9b5a23fabad
Author: Thomas Neidhart <t...@apache.org>
AuthorDate: Mon Feb 17 22:31:13 2025 +0100

    enable some more sane ruff checks
---
 atr/blueprints/secret/__init__.py |  5 ++---
 atr/blueprints/secret/secret.py   |  7 ++++---
 atr/config.py                     | 20 +++++++++++---------
 atr/routes.py                     | 13 ++++++-------
 pyproject.toml                    | 13 ++++++++++++-
 5 files changed, 35 insertions(+), 23 deletions(-)

diff --git a/atr/blueprints/secret/__init__.py 
b/atr/blueprints/secret/__init__.py
index dfd4942..c82efc1 100644
--- a/atr/blueprints/secret/__init__.py
+++ b/atr/blueprints/secret/__init__.py
@@ -17,8 +17,7 @@
 
 from quart import Blueprint
 
-from asfquart.auth import Requirements as R
-from asfquart.auth import require
+from asfquart.auth import Requirements, require
 from asfquart.base import ASFQuartException
 from asfquart.session import read as session_read
 from atr.util import get_admin_users
@@ -28,7 +27,7 @@ blueprint = Blueprint("secret_blueprint", __name__, 
url_prefix="/secret")
 
 @blueprint.before_request
 async def before_request_func() -> None:
-    @require(R.committer)
+    @require(Requirements.committer)
     async def check_logged_in() -> None:
         session = await session_read()
         if session is None:
diff --git a/atr/blueprints/secret/secret.py b/atr/blueprints/secret/secret.py
index 7ec78c5..c6d5bcf 100644
--- a/atr/blueprints/secret/secret.py
+++ b/atr/blueprints/secret/secret.py
@@ -37,6 +37,8 @@ from atr.db.service import get_pmcs
 
 from . import blueprint
 
+_WHIMSY_COMMITTEE_URL = "https://whimsy.apache.org/public/committee-info.json";
+
 
 @blueprint.route("/data")
 @blueprint.route("/data/<model>")
@@ -90,14 +92,13 @@ async def secret_pmcs_update() -> str:
 
     if request.method == "POST":
         # Fetch committee-info.json from Whimsy
-        WHIMSY_URL = "https://whimsy.apache.org/public/committee-info.json";
         async with httpx.AsyncClient() as client:
             try:
-                response = await client.get(WHIMSY_URL)
+                response = await client.get(_WHIMSY_COMMITTEE_URL)
                 response.raise_for_status()
                 data = response.json()
             except (httpx.RequestError, json.JSONDecodeError) as e:
-                raise ASFQuartException(f"Failed to fetch committee data: 
{str(e)}", errorcode=500)
+                raise ASFQuartException(f"Failed to fetch committee data: 
{e!s}", errorcode=500)
 
         committees = data.get("committees", {})
         updated_count = 0
diff --git a/atr/config.py b/atr/config.py
index f2154ec..7a3c11d 100644
--- a/atr/config.py
+++ b/atr/config.py
@@ -33,15 +33,17 @@ class AppConfig:
     # Use aiosqlite for async SQLite access
     SQLITE_URL = config("SQLITE_URL", default="sqlite+aiosqlite:///./atr.db")
 
-    ADMIN_USERS = {
-        "cwells",
-        "fluxo",
-        "gmcdonald",
-        "humbedooh",
-        "sbp",
-        "tn",
-        "wave",
-    }
+    ADMIN_USERS = frozenset(
+        {
+            "cwells",
+            "fluxo",
+            "gmcdonald",
+            "humbedooh",
+            "sbp",
+            "tn",
+            "wave",
+        }
+    )
 
 
 class ProductionConfig(AppConfig):
diff --git a/atr/routes.py b/atr/routes.py
index 0a77fb3..cc2fbf2 100644
--- a/atr/routes.py
+++ b/atr/routes.py
@@ -40,8 +40,7 @@ from sqlmodel import select
 from werkzeug.datastructures import FileStorage
 
 from asfquart import APP
-from asfquart.auth import Requirements as R
-from asfquart.auth import require
+from asfquart.auth import Requirements, require
 from asfquart.base import ASFQuartException
 from asfquart.session import ClientSession
 from asfquart.session import read as session_read
@@ -166,7 +165,7 @@ async def ephemeral_gpg_home():
 
 
 @APP.route("/add-release-candidate", methods=["GET", "POST"])
-@require(R.committer)
+@require(Requirements.committer)
 async def root_add_release_candidate() -> str:
     """Add a release candidate to the database."""
     session = await session_read()
@@ -187,7 +186,7 @@ async def root_add_release_candidate() -> str:
 
 
 @APP.route("/release/signatures/verify/<release_key>")
-@require(R.committer)
+@require(Requirements.committer)
 async def root_release_signatures_verify(release_key: str) -> str:
     """Verify the GPG signatures for all packages in a release candidate."""
     session = await session_read()
@@ -315,7 +314,7 @@ async def root_pmc_list() -> list[dict]:
 
 
 @APP.route("/user/keys/add", methods=["GET", "POST"])
-@require(R.committer)
+@require(Requirements.committer)
 async def root_user_keys_add() -> str:
     """Add a new GPG key to the user's account."""
     session = await session_read()
@@ -350,7 +349,7 @@ async def root_user_keys_add() -> str:
 
 
 @APP.route("/user/keys/delete")
-@require(R.committer)
+@require(Requirements.committer)
 async def root_user_keys_delete() -> str:
     """Debug endpoint to delete all of a user's keys."""
     session = await session_read()
@@ -374,7 +373,7 @@ async def root_user_keys_delete() -> str:
 
 
 @APP.route("/user/uploads")
-@require(R.committer)
+@require(Requirements.committer)
 async def root_user_uploads() -> str:
     """Show all release candidates uploaded by the current user."""
     session = await session_read()
diff --git a/pyproject.toml b/pyproject.toml
index 1161586..4b46c3e 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -76,7 +76,18 @@ executionEnvironments = [
 ]
 
 [tool.ruff]
-lint.select = ["I", "E", "W", "F", "C90", "UP"]
+lint.select = [
+  "I",   # isort
+  "E",
+  "W",
+  "F",
+  "N",   # pep8-naming
+  "RUF", # ruff-checks
+  "C90",
+  "TID", # flake8-tidy-imports
+  "TCH", # flake8-type-checking
+  "UP"   # pyupgrade
+]
 lint.ignore = []
 line-length = 120
 exclude = ["asfquart"]


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tooling.apache.org
For additional commands, e-mail: dev-h...@tooling.apache.org

Reply via email to