Skip to content

Commit ed1993e

Browse files
committed
Set default values for queries when filling results fails
1 parent b98241a commit ed1993e

1 file changed

Lines changed: 28 additions & 9 deletions

File tree

src/vfbquery/vfb_queries.py

Lines changed: 28 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)