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

sbp pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/tooling-trusted-releases.git


The following commit(s) were added to refs/heads/main by this push:
     new efe519a  Move the session module to avoid frequent name collisions
efe519a is described below

commit efe519ae4ec96f4e538e4a0a03e78fb0f931a600
Author: Sean B. Palmer <[email protected]>
AuthorDate: Mon Oct 27 15:19:22 2025 +0000

    Move the session module to avoid frequent name collisions
---
 atr/admin/__init__.py      | 88 +++++++++++++++++++++++-----------------------
 atr/blueprints/admin.py    | 12 +++----
 atr/blueprints/get.py      | 14 ++++----
 atr/blueprints/post.py     | 14 ++++----
 atr/get/announce.py        |  4 +--
 atr/get/candidate.py       |  6 ++--
 atr/get/committees.py      |  6 ++--
 atr/get/example_test.py    |  4 +--
 atr/post/announce.py       |  4 +--
 atr/post/candidate.py      |  4 +--
 atr/post/example_test.py   |  4 +--
 atr/principal.py           |  8 ++---
 atr/{session.py => web.py} |  0
 13 files changed, 84 insertions(+), 84 deletions(-)

diff --git a/atr/admin/__init__.py b/atr/admin/__init__.py
index 2230452..1eae223 100644
--- a/atr/admin/__init__.py
+++ b/atr/admin/__init__.py
@@ -45,7 +45,6 @@ import atr.log as log
 import atr.models.sql as sql
 import atr.principal as principal
 import atr.routes.mapping as mapping
-import atr.session as session
 import atr.storage as storage
 import atr.storage.outcome as outcome
 import atr.storage.types as types
@@ -53,6 +52,7 @@ import atr.tasks as tasks
 import atr.template as template
 import atr.util as util
 import atr.validate as validate
+import atr.web as web
 
 ROUTES_MODULE: Final[Literal[True]] = True
 
@@ -93,7 +93,7 @@ class LdapLookupForm(forms.Typed):
 
 
 @admin.get("/all-releases")
-async def all_releases(session: session.Committer) -> str:
+async def all_releases(session: web.Committer) -> str:
     """Display a list of all releases across all phases."""
     async with db.session() as data:
         releases = await data.release(_project=True, 
_committee=True).order_by(sql.Release.name).all()
@@ -101,16 +101,16 @@ async def all_releases(session: session.Committer) -> str:
 
 
 @admin.get("/browse-as")
-async def browse_as_get(session: session.Committer) -> str | response.Response:
+async def browse_as_get(session: web.Committer) -> str | response.Response:
     return await _browse_as(session)
 
 
 @admin.post("/browse-as")
-async def browse_as_post(session: session.Committer) -> str | 
response.Response:
+async def browse_as_post(session: web.Committer) -> str | response.Response:
     return await _browse_as(session)
 
 
-async def _browse_as(session: session.Committer) -> str | response.Response:
+async def _browse_as(session: web.Committer) -> str | response.Response:
     """Allows an admin to browse as another user."""
     # TODO: Enable this in debugging mode only?
     from atr.routes import root
@@ -159,7 +159,7 @@ async def _browse_as(session: session.Committer) -> str | 
response.Response:
 
 
 @admin.get("/configuration")
-async def configuration(session: session.Committer) -> 
quart.wrappers.response.Response:
+async def configuration(session: web.Committer) -> 
quart.wrappers.response.Response:
     """Display the current application configuration values."""
 
     conf = config.get()
@@ -182,7 +182,7 @@ async def configuration(session: session.Committer) -> 
quart.wrappers.response.R
 
 
 @admin.get("/consistency")
-async def consistency(session: session.Committer) -> quart.Response:
+async def consistency(session: web.Committer) -> quart.Response:
     """Check for consistency between the database and the filesystem."""
     # Get all releases from the database
     async with db.session() as data:
@@ -231,7 +231,7 @@ Paired correctly:
 
 @admin.get("/data")
 @admin.get("/data/<model>")
