From 67b3ba028f9cda8d4a660d70d632223de4f8c7c2 Mon Sep 17 00:00:00 2001 From: Sean Budd Date: Wed, 26 Mar 2025 11:37:24 +1100 Subject: [PATCH 1/2] Improve add-on submission error reporting --- _validate/createJson.py | 11 ++++------- requirements.txt | 4 ++-- 2 files changed, 6 insertions(+), 9 deletions(-) diff --git a/_validate/createJson.py b/_validate/createJson.py index a135071..863ccff 100644 --- a/_validate/createJson.py +++ b/_validate/createJson.py @@ -1,6 +1,6 @@ #!/usr/bin/env python -# Copyright (C) 2022-2024 Noelia Ruiz Martínez, NV Access Limited +# Copyright (C) 2022-2025 Noelia Ruiz Martínez, NV Access Limited # This file may be used under the terms of the GNU General Public License, version 2 or later. # For more details see: https://www.gnu.org/licenses/gpl-2.0.html @@ -92,8 +92,7 @@ def _createDictMatchingJsonSchema( try: addonVersionNumber = MajorMinorPatch.getFromStr(manifest["version"]) except ValueError: - manifest._errors = f"Manifest version invalid {addonVersionNumber}" - raise + raise ValueError(f"Manifest version invalid {addonVersionNumber}") try: addonData = { @@ -116,8 +115,7 @@ def _createDictMatchingJsonSchema( "license": licenseName, } except KeyError as e: - manifest._errors = f"Manifest missing required key '{e.args[0]}'." - raise + raise KeyError(f"Manifest missing required key '{e.args[0]}'.") # Add optional fields homepage = manifest.get("url") @@ -140,8 +138,7 @@ def _createDictMatchingJsonSchema( } ) except KeyError as e: - manifest._errors = f"Translation for {langCode} missing required key '{e.args[0]}'." - raise + raise KeyError(f"Translation for {langCode} missing required key '{e.args[0]}'.") return addonData diff --git a/requirements.txt b/requirements.txt index 01ca178..6d0cea5 100644 --- a/requirements.txt +++ b/requirements.txt @@ -5,6 +5,6 @@ flake8==3.9.2 flake8-tabs==2.2.2 # Requirements for validate -git+https://github.com/DiffSK/configobj@3e2f4cc#egg=configobj -jsonschema==3.1 +configobj @ git+https://github.com/DiffSK/configobj@8be54629ee7c26acb5c865b74c76284e80f3aa31#egg=configobj +jsonschema==4.23.0 From 2ef5b1d76f11a3844f7b53d71c2ac01ebbd1c3f7 Mon Sep 17 00:00:00 2001 From: Sean Budd Date: Wed, 26 Mar 2025 15:37:33 +1100 Subject: [PATCH 2/2] use from e --- _validate/createJson.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/_validate/createJson.py b/_validate/createJson.py index 863ccff..5515a56 100644 --- a/_validate/createJson.py +++ b/_validate/createJson.py @@ -91,8 +91,8 @@ def _createDictMatchingJsonSchema( """Refer to _validate/addonVersion_schema.json""" try: addonVersionNumber = MajorMinorPatch.getFromStr(manifest["version"]) - except ValueError: - raise ValueError(f"Manifest version invalid {addonVersionNumber}") + except ValueError as e: + raise ValueError(f"Manifest version invalid {addonVersionNumber}") from e try: addonData = { @@ -115,7 +115,7 @@ def _createDictMatchingJsonSchema( "license": licenseName, } except KeyError as e: - raise KeyError(f"Manifest missing required key '{e.args[0]}'.") + raise KeyError(f"Manifest missing required key '{e.args[0]}'.") from e # Add optional fields homepage = manifest.get("url") @@ -138,7 +138,7 @@ def _createDictMatchingJsonSchema( } ) except KeyError as e: - raise KeyError(f"Translation for {langCode} missing required key '{e.args[0]}'.") + raise KeyError(f"Translation for {langCode} missing required key '{e.args[0]}'.") from e return addonData