diff --git a/hexlib/db.py b/hexlib/db.py index 827c708..11e964a 100644 --- a/hexlib/db.py +++ b/hexlib/db.py @@ -162,6 +162,8 @@ def _serialize(value): return base64.b64encode(value) if value is None: return None + if isinstance(value, bool): + return value return str(value) diff --git a/setup.py b/setup.py index 8362588..3a1a1ce 100644 --- a/setup.py +++ b/setup.py @@ -2,7 +2,7 @@ from setuptools import setup setup( name="hexlib", - version="1.21", + version="1.22", description="Misc utility methods", author="simon987", author_email="me@simon987.net", diff --git a/test/test_PersistantState.py b/test/test_PersistantState.py index 1ac9696..6e0ab56 100644 --- a/test/test_PersistantState.py +++ b/test/test_PersistantState.py @@ -61,3 +61,17 @@ class TestPersistentState(TestCase): val["id"] = 1 self.assertDictEqual(val, s["a"][1]) + + def test_bool(self): + s = PersistentState() + + val = {"a": True, "b": False} + s["a"][1] = val + s["a"][1] = { + "a": True + } + + val["a"] = True + val["id"] = 1 + + self.assertDictEqual(val, s["a"][1])