diff --git a/hexlib/db.py b/hexlib/db.py index ff3c441..827c708 100644 --- a/hexlib/db.py +++ b/hexlib/db.py @@ -160,6 +160,8 @@ def _sqlite_type(value): def _serialize(value): if isinstance(value, bytes): return base64.b64encode(value) + if value is None: + return None return str(value) diff --git a/setup.py b/setup.py index 2cee2bf..8362588 100644 --- a/setup.py +++ b/setup.py @@ -2,7 +2,7 @@ from setuptools import setup setup( name="hexlib", - version="1.20", + version="1.21", description="Misc utility methods", author="simon987", author_email="me@simon987.net", diff --git a/test/test_PersistantState.py b/test/test_PersistantState.py index c10937b..1ac9696 100644 --- a/test/test_PersistantState.py +++ b/test/test_PersistantState.py @@ -47,3 +47,17 @@ class TestPersistentState(TestCase): val["id"] = 1 self.assertDictEqual(val, s["a"][1]) + + def test_none(self): + s = PersistentState() + + val = {"a": 1, "b": None} + s["a"][1] = val + s["a"][1] = { + "a": None + } + + val["a"] = None + val["id"] = 1 + + self.assertDictEqual(val, s["a"][1])