From 97d4717d74db36e839a346a9c4bfc5e15b4eef7e Mon Sep 17 00:00:00 2001 From: Mathieu Benoit Date: Sat, 4 May 2024 13:15:00 -0400 Subject: [PATCH] [FIX] script search class model: hide error for default lambda funct --- script/code_generator/search_class_model.py | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/script/code_generator/search_class_model.py b/script/code_generator/search_class_model.py index 225ce09..6289189 100755 --- a/script/code_generator/search_class_model.py +++ b/script/code_generator/search_class_model.py @@ -156,11 +156,18 @@ def fill_search_field(ast_obj, var_name="", py_filename=""): # Support -> fields.Date.context_today parent_node = ast_obj lst_call_lambda = [] - while hasattr(parent_node, "value"): - lst_call_lambda.insert(0, parent_node.attr) - parent_node = parent_node.value - lst_call_lambda.insert(0, parent_node.id) - result = ".".join(lst_call_lambda) + if hasattr(parent_node, "id"): + while hasattr(parent_node, "value"): + lst_call_lambda.insert(0, parent_node.attr) + parent_node = parent_node.value + lst_call_lambda.insert(0, parent_node.id) + result = ".".join(lst_call_lambda) + else: + # default=uuid.uuid4().hex + _logger.warning( + f"Cannot support keyword of variable {var_name} type" + f" {ast_obj_type} in filename {py_filename}, because parent_node is type ast.Call." + ) elif ast_obj_type is ast.List: result = [fill_search_field(a, var_name) for a in ast_obj.elts] elif ast_obj_type is ast.Dict: