Skip to content

Commit 8c9741a

Browse files
committed
Correct formatting of dates in _prep_values_text()
1 parent 8a3d9ec commit 8c9741a

File tree

1 file changed

+23
-2
lines changed

1 file changed

+23
-2
lines changed

pointblank/validate.py

Lines changed: 23 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7987,14 +7987,19 @@ def _prep_column_text(column: list[str]) -> str:
79877987

79887988

79897989
def _prep_values_text(
7990-
values: str | int | float | list[str | int | float],
7990+
values: str
7991+
| int
7992+
| float
7993+
| datetime.datetime
7994+
| datetime.date
7995+
| list[str | int | float | datetime.datetime | datetime.date],
79917996
lang: str,
79927997
limit: int = 3,
79937998
) -> str:
79947999
if isinstance(values, ColumnLiteral):
79958000
return f"`{values}`"
79968001

7997-
if isinstance(values, (str, int, float)):
8002+
if isinstance(values, (str, int, float, datetime.datetime, datetime.date)):
79988003
values = [values]
79998004

80008005
length_values = len(values)
@@ -8005,6 +8010,14 @@ def _prep_values_text(
80058010
if length_values > limit:
80068011
num_omitted = length_values - limit
80078012

8013+
# Format datetime objects as strings if present
8014+
formatted_values = []
8015+
for value in values[:limit]:
8016+
if isinstance(value, (datetime.datetime, datetime.date)):
8017+
formatted_values.append(f"`{value.isoformat()}`")
8018+
else:
8019+
formatted_values.append(f"`{value}`")
8020+
80088021
values_str = ", ".join([f"`{value}`" for value in values[:limit]])
80098022

80108023
additional_text = EXPECT_FAIL_TEXT["values_text"][lang]
@@ -8014,6 +8027,14 @@ def _prep_values_text(
80148027
values_str = f"{values_str}, {additional_str}"
80158028

80168029
else:
8030+
# Format datetime objects as strings if present
8031+
formatted_values = []
8032+
for value in values:
8033+
if isinstance(value, (datetime.datetime, datetime.date)):
8034+
formatted_values.append(f"`{value.isoformat()}`")
8035+
else:
8036+
formatted_values.append(f"`{value}`")
8037+
80178038
values_str = ", ".join([f"`{value}`" for value in values])
80188039

80198040
return values_str

0 commit comments

Comments
 (0)