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]