From e2a262cf1a40846309421123948adedf3afd6e00 Mon Sep 17 00:00:00 2001 From: Olivier Korach Date: Mon, 3 Nov 2025 02:35:39 +0100 Subject: [PATCH 1/3] Fix sonar.announcement.message --- sonar/settings.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sonar/settings.py b/sonar/settings.py index 9b9217b8..1a92c47f 100644 --- a/sonar/settings.py +++ b/sonar/settings.py @@ -206,7 +206,7 @@ def reload(self, data: types.ApiPayload) -> None: self.value = data.get("mode", "MQR") != "STANDARD_EXPERIENCE" elif self.key == COMPONENT_VISIBILITY: self.value = data.get("visibility", None) - elif self.key == "sonar.login.message": + elif self.key in ("sonar.login.message", "sonar.announcement.message"): self.value = None if "values" in data and isinstance(data["values"], list) and len(data["values"]) > 0: self.value = data["values"][0] From 3cd534b05791db6a024fca32b94cc803746dd496 Mon Sep 17 00:00:00 2001 From: Olivier Korach Date: Mon, 3 Nov 2025 02:40:32 +0100 Subject: [PATCH 2/3] Fix conversion of bool values from string to bool --- sonar/utilities.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/sonar/utilities.py b/sonar/utilities.py index 431b1b77..efa8bc3b 100644 --- a/sonar/utilities.py +++ b/sonar/utilities.py @@ -172,10 +172,10 @@ def convert_to_type(value: str) -> Any: return float(value) except ValueError: pass - try: - return bool(value) - except ValueError: - pass + if value.lower() == "true": + return True + if value.lower() == "false": + return False return value From 739606a2397aac0a0f578d5e57422c02c1aa7e0e Mon Sep 17 00:00:00 2001 From: Olivier Korach Date: Mon, 3 Nov 2025 02:46:23 +0100 Subject: [PATCH 3/3] Export project permissions as list --- sonar/projects.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sonar/projects.py b/sonar/projects.py index 190bb099..1e187397 100644 --- a/sonar/projects.py +++ b/sonar/projects.py @@ -1008,7 +1008,7 @@ def export(self, export_settings: types.ConfigSettings, settings_list: Optional[ json_data[settings.NEW_CODE_PERIOD] = nc json_data["qualityProfiles"] = util.dict_to_list(self.__export_get_qp(), "language", "name") json_data["links"] = self.links() - json_data["permissions"] = self.permissions().to_json(csv=export_settings.get("INLINE_LISTS", True)) + json_data["permissions"] = util.perms_to_list(self.permissions().to_json(csv=export_settings.get("INLINE_LISTS", True))) if self.endpoint.version() >= (10, 7, 0): json_data["aiCodeFix"] = self.ai_code_fix() json_data["branches"] = util.dict_to_list(self.__get_branch_export(export_settings), "name")