From 4961d73867fadaf7c6ff95105f3eca68b7bc1f7e Mon Sep 17 00:00:00 2001
From: Stefan Hansson <newbyte@postmarketos.org>
Date: Sat, 2 Nov 2024 12:26:27 +0100
Subject: [PATCH] mrhlpr, mrtest: Add more type hints

---
 mrhlpr/mr.py             | 6 ++++--
 mrtest/frontend.py       | 6 +++---
 mrtest/select_package.py | 6 +++---
 3 files changed, 10 insertions(+), 8 deletions(-)

diff --git a/mrhlpr/mr.py b/mrhlpr/mr.py
index 6af25ea..276f592 100644
--- a/mrhlpr/mr.py
+++ b/mrhlpr/mr.py
@@ -130,7 +130,9 @@ def get_status(
     )
 
 
-def get_pipeline_metadata(mr_id, no_cache: bool, origin: gitlab.GitLabOrigin) -> PipelineMetadata:
+def get_pipeline_metadata(
+    mr_id: int, no_cache: bool, origin: gitlab.GitLabOrigin
+) -> PipelineMetadata:
     # Get the latest pipeline (without cache so we don't miss newer ones)
     url_mr = "/projects/{}/merge_requests/{}".format(origin.api_project_id, mr_id)
     api = gitlab.download_json(origin, url_mr, no_cache=True)
@@ -447,7 +449,7 @@ def commits_are_signed(commits: list[str]) -> bool:
 
 def run_git_filter_branch(
     script: str, from_ref: str, mr_id: Optional[int] = None, label: Optional[str] = None
-):
+) -> None:
     script = os.path.realpath(os.path.realpath(__file__) + f"/../data/{script}")
     env = os.environ.copy()
     env["FILTER_BRANCH_SQUELCH_WARNING"] = "1"
diff --git a/mrtest/frontend.py b/mrtest/frontend.py
index a523b93..04d87dc 100644
--- a/mrtest/frontend.py
+++ b/mrtest/frontend.py
@@ -18,7 +18,7 @@ except ImportError:
     pass
 
 
-def arguments_add(sub) -> None:
+def arguments_add(sub: argparse._SubParsersAction) -> None:
     """:param sub: argparser's subparser"""
     parser = sub.add_parser("add", help="install packages from an MR")
     parser.add_argument(
@@ -27,7 +27,7 @@ def arguments_add(sub) -> None:
     parser.add_argument("mr_id", type=int, help="merge request ID")
 
 
-def arguments_upgrade(sub) -> None:
+def arguments_upgrade(sub: argparse._SubParsersAction) -> None:
     """:param sub: argparser's subparser"""
     parser = sub.add_parser("upgrade", help="upgrade to packages from an MR")
     parser.add_argument(
@@ -42,7 +42,7 @@ def arguments_upgrade(sub) -> None:
     parser.add_argument("mr_id", type=int, help="merge request ID")
 
 
-def arguments_zap(sub) -> None:
+def arguments_zap(sub: argparse._SubParsersAction) -> None:
     """:param sub: argparser's subparser"""
     sub.add_parser("zap", help="uninstall previously added packages")
 
diff --git a/mrtest/select_package.py b/mrtest/select_package.py
index 8a290ec..fa18b28 100644
--- a/mrtest/select_package.py
+++ b/mrtest/select_package.py
@@ -8,7 +8,7 @@ import zipfile
 import mrtest.apk_installed
 
 
-def get_apks_in_zip(zip_path) -> list[str]:
+def get_apks_in_zip(zip_path: str) -> list[str]:
     """
     :param zip_path: downloaded artifacts zip containing the apks
     :returns: list of paths inside the zip file like:
@@ -92,7 +92,7 @@ def show_commands() -> None:
     print("Toggling multiple packages in one command is possible (e.g. 2 3 4 10-15 20)")
 
 
-def toggle_package(selection, apks: list[str], ret) -> list[str]:
+def toggle_package(selection: int | str, apks: list[str], ret: list[str]) -> list[str]:
     """Toggle the package based on the user action.
     :param selection: user input, single integer
     :param apks: list of packages available for install
@@ -109,7 +109,7 @@ def toggle_package(selection, apks: list[str], ret) -> list[str]:
     return ret
 
 
-def toggle_packages(action, apks: list[str], ret: list[str]) -> list[str]:
+def toggle_packages(action: str, apks: list[str], ret: list[str]) -> list[str]:
     """Toggle multiple packages based on the user action.
     :param action: user input, multiple integers or range
     :param apks: list of packages available for install
-- 
GitLab