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 d61b008 Fix function order in POST route and shared modules
d61b008 is described below
commit d61b008af7945b55d0776dede25bf3852cb08edd
Author: Sean B. Palmer <[email protected]>
AuthorDate: Tue Dec 23 18:54:58 2025 +0000
Fix function order in POST route and shared modules
---
atr/post/distribution.py | 32 ++++++++++++++---------------
atr/post/keys.py | 50 +++++++++++++++++++++++-----------------------
atr/shared/distribution.py | 26 ++++++++++++------------
3 files changed, 54 insertions(+), 54 deletions(-)
diff --git a/atr/post/distribution.py b/atr/post/distribution.py
index 6194d61..15fa395 100644
--- a/atr/post/distribution.py
+++ b/atr/post/distribution.py
@@ -59,22 +59,6 @@ async def delete(
)
[email protected]("/distribution/record/<project>/<version>")
[email protected](shared.distribution.DistributeForm)
-async def record_selected(
- session: web.Committer, distribute_form:
shared.distribution.DistributeForm, project: str, version: str
-) -> web.WerkzeugResponse:
- return await record_form_process_page(session, distribute_form, project,
version, staging=False)
-
-
[email protected]("/distribution/stage/<project>/<version>")
[email protected](shared.distribution.DistributeForm)
-async def stage_selected(
- session: web.Committer, distribute_form:
shared.distribution.DistributeForm, project: str, version: str
-) -> web.WerkzeugResponse:
- return await record_form_process_page(session, distribute_form, project,
version, staging=True)
-
-
async def record_form_process_page(
session: web.Committer,
form_data: shared.distribution.DistributeForm,
@@ -121,3 +105,19 @@ async def record_form_process_page(
version=version,
success=message,
)
+
+
[email protected]("/distribution/record/<project>/<version>")
[email protected](shared.distribution.DistributeForm)
+async def record_selected(
+ session: web.Committer, distribute_form:
shared.distribution.DistributeForm, project: str, version: str
+) -> web.WerkzeugResponse:
+ return await record_form_process_page(session, distribute_form, project,
version, staging=False)
+
+
[email protected]("/distribution/stage/<project>/<version>")
[email protected](shared.distribution.DistributeForm)
+async def stage_selected(
+ session: web.Committer, distribute_form:
shared.distribution.DistributeForm, project: str, version: str
+) -> web.WerkzeugResponse:
+ return await record_form_process_page(session, distribute_form, project,
version, staging=True)
diff --git a/atr/post/keys.py b/atr/post/keys.py
index 2ba25a4..9dc03d7 100644
--- a/atr/post/keys.py
+++ b/atr/post/keys.py
@@ -227,31 +227,6 @@ async def _delete_ssh_key(session: web.Committer,
delete_form: shared.keys.Delet
return await session.redirect(get.keys.keys, success="SSH key deleted
successfully")
-async def _upload_remote_keys(upload_remote_form:
shared.keys.UploadRemoteForm) -> str:
- """Fetch KEYS file from ASF downloads."""
- try:
- selected_committee = upload_remote_form.committee
- async with db.session() as data:
- committee = await data.committee(name=selected_committee).get()
- if not committee:
- await quart.flash(f"Committee '{selected_committee}' not
found", "error")
- return await shared.keys.render_upload_page(error=True)
- is_podling = committee.is_podling
-
- keys_url = _construct_keys_url(selected_committee,
is_podling=is_podling)
- keys_text = await _fetch_keys_from_url(keys_url)
-
- if not keys_text:
- await quart.flash("No KEYS data found at ASF downloads", "error")
- return await shared.keys.render_upload_page(error=True)
-
- return await _process_keys(keys_text, selected_committee)
- except Exception as e:
- log.exception("Error fetching KEYS file from ASF:")
- await quart.flash(f"Error fetching KEYS file: {e!s}", "error")
- return await shared.keys.render_upload_page(error=True)
-
-
async def _fetch_keys_from_url(keys_url: str) -> str:
"""Fetch KEYS file from ASF downloads."""
try:
@@ -324,3 +299,28 @@ async def _upload_file_keys(upload_file_form:
shared.keys.UploadFileForm) -> str
log.exception("Error uploading KEYS file:")
await quart.flash(f"Error processing KEYS file: {e!s}", "error")
return await shared.keys.render_upload_page(error=True)
+
+
+async def _upload_remote_keys(upload_remote_form:
shared.keys.UploadRemoteForm) -> str:
+ """Fetch KEYS file from ASF downloads."""
+ try:
+ selected_committee = upload_remote_form.committee
+ async with db.session() as data:
+ committee = await data.committee(name=selected_committee).get()
+ if not committee:
+ await quart.flash(f"Committee '{selected_committee}' not
found", "error")
+ return await shared.keys.render_upload_page(error=True)
+ is_podling = committee.is_podling
+
+ keys_url = _construct_keys_url(selected_committee,
is_podling=is_podling)
+ keys_text = await _fetch_keys_from_url(keys_url)
+
+ if not keys_text:
+ await quart.flash("No KEYS data found at ASF downloads", "error")
+ return await shared.keys.render_upload_page(error=True)
+
+ return await _process_keys(keys_text, selected_committee)
+ except Exception as e:
+ log.exception("Error fetching KEYS file from ASF:")
+ await quart.flash(f"Error fetching KEYS file: {e!s}", "error")
+ return await shared.keys.render_upload_page(error=True)
diff --git a/atr/shared/distribution.py b/atr/shared/distribution.py
index d63aa69..11c8494 100644
--- a/atr/shared/distribution.py
+++ b/atr/shared/distribution.py
@@ -186,19 +186,6 @@ def html_tr_a(label: str, value: str | None) ->
htm.Element:
return htm.tr[htm.th[label], htm.td[htm.a(href=value)[value] if value else
"-"]]
-async def release_validated_and_committee(
- project: str,
- version: str,
- *,
- staging: bool | None = None,
-) -> tuple[sql.Release, sql.Committee]:
- release = await release_validated(project, version, committee=True,
staging=staging)
- committee = release.committee
- if committee is None:
- raise RuntimeError(f"Release {project} {version} has no committee")
- return release, committee
-
-
async def release_validated(
project: str,
version: str,
@@ -223,3 +210,16 @@ async def release_validated(
# if release.project.status != sql.ProjectStatus.ACTIVE:
# raise RuntimeError(f"Project {project} is not active")
return release
+
+
+async def release_validated_and_committee(
+ project: str,
+ version: str,
+ *,
+ staging: bool | None = None,
+) -> tuple[sql.Release, sql.Committee]:
+ release = await release_validated(project, version, committee=True,
staging=staging)
+ committee = release.committee
+ if committee is None:
+ raise RuntimeError(f"Release {project} {version} has no committee")
+ return release, committee
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]