diff options
| author | Bruno Soares <brunomsss@gmail.com> | 2018-09-12 15:49:46 -0300 |
|---|---|---|
| committer | Iuri de Silvio <iurisilvio@gmail.com> | 2018-09-12 15:49:46 -0300 |
| commit | 3d5943a8a43a721bea1f3e33dc669a581a095c53 (patch) | |
| tree | 3da30935c5803328f45e4cdaf4fd27a9e996a5e5 /tablib | |
| parent | 38486231cc4dc46d1ff055a38fe7c236cbe5c8aa (diff) | |
| download | tablib-3d5943a8a43a721bea1f3e33dc669a581a095c53.tar.gz | |
Fix: Circular reference detected error (#332)
* Rename function name
* Add uuid handler on json dumps
* Add myself to authors
Diffstat (limited to 'tablib')
| -rw-r--r-- | tablib/formats/_json.py | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/tablib/formats/_json.py b/tablib/formats/_json.py index a3d6cc3..a3b88f8 100644 --- a/tablib/formats/_json.py +++ b/tablib/formats/_json.py @@ -3,6 +3,7 @@ """ Tablib - JSON Support """ import decimal +from uuid import UUID import tablib @@ -15,24 +16,23 @@ title = 'json' extensions = ('json', 'jsn') -def date_handler(obj): - if isinstance(obj, decimal.Decimal): +def serialize_objects_handler(obj): + if isinstance(obj, decimal.Decimal) or isinstance(obj, UUID): return str(obj) elif hasattr(obj, 'isoformat'): return obj.isoformat() else: return obj - # return obj.isoformat() if hasattr(obj, 'isoformat') else obj def export_set(dataset): """Returns JSON representation of Dataset.""" - return json.dumps(dataset.dict, default=date_handler) + return json.dumps(dataset.dict, default=serialize_objects_handler) def export_book(databook): """Returns JSON representation of Databook.""" - return json.dumps(databook._package(), default=date_handler) + return json.dumps(databook._package(), default=serialize_objects_handler) def import_set(dset, in_stream): |
