This commit is contained in:
Santh 2026-07-18 16:17:06 -07:00 committed by GitHub
commit 6b5b03fd81
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 6 additions and 2 deletions

View file

@ -68,9 +68,11 @@ def parsedatetime(
def jsonsplit(
value: str, delimiter: str = ",", type: Callable[[str], object] = str
) -> str:
value: Optional[str], delimiter: str = ",", type: Callable[[str], object] = str
) -> Optional[str]:
"""
Convert a string like a,b,c into a JSON array ["a", "b", "c"]
"""
if value is None:
return value
return json.dumps([type(s.strip()) for s in value.split(delimiter)])

View file

@ -101,6 +101,7 @@ def test_jsonsplit(fresh_db, delimiter):
[
{"id": 1, "tags": (delimiter or ",").join(["foo", "bar"])},
{"id": 2, "tags": (delimiter or ",").join(["bar", "baz"])},
{"id": 3, "tags": None},
],
pk="id",
)
@ -116,6 +117,7 @@ def test_jsonsplit(fresh_db, delimiter):
assert list(fresh_db["example"].rows) == [
{"id": 1, "tags": '["foo", "bar"]'},
{"id": 2, "tags": '["bar", "baz"]'},
{"id": 3, "tags": None},
]