diff --git a/taipy/gui/_renderers/builder.py b/taipy/gui/_renderers/builder.py index fee6db420..ef2d73f8e 100644 --- a/taipy/gui/_renderers/builder.py +++ b/taipy/gui/_renderers/builder.py @@ -163,7 +163,9 @@ def _get_variable_hash_names( looks_like_a_lambda = False val = v if callable(val): + # if it's not a callable (and not a string), forget it if val.__name__ == "": + # if it is a lambda and it has already a hash_name, we're fine if looks_like_a_lambda or not hash_name: hash_name = gui._get_lambda_id(val) gui._bind_var_val(hash_name, val) # type: ignore[arg-type] diff --git a/taipy/gui/utils/_evaluator.py b/taipy/gui/utils/_evaluator.py index 111d19ab0..598abbb5e 100644 --- a/taipy/gui/utils/_evaluator.py +++ b/taipy/gui/utils/_evaluator.py @@ -149,6 +149,7 @@ def __save_expression( if expr_hash is None: expr_hash = _get_expr_var_name(expr) elif not lambda_expr: + # if lambda expr, it has a hasname, we work with that # edge case, only a single variable expr_hash = f"tpec_{_get_client_var_name(expr)}" self.__expr_to_hash[expr] = expr_hash