mirror of
https://github.com/simon987/hexlib.git
synced 2025-04-10 06:06:41 +00:00
Fix update in persistentstate
This commit is contained in:
parent
a1156599ce
commit
b845d96295
@ -139,8 +139,8 @@ class Table:
|
||||
except sqlite3.IntegrityError:
|
||||
sql = "UPDATE %s SET (%s) = (%s) WHERE id=?" \
|
||||
% (self._table, ",".join(value.keys()), ",".join("?" for _ in value.values()))
|
||||
args = [key]
|
||||
args.extend(_serialize(v) for v in value.values())
|
||||
args = list(_serialize(v) for v in value.values())
|
||||
args.append(key)
|
||||
conn.execute(
|
||||
sql,
|
||||
args
|
||||
|
2
setup.py
2
setup.py
@ -2,7 +2,7 @@ from setuptools import setup
|
||||
|
||||
setup(
|
||||
name="hexlib",
|
||||
version="1.19",
|
||||
version="1.20",
|
||||
description="Misc utility methods",
|
||||
author="simon987",
|
||||
author_email="me@simon987.net",
|
||||
|
@ -33,3 +33,17 @@ class TestPersistentState(TestCase):
|
||||
val["id"] = 1
|
||||
|
||||
self.assertDictEqual(val, s["a"][1])
|
||||
|
||||
def test_update_partial(self):
|
||||
s = PersistentState()
|
||||
|
||||
val = {"a": 1, "b": "2", "c": b'3', "d": 4.4}
|
||||
s["a"][1] = val
|
||||
s["a"][1] = {
|
||||
"a": 2
|
||||
}
|
||||
|
||||
val["a"] = 2
|
||||
val["id"] = 1
|
||||
|
||||
self.assertDictEqual(val, s["a"][1])
|
||||
|
Loading…
x
Reference in New Issue
Block a user