From 23cbab046c13d18b27ea9810693aa4389a430d5c Mon Sep 17 00:00:00 2001 From: Hykilpikonna Date: Sun, 21 Nov 2021 23:15:54 -0500 Subject: [PATCH] [+] Support stringify sets --- src/raw_collect/utils.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/raw_collect/utils.py b/src/raw_collect/utils.py index 1f4b78a..d347bb5 100644 --- a/src/raw_collect/utils.py +++ b/src/raw_collect/utils.py @@ -93,14 +93,20 @@ class EnhancedJSONEncoder(json.JSONEncoder): if isinstance(o, (datetime, date)): return o.isoformat() + # Support for sets + # https://stackoverflow.com/a/8230505/7346633 + if isinstance(o, set): + return list(o) + return super().default(o) def json_stringify(obj) -> str: """ - Serialize json string with support for dataclasses and datetime + Serialize json string with support for dataclasses and datetime and sets and with custom + configuration. :param obj: Objects :return: Json strings """ - return json.dumps(obj, indent=1, cls=EnhancedJSONEncoder) + return json.dumps(obj, indent=1, cls=EnhancedJSONEncoder, ensure_ascii=False)