-async def data(session: session.Committer, model: str = "Committee") -> str:
+async def data(session: web.Committer, model: str = "Committee") -> str:
     """Browse all records in the database."""
     async with db.session() as data:
         # Map of model names to their classes
@@ -279,16 +279,16 @@ async def data(session: session.Committer, model: str = 
"Committee") -> str:
 
 
 @admin.get("/delete-test-openpgp-keys")
-async def delete_test_openpgp_keys_get(session: session.Committer) -> 
quart.Response | response.Response:
+async def delete_test_openpgp_keys_get(session: web.Committer) -> 
quart.Response | response.Response:
     return await _delete_test_openpgp_keys(session)
 
 
 @admin.post("/delete-test-openpgp-keys")
-async def delete_test_openpgp_keys_post(session: session.Committer) -> 
quart.Response | response.Response:
+async def delete_test_openpgp_keys_post(session: web.Committer) -> 
quart.Response | response.Response:
     return await _delete_test_openpgp_keys(session)
 
 
-async def _delete_test_openpgp_keys(session: session.Committer) -> 
quart.Response | response.Response:
+async def _delete_test_openpgp_keys(session: web.Committer) -> quart.Response 
| response.Response:
     """Delete all test user OpenPGP keys and their links."""
     import atr.routes
 
@@ -321,16 +321,16 @@ async def _delete_test_openpgp_keys(session: 
session.Committer) -> quart.Respons
 
 
 @admin.get("/delete-committee-keys")
-async def delete_committee_keys_get(session: session.Committer) -> str | 
response.Response:
+async def delete_committee_keys_get(session: web.Committer) -> str | 
response.Response:
     return await _delete_committee_keys(session)
 
 
 @admin.post("/delete-committee-keys")
-async def delete_committee_keys_post(session: session.Committer) -> str | 
response.Response:
+async def delete_committee_keys_post(session: web.Committer) -> str | 
response.Response:
     return await _delete_committee_keys(session)
 
 
-async def _delete_committee_keys(session: session.Committer) -> str | 
response.Response:
+async def _delete_committee_keys(session: web.Committer) -> str | 
response.Response:
     form = await DeleteCommitteeKeysForm.create_form()
     async with db.session() as data:
         all_committees = await 
data.committee(_public_signing_keys=True).order_by(sql.Committee.name).all()
@@ -382,16 +382,16 @@ async def _delete_committee_keys(session: 
session.Committer) -> str | response.R
 
 
 @admin.get("/delete-release")
-async def delete_release_get(session: session.Committer) -> str | 
response.Response:
+async def delete_release_get(session: web.Committer) -> str | 
response.Response:
     return await _delete_release(session)
 
 
 @admin.post("/delete-release")
-async def delete_release_post(session: session.Committer) -> str | 
response.Response:
+async def delete_release_post(session: web.Committer) -> str | 
response.Response:
     return await _delete_release(session)
 
 
-async def _delete_release(session: session.Committer) -> str | 
response.Response:
+async def _delete_release(session: web.Committer) -> str | response.Response:
     """Page to delete selected releases and their associated data and files."""
     form = await DeleteReleaseForm.create_form()
 
@@ -421,7 +421,7 @@ async def _delete_release(session: session.Committer) -> 
str | response.Response
 
 
 @admin.get("/env")
-async def env(session: session.Committer) -> quart.wrappers.response.Response:
+async def env(session: web.Committer) -> quart.wrappers.response.Response:
     """Display the environment variables."""
     env_vars = []
     for key, value in os.environ.items():
@@ -430,16 +430,16 @@ async def env(session: session.Committer) -> 
quart.wrappers.response.Response:
 
 
 @admin.get("/keys/check")
-async def keys_check_get(session: session.Committer) -> quart.Response:
+async def keys_check_get(session: web.Committer) -> quart.Response:
     return await _keys_check(session)
 
 
 @admin.post("/keys/check")
