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]

Reply via email to