Skip to content

Commit a4f12e1

Browse files
committed
fix: resolve ruff-format CI failure and refine case-mismatch warning logic
1 parent 40c77d5 commit a4f12e1

1 file changed

Lines changed: 18 additions & 8 deletions

File tree

malariagen_data/anoph/sample_metadata.py

Lines changed: 18 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -803,15 +803,20 @@ def sample_metadata(
803803
# Extract column names from comparison expressions in the query.
804804
# Match patterns like: column == 'value' or column == "value"
805805
referenced_cols = re.findall(
806-
r"\b(\w+)\s*[=!<>]+\s*['\"]" , prepared_sample_query
806+
r"\b(\w+)\s*[=!<>]+\s*['\"]", prepared_sample_query
807807
)
808808

809809
hint_lines = [
810-
f"sample_metadata() returned 0 samples for the given "
811-
f"query: {prepared_sample_query!r}.",
812-
"Note: string comparisons in sample_query are "
813-
"case-sensitive.",
810+
f"sample_metadata() returned 0 samples for the given query: {prepared_sample_query!r}.",
814811
]
812+
813+
# Only add the case-sensitivity hint when the query
814+
# contains quoted string literals (not numeric-only).
815+
if re.search(r"['\"].+?['\"]", prepared_sample_query):
816+
hint_lines.append(
817+
"Note: string comparisons in sample_query are case-sensitive."
818+
)
819+
815820
# For each referenced string column, list valid values.
816821
for col in dict.fromkeys(referenced_cols): # deduplicate
817822
if (
@@ -821,9 +826,14 @@ def sample_metadata(
821826
valid_vals = sorted(
822827
df_before_query[col].dropna().unique().tolist()
823828
)
824-
hint_lines.append(
825-
f"Valid values for column {col!r}: {valid_vals}"
826-
)
829+
if len(valid_vals) > 20:
830+
hint_lines.append(
831+
f"Valid values for column {col!r} (showing 20 of {len(valid_vals)}): {valid_vals[:20]}"
832+
)
833+
else:
834+
hint_lines.append(
835+
f"Valid values for column {col!r}: {valid_vals}"
836+
)
827837

828838
warnings.warn("\n".join(hint_lines), UserWarning, stacklevel=2)
829839

0 commit comments

Comments
 (0)