-async def keys_check_post(session: session.Committer) -> quart.Response:
+async def keys_check_post(session: web.Committer) -> quart.Response:
     return await _keys_check(session)
 
 
-async def _keys_check(session: session.Committer) -> quart.Response:
+async def _keys_check(session: web.Committer) -> quart.Response:
     """Check public signing key details."""
     if quart.request.method != "POST":
         empty_form = await forms.Empty.create_form()
@@ -462,16 +462,16 @@ async def _keys_check(session: session.Committer) -> 
quart.Response:
 
 
 @admin.get("/keys/regenerate-all")
-async def keys_regenerate_all_get(session: session.Committer) -> 
quart.Response:
+async def keys_regenerate_all_get(session: web.Committer) -> quart.Response:
     return await _keys_regenerate_all(session)
 
 
 @admin.post("/keys/regenerate-all")
-async def keys_regenerate_all_post(session: session.Committer) -> 
quart.Response:
+async def keys_regenerate_all_post(session: web.Committer) -> quart.Response:
     return await _keys_regenerate_all(session)
 
 
-async def _keys_regenerate_all(session: session.Committer) -> quart.Response:
+async def _keys_regenerate_all(session: web.Committer) -> quart.Response:
     """Regenerate the KEYS file for all committees."""
     if quart.request.method != "POST":
         empty_form = await forms.Empty.create_form()
@@ -507,16 +507,16 @@ async def _keys_regenerate_all(session: 
session.Committer) -> quart.Response:
 
 
 @admin.get("/keys/update")
-async def keys_update_get(session: session.Committer) -> str | 
response.Response | tuple[Mapping[str, Any], int]:
+async def keys_update_get(session: web.Committer) -> str | response.Response | 
tuple[Mapping[str, Any], int]:
     return await _keys_update(session)
 
 
 @admin.post("/keys/update")
-async def keys_update_post(session: session.Committer) -> str | 
response.Response | tuple[Mapping[str, Any], int]:
+async def keys_update_post(session: web.Committer) -> str | response.Response 
| tuple[Mapping[str, Any], int]:
     return await _keys_update(session)
 
 
-async def _keys_update(session: session.Committer) -> str | response.Response 
| tuple[Mapping[str, Any], int]:
+async def _keys_update(session: web.Committer) -> str | response.Response | 
tuple[Mapping[str, Any], int]:
     """Update keys from remote data."""
     if quart.request.method != "POST":
         empty_form = await forms.Empty.create_form()
@@ -544,16 +544,16 @@ async def _keys_update(session: session.Committer) -> str 
| response.Response |
 
 
 @admin.get("/ldap/")
-async def ldap_get(session: session.Committer) -> str:
+async def ldap_get(session: web.Committer) -> str:
     return await _ldap(session)
 
 
 @admin.post("/ldap/")
-async def ldap_post(session: session.Committer) -> str:
+async def ldap_post(session: web.Committer) -> str:
     return await _ldap(session)
 
 
-async def _ldap(session: session.Committer) -> str:
+async def _ldap(session: web.Committer) -> str:
     form = await LdapLookupForm.create_form(data=quart.request.args)
 
     uid_query = form.uid.data
