]> git.ipfire.org Git - thirdparty/mkosi.git/commitdiff
json: produce a known error when parsing JSON
authorJoerg Behrmann <behrmann@physik.fu-berlin.de>
Wed, 27 Sep 2023 10:46:32 +0000 (12:46 +0200)
committerJoerg Behrmann <behrmann@physik.fu-berlin.de>
Wed, 4 Oct 2023 08:00:57 +0000 (10:00 +0200)
mkosi/config.py

index e1df2b1537c6ded77eb41a70556568e8885cb371..1a4202dee9e4951626564c14b0f8b5fdbebe73b0 100644 (file)
@@ -2802,7 +2802,10 @@ def json_type_transformer(refcls: Union[type[MkosiArgs], type[MkosiConfig]]) ->
         assert fieldtype is not None
         transformer = cast(Optional[Callable[[str, type], Any]], transformers.get(fieldtype.type))
         if transformer is not None:
-            return transformer(val, fieldtype.type)
+            try:
+                return transformer(val, fieldtype.type)
+            except (ValueError, IndexError, AssertionError) as e:
+                raise ValueError(f"Unable to parse {val:r} for attribute {key:r} for {refcls.__name__}") from e
 
         return val