honnix
02/05/2024, 7:37 PMclass ExecutionExtra(NamedTuple):
error: str
class Result(NamedTuple):
execution_extra: ExecutionExtra
When I try to decode from the following proto to `Result`:
...
"executionExtra": {
"scalar": {
"generic": {
"error": "error"
}
}
},
...
I got execution_extra
as a dict instead of a proper instance of ExecutionExtra
.honnix
02/05/2024, 7:47 PMYee
Yee
honnix
02/06/2024, 8:37 AMhonnix
02/06/2024, 8:38 AMdef to_named_tuple(name: str, data: Any) -> Any:
if isinstance(data, dict):
data = {key: to_named_tuple(key, value) for key, value in data.items()}
return namedtuple(name, data.keys())(**data)
if isinstance(data, list):
return [to_named_tuple(name, item) for item in data]
return data