@@ -588,20 +588,20 @@ async def _ldap(session: session.Committer) -> str:
 
 @admin.get("/ongoing-tasks/<project_name>/<version_name>/<revision>")
 async def ongoing_tasks_get(
-    session: session.Committer, project_name: str, version_name: str, 
revision: str
+    session: web.Committer, project_name: str, version_name: str, revision: str
 ) -> quart.wrappers.response.Response:
     return await _ongoing_tasks(session, project_name, version_name, revision)
 
 
 @admin.post("/ongoing-tasks/<project_name>/<version_name>/<revision>")
 async def ongoing_tasks_post(
-    session: session.Committer, project_name: str, version_name: str, 
revision: str
+    session: web.Committer, project_name: str, version_name: str, revision: str
 ) -> quart.wrappers.response.Response:
     return await _ongoing_tasks(session, project_name, version_name, revision)
 
 
 async def _ongoing_tasks(
-    session: session.Committer, project_name: str, version_name: str, 
revision: str
+    session: web.Committer, project_name: str, version_name: str, revision: str
 ) -> quart.wrappers.response.Response:
     try:
         ongoing = await interaction.tasks_ongoing(project_name, version_name, 
revision)
@@ -612,7 +612,7 @@ async def _ongoing_tasks(
 
 
 @admin.get("/performance")
-async def performance(session: session.Committer) -> str:
+async def performance(session: web.Committer) -> str:
     """Display performance statistics for all routes."""
     app = asfquart.APP
 
@@ -693,16 +693,16 @@ async def performance(session: session.Committer) -> str:
 
 
 @admin.get("/projects/update")
-async def projects_update_get(session: session.Committer) -> str | 
response.Response | tuple[Mapping[str, Any], int]:
+async def projects_update_get(session: web.Committer) -> str | 
response.Response | tuple[Mapping[str, Any], int]:
     return await _projects_update(session)
 
 
 @admin.post("/projects/update")
-async def projects_update_post(session: session.Committer) -> str | 
response.Response | tuple[Mapping[str, Any], int]:
+async def projects_update_post(session: web.Committer) -> str | 
response.Response | tuple[Mapping[str, Any], int]:
     return await _projects_update(session)
 
 
-async def _projects_update(session: session.Committer) -> str | 
response.Response | tuple[Mapping[str, Any], int]:
+async def _projects_update(session: web.Committer) -> str | response.Response 
| tuple[Mapping[str, Any], int]:
     """Update projects from remote data."""
     if quart.request.method == "POST":
         try:
@@ -724,13 +724,13 @@ async def _projects_update(session: session.Committer) -> 
str | response.Respons
 
 
 @admin.get("/tasks")
-async def tasks_(session: session.Committer) -> str:
+async def tasks_(session: web.Committer) -> str:
     return await template.render("tasks.html")
 
 
 @admin.get("/task-times/<project_name>/<version_name>/<revision_number>")
 async def task_times(
-    session: session.Committer, project_name: str, version_name: str, 
revision_number: str
+    session: web.Committer, project_name: str, version_name: str, 
revision_number: str
 ) -> quart.wrappers.response.Response:
     values = []
     async with db.session() as data:
@@ -747,7 +747,7 @@ async def task_times(
 
 
 @admin.get("/test")
-async def test(session: session.Committer) -> quart.wrappers.response.Response:
+async def test(session: web.Committer) -> quart.wrappers.response.Response:
     """Test the storage layer."""
     import atr.storage as storage
 
@@ -780,14 +780,14 @@ async def test(session: session.Committer) -> 
quart.wrappers.response.Response:
 
 
 @admin.get("/toggle-view")
-async def toggle_view_get(session: session.Committer) -> str:
+async def toggle_view_get(session: web.Committer) -> str:
     """Display the page with a button to toggle between admin and user 
views."""
     empty_form = await forms.Empty.create_form()
     return await template.render("toggle-admin-view.html", 
empty_form=empty_form)
 
 
 @admin.post("/toggle-view")
-async def toggle_view_post(session: session.Committer) -> response.Response:
+async def toggle_view_post(session: web.Committer) -> response.Response:
     await util.validate_empty_form()
 
     app = asfquart.APP
@@ -806,7 +806,7 @@ async def toggle_view_post(session: session.Committer) -> 
response.Response:
 
 
 @admin.get("/validate")
-async def validate_(session: session.Committer) -> str:
+async def validate_(session: web.Committer) -> str:
     """Run validators and display any divergences."""
 
     async with db.session() as data:
@@ -841,7 +841,7 @@ async def _check_keys(fix: bool = False) -> str:
     return message
 
 
-async def _delete_releases(session: session.Committer, releases_to_delete: 
list[str]) -> None:
+async def _delete_releases(session: web.Committer, releases_to_delete: 
list[str]) -> None:
     success_count = 0
     fail_count = 0
     error_messages = []
diff --git a/atr/blueprints/admin.py b/atr/blueprints/admin.py
index ad263fe..f0106c7 100644
--- a/atr/blueprints/admin.py
+++ b/atr/blueprints/admin.py
@@ -23,8 +23,8 @@ import asfquart.base as base
 import asfquart.session
 import quart
 
-import atr.session as session
 import atr.user as user
+import atr.web as web
 
 _BLUEPRINT_NAME = "admin_blueprint"
 _BLUEPRINT = quart.Blueprint(_BLUEPRINT_NAME, __name__, url_prefix="/admin", 
template_folder="../admin/templates")
@@ -39,7 +39,7 @@ async def _check_admin_access() -> None:
     if web_session.uid not in user.get_admin_users():
         raise base.ASFQuartException("You are not authorized to access the 
admin interface", errorcode=403)
 
-    quart.g.session = session.Committer(web_session)
+    quart.g.session = web.Committer(web_session)
 
 
 def register(app: base.QuartApp) -> ModuleType:
@@ -49,8 +49,8 @@ def register(app: base.QuartApp) -> ModuleType:
     return admin
 
 
-def get(path: str) -> Callable[[session.CommitterRouteFunction[Any]], 
session.RouteFunction[Any]]:
-    def decorator(func: session.CommitterRouteFunction[Any]) -> 
session.RouteFunction[Any]:
+def get(path: str) -> Callable[[web.CommitterRouteFunction[Any]], 
web.RouteFunction[Any]]:
+    def decorator(func: web.CommitterRouteFunction[Any]) -> 
web.RouteFunction[Any]:
         async def wrapper(*args: Any, **kwargs: Any) -> Any:
             return await func(quart.g.session, *args, **kwargs)
 
@@ -66,8 +66,8 @@ def get(path: str) -> 
Callable[[session.CommitterRouteFunction[Any]], session.Ro
     return decorator
 
 
-def post(path: str) -> Callable[[session.CommitterRouteFunction[Any]], 
session.RouteFunction[Any]]:
-    def decorator(func: session.CommitterRouteFunction[Any]) -> 
session.RouteFunction[Any]:
+def post(path: str) -> Callable[[web.CommitterRouteFunction[Any]], 
web.RouteFunction[Any]]:
+    def decorator(func: web.CommitterRouteFunction[Any]) -> 
web.RouteFunction[Any]:
         async def wrapper(*args: Any, **kwargs: Any) -> Any:
             return await func(quart.g.session, *args, **kwargs)
 
diff --git a/atr/blueprints/get.py b/atr/blueprints/get.py
index 7567d8e..628f148 100644
--- a/atr/blueprints/get.py
+++ b/atr/blueprints/get.py
@@ -26,7 +26,7 @@ import asfquart.session
 import quart
 
 import atr.log as log
-import atr.session as session
+import atr.web as web
 
 _BLUEPRINT_NAME = "get_blueprint"
 _BLUEPRINT = quart.Blueprint(_BLUEPRINT_NAME, __name__)
@@ -39,14 +39,14 @@ def register(app: base.QuartApp) -> ModuleType:
     return get
 
 
-def committer(path: str) -> Callable[[session.CommitterRouteFunction[Any]], 
session.RouteFunction[Any]]:
-    def decorator(func: session.CommitterRouteFunction[Any]) -> 
session.RouteFunction[Any]:
+def committer(path: str) -> Callable[[web.CommitterRouteFunction[Any]], 
web.RouteFunction[Any]]:
+    def decorator(func: web.CommitterRouteFunction[Any]) -> 
web.RouteFunction[Any]:
         async def wrapper(*args: Any, **kwargs: Any) -> Any:
             web_session = await asfquart.session.read()
             if web_session is None:
                 raise base.ASFQuartException("Not authenticated", 
errorcode=401)
 
-            enhanced_session = session.Committer(web_session)
+            enhanced_session = web.Committer(web_session)
             start_time_ns = time.perf_counter_ns()
             response = await func(enhanced_session, *args, **kwargs)
             end_time_ns = time.perf_counter_ns()
@@ -80,11 +80,11 @@ def committer(path: str) -> 
Callable[[session.CommitterRouteFunction[Any]], sess
     return decorator
 
 
-def public(path: str) -> Callable[[Callable[..., Awaitable[Any]]], 
session.RouteFunction[Any]]:
-    def decorator(func: Callable[..., Awaitable[Any]]) -> 
session.RouteFunction[Any]:
+def public(path: str) -> Callable[[Callable[..., Awaitable[Any]]], 
web.RouteFunction[Any]]:
+    def decorator(func: Callable[..., Awaitable[Any]]) -> 
web.RouteFunction[Any]:
         async def wrapper(*args: Any, **kwargs: Any) -> Any:
             web_session = await asfquart.session.read()
-            enhanced_session = session.Committer(web_session) if web_session 
else None
+            enhanced_session = web.Committer(web_session) if web_session else 
None
             return await func(enhanced_session, *args, **kwargs)
 
         endpoint = func.__module__.replace(".", "_") + "_" + func.__name__
diff --git a/atr/blueprints/post.py b/atr/blueprints/post.py
index 1ae092f..622c680 100644
--- a/atr/blueprints/post.py
+++ b/atr/blueprints/post.py
@@ -26,7 +26,7 @@ import asfquart.session
 import quart
 
 import atr.log as log
-import atr.session as session
+import atr.web as web
 
 _BLUEPRINT_NAME = "post_blueprint"
 _BLUEPRINT = quart.Blueprint(_BLUEPRINT_NAME, __name__)
@@ -39,14 +39,14 @@ def register(app: base.QuartApp) -> ModuleType:
     return post
 
 
-def committer(path: str) -> Callable[[session.CommitterRouteFunction[Any]], 
session.RouteFunction[Any]]:
-    def decorator(func: session.CommitterRouteFunction[Any]) -> 
session.RouteFunction[Any]:
+def committer(path: str) -> Callable[[web.CommitterRouteFunction[Any]], 
web.RouteFunction[Any]]:
+    def decorator(func: web.CommitterRouteFunction[Any]) -> 
web.RouteFunction[Any]:
         async def wrapper(*args: Any, **kwargs: Any) -> Any:
             web_session = await asfquart.session.read()
             if web_session is None:
                 raise base.ASFQuartException("Not authenticated", 
errorcode=401)
 
-            enhanced_session = session.Committer(web_session)
+            enhanced_session = web.Committer(web_session)
             start_time_ns = time.perf_counter_ns()
             response = await func(enhanced_session, *args, **kwargs)
             end_time_ns = time.perf_counter_ns()
@@ -80,11 +80,11 @@ def committer(path: str) -> 
Callable[[session.CommitterRouteFunction[Any]], sess
     return decorator
 
 
-def public(path: str) -> Callable[[Callable[..., Awaitable[Any]]], 
session.RouteFunction[Any]]:
-    def decorator(func: Callable[..., Awaitable[Any]]) -> 
session.RouteFunction[Any]:
+def public(path: str) -> Callable[[Callable[..., Awaitable[Any]]], 
web.RouteFunction[Any]]:
+    def decorator(func: Callable[..., Awaitable[Any]]) -> 
web.RouteFunction[Any]:
         async def wrapper(*args: Any, **kwargs: Any) -> Any:
             web_session = await asfquart.session.read()
-            enhanced_session = session.Committer(web_session) if web_session 
else None
+            enhanced_session = web.Committer(web_session) if web_session else 
None
             return await func(enhanced_session, *args, **kwargs)
 
         endpoint = func.__module__.replace(".", "_") + "_" + func.__name__
diff --git a/atr/get/announce.py b/atr/get/announce.py
index 0d8951a..f2f43ff 100644
--- a/atr/get/announce.py
+++ b/atr/get/announce.py
@@ -22,14 +22,14 @@ import atr.blueprints.get as get
 import atr.config as config
 import atr.construct as construct
 import atr.models.sql as sql
-import atr.session as session
 import atr.shared as shared
 import atr.template as template
 import atr.util as util
+import atr.web as web
 
 
 @get.committer("/announce/<project_name>/<version_name>")
-async def selected(session: session.Committer, project_name: str, 
version_name: str) -> str | response.Response:
+async def selected(session: web.Committer, project_name: str, version_name: 
str) -> str | response.Response:
     """Allow the user to announce a release preview."""
     await session.check_access(project_name)
 
diff --git a/atr/get/candidate.py b/atr/get/candidate.py
index 23dd107..3b19391 100644
--- a/atr/get/candidate.py
+++ b/atr/get/candidate.py
@@ -24,13 +24,13 @@ import atr.blueprints.get as get
 import atr.db as db
 import atr.log as log
 import atr.models.sql as sql
-import atr.session as session
 import atr.template as template
 import atr.util as util
+import atr.web as web
 
 
 @get.committer("/candidate/view/<project_name>/<version_name>")
-async def view(session: session.Committer, project_name: str, version_name: 
str) -> response.Response | str:
+async def view(session: web.Committer, project_name: str, version_name: str) 
-> response.Response | str:
     """View all the files in the rsync upload directory for a release."""
     await session.check_access(project_name)
 
@@ -66,7 +66,7 @@ async def view(session: session.Committer, project_name: str, 
version_name: str)
 
 
@get.committer("/candidate/view/<project_name>/<version_name>/<path:file_path>")
 async def view_path(
-    session: session.Committer, project_name: str, version_name: str, 
file_path: str
+    session: web.Committer, project_name: str, version_name: str, file_path: 
str
 ) -> response.Response | str:
     """View the content of a specific file in the release candidate."""
     await session.check_access(project_name)
diff --git a/atr/get/committees.py b/atr/get/committees.py
index d74f859..8f8107b 100644
--- a/atr/get/committees.py
+++ b/atr/get/committees.py
@@ -22,10 +22,10 @@ import atr.blueprints.get as get
 import atr.db as db
 import atr.forms as forms
 import atr.models.sql as sql
-import atr.session as session
 import atr.shared as shared
 import atr.template as template
 import atr.util as util
+import atr.web as web
 
 
 class UpdateCommitteeKeysForm(forms.Typed):
@@ -33,7 +33,7 @@ class UpdateCommitteeKeysForm(forms.Typed):
 
 
 @get.public("/committees")
-async def directory(session: session.Committer | None) -> str:
+async def directory(session: web.Committer | None) -> str:
     """Main committee directory page."""
     async with db.session() as data:
         committees = await 
data.committee(_projects=True).order_by(sql.Committee.name).all()
@@ -45,7 +45,7 @@ async def directory(session: session.Committer | None) -> str:
 
 
 @get.public("/committees/<name>")
-async def view(session: session.Committer | None, name: str) -> str:
+async def view(session: web.Committer | None, name: str) -> str:
     # TODO: Could also import this from keys.py
     async with db.session() as data:
         committee = await data.committee(
diff --git a/atr/get/example_test.py b/atr/get/example_test.py
index d8f399c..2a29a13 100644
--- a/atr/get/example_test.py
+++ b/atr/get/example_test.py
@@ -18,12 +18,12 @@
 import atr.blueprints.get as get
 import atr.forms as forms
 import atr.post as post
-import atr.session as session
 import atr.util as util
+import atr.web as web
 
 
 @get.committer("/example/test")
-async def respond(session: session.Committer) -> str:
+async def respond(session: web.Committer) -> str:
     empty_form = await forms.Empty.create_form()
     return f"""\
 <h1>Test route (GET)</h1>
diff --git a/atr/post/announce.py b/atr/post/announce.py
index 894f035..c8e4746 100644
--- a/atr/post/announce.py
+++ b/atr/post/announce.py
@@ -23,11 +23,11 @@ import atr.blueprints.post as post
 import atr.get as get
 import atr.models.sql as sql
 import atr.routes.release as routes_release
-import atr.session as session
 import atr.shared as shared
 import atr.storage as storage
 import atr.template as template
 import atr.util as util
+import atr.web as web
 
 
 class AnnounceError(Exception):
@@ -35,7 +35,7 @@ class AnnounceError(Exception):
 
 
 @post.committer("/announce/<project_name>/<version_name>")
-async def selected(session: session.Committer, project_name: str, 
version_name: str) -> str | response.Response:
+async def selected(session: web.Committer, project_name: str, version_name: 
str) -> str | response.Response:
     """Handle the announcement form submission and promote the preview to 
release."""
     await session.check_access(project_name)
 
diff --git a/atr/post/candidate.py b/atr/post/candidate.py
index f5396f6..3b56c4d 100644
--- a/atr/post/candidate.py
+++ b/atr/post/candidate.py
@@ -21,11 +21,11 @@ import werkzeug.wrappers.response as response
 
 import atr.blueprints.post as post
 import atr.routes.root as root
-import atr.session as session
+import atr.web as web
 
 
 @post.committer("/candidate/delete")
-async def delete(session: session.Committer) -> response.Response:
+async def delete(session: web.Committer) -> response.Response:
     """Delete a release candidate."""
     # TODO: We need to never retire revisions, if allowing release deletion
     return await session.redirect(root.index, error="Not yet implemented")
diff --git a/atr/post/example_test.py b/atr/post/example_test.py
index ec399e3..fce4b45 100644
--- a/atr/post/example_test.py
+++ b/atr/post/example_test.py
@@ -19,12 +19,12 @@ import quart
 
 import atr.blueprints.post as post
 import atr.get as get
-import atr.session as session
 import atr.util as util
+import atr.web as web
 
 
 @post.committer("/example/test")
-async def respond(session: session.Committer) -> quart.Response:
+async def respond(session: web.Committer) -> quart.Response:
     await util.validate_empty_form()
     await quart.flash("POST request successful!", "success")
 
diff --git a/atr/principal.py b/atr/principal.py
index 73d3829..45421db 100644
--- a/atr/principal.py
+++ b/atr/principal.py
@@ -29,8 +29,8 @@ import atr.config as config
 import atr.ldap as ldap
 import atr.log as log
 import atr.route as route
-import atr.session as session
 import atr.util as util
+import atr.web as web
 
 LDAP_CHAIRS_BASE = "cn=pmc-chairs,ou=groups,ou=services,dc=apache,dc=org"
 LDAP_DN = "uid=%s,ou=people,dc=apache,dc=org"
@@ -61,7 +61,7 @@ class ArgumentNoneType:
 
 ArgumentNone = ArgumentNoneType()
 
-type UID = route.CommitterSession | session.Committer | str | None | 
ArgumentNoneType
+type UID = route.CommitterSession | web.Committer | str | None | 
ArgumentNoneType
 
 
 def attr_to_list(attr):
@@ -354,9 +354,9 @@ class AsyncObject:
 class Authorisation(AsyncObject):
     async def __init__(self, asf_uid: UID = ArgumentNone):
         match asf_uid:
-            case ArgumentNoneType() | route.CommitterSession() | 
session.Committer():
+            case ArgumentNoneType() | route.CommitterSession() | 
web.Committer():
                 match asf_uid:
-                    case route.CommitterSession() | session.Committer():
+                    case route.CommitterSession() | web.Committer():
                         asfquart_session = asf_uid._session
                     case _:
                         asfquart_session = await asfquart.session.read()
diff --git a/atr/session.py b/atr/web.py
similarity index 100%
rename from atr/session.py
rename to atr/web.py


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to