From 3061f15a86c147b3d523209d3c6241ece1753b0c Mon Sep 17 00:00:00 2001 From: Miroslav Shubernetskiy Date: Wed, 21 Nov 2018 13:21:31 -0500 Subject: [PATCH] fixing DoubleAsStrJsonEncoder for additional types --- HISTORY.rst | 5 +++++ drf_braces/__init__.py | 2 +- drf_braces/renderers.py | 2 +- drf_braces/tests/test_renderers.py | 13 +++++++++++-- 4 files changed, 18 insertions(+), 4 deletions(-) diff --git a/HISTORY.rst b/HISTORY.rst index c9332d7..709dfd3 100644 --- a/HISTORY.rst +++ b/HISTORY.rst @@ -3,6 +3,11 @@ History ------- +0.3.2 (2018-11-21) +~~~~~~~~~~~~~~~~~~ + +* Fixing ``DoubleAsStrJsonEncoder`` by subclassing from DRF which supports datetimes, etc + 0.3.1 (2018-11-07) ~~~~~~~~~~~~~~~~~~ diff --git a/drf_braces/__init__.py b/drf_braces/__init__.py index 0490507..a725b33 100755 --- a/drf_braces/__init__.py +++ b/drf_braces/__init__.py @@ -4,4 +4,4 @@ __author__ = 'Miroslav Shubernetskiy' __email__ = 'miroslav@miki725.com' -__version__ = '0.3.1' +__version__ = '0.3.2' diff --git a/drf_braces/renderers.py b/drf_braces/renderers.py index e0b9f8f..3799feb 100644 --- a/drf_braces/renderers.py +++ b/drf_braces/renderers.py @@ -1,10 +1,10 @@ # -*- coding: utf-8 -*- from __future__ import absolute_import, print_function, unicode_literals from collections import Mapping -from json import JSONEncoder import six from rest_framework.renderers import JSONRenderer +from rest_framework.utils.encoders import JSONEncoder class DoubleAsStrJsonEncoder(JSONEncoder): diff --git a/drf_braces/tests/test_renderers.py b/drf_braces/tests/test_renderers.py index 2d1b038..a4fd4b9 100644 --- a/drf_braces/tests/test_renderers.py +++ b/drf_braces/tests/test_renderers.py @@ -1,5 +1,6 @@ # -*- coding: utf-8 -*- from __future__ import absolute_import, print_function, unicode_literals +import datetime import json import unittest @@ -9,6 +10,14 @@ class TestDoubleAsStrJsonEncoder(unittest.TestCase): def test_encode(self): self.assertEqual( - json.loads(json.dumps({'a': 12345678901234567890, 'b': [123]}, cls=DoubleAsStrJsonEncoder)), - {'a': '12345678901234567890', 'b': [123]} + json.loads(json.dumps({ + 'a': 12345678901234567890, + 'b': [123], + 'c': datetime.date(2010, 1, 2) + }, cls=DoubleAsStrJsonEncoder)), + { + 'a': '12345678901234567890', + 'b': [123], + 'c': '2010-01-02', + } )