@@ -862,9 +862,21 @@ def get_term_info(short_form: str, preview: bool = False):
862862 return term_info
863863 else :
864864 print ("Failed to fill query preview results!" )
865+ # Set default values for queries when fill_query_results fails
866+ for query in parsed_object .get ('Queries' , []):
867+ # Set default preview_results structure
868+ query ['preview_results' ] = {'headers' : query .get ('preview_columns' , ['id' , 'label' , 'tags' , 'thumbnail' ]), 'rows' : []}
869+ # Set count to 0 when we can't get the real count
870+ query ['count' ] = 0
865871 return parsed_object
866872 except Exception as e :
867- print (f"Error filling query results (continuing without query data): { e } " )
873+ print (f"Error filling query results (setting default values): { e } " )
874+ # Set default values for queries when fill_query_results fails
875+ for query in parsed_object .get ('Queries' , []):
876+ # Set default preview_results structure
877+ query ['preview_results' ] = {'headers' : query .get ('preview_columns' , ['id' , 'label' , 'tags' , 'thumbnail' ]), 'rows' : []}
878+ # Set count to 0 when we can't get the real count
879+ query ['count' ] = 0
868880 return parsed_object
869881 else :
870882 # No queries to fill, return parsed object directly
@@ -1339,15 +1351,22 @@ def fill_query_results(term_info):
13391351 if function :
13401352 # print(f"Function {query['function']} found")
13411353
1342- # Unpack the default dictionary and pass its contents as arguments
1343- function_args = query ['takes' ].get ("default" , {})
1344- # print(f"Function args: {function_args}")
1354+ try :
1355+ # Unpack the default dictionary and pass its contents as arguments
1356+ function_args = query ['takes' ].get ("default" , {})
1357+ # print(f"Function args: {function_args}")
13451358
1346- # Modify this line to use the correct arguments and pass the default arguments
1347- if summary_mode :
1348- result = function (return_dataframe = False , limit = query ['preview' ], summary_mode = summary_mode , ** function_args )
1349- else :
1350- result = function (return_dataframe = False , limit = query ['preview' ], ** function_args )
1359+ # Modify this line to use the correct arguments and pass the default arguments
1360+ if summary_mode :
1361+ result = function (return_dataframe = False , limit = query ['preview' ], summary_mode = summary_mode , ** function_args )
1362+ else :
1363+ result = function (return_dataframe = False , limit = query ['preview' ], ** function_args )
1364+ except Exception as e :
1365+ print (f"Error executing query function { query ['function' ]} : { e } " )
1366+ # Set default values for failed query
1367+ query ['preview_results' ] = {'headers' : query .get ('preview_columns' , ['id' , 'label' , 'tags' , 'thumbnail' ]), 'rows' : []}
1368+ query ['count' ] = 0
1369+ continue
13511370 # print(f"Function result: {result}")
13521371
13531372 # Filter columns based on preview_columns
0 commit comments