Skip to content

Commit a0a9c2d

Browse files
committed
fixed memorydb string encoding
1 parent 08a3b42 commit a0a9c2d

File tree

1 file changed

+24
-1
lines changed

1 file changed

+24
-1
lines changed

test/memorydb.py

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
from roundup.backends import sessions_dbm
1616
from roundup.backends import indexer_common
1717
from roundup.support import ensureParentsExist
18+
from roundup.anypy.strings import s2b
1819

1920
def new_config(debug=False):
2021
config = configuration.CoreConfig()
@@ -110,6 +111,18 @@ def create(journaltag, create=True, debug=False):
110111
return db
111112

112113
class cldb(dict):
114+
def __init__(self, **values):
115+
super(cldb, self).__init__()
116+
for key, value in values.items():
117+
super(cldb, self).__setitem__(s2b(key), value)
118+
def __getitem__(self, key):
119+
return super(cldb, self).__getitem__(s2b(key))
120+
def __setitem__(self, key, value):
121+
return super(cldb, self).__setitem__(s2b(key), value)
122+
def __delitem__(self, key):
123+
return super(cldb, self).__delitem__(s2b(key))
124+
def __contains__(self, key):
125+
return super(cldb, self).__contains__(s2b(key))
113126
def close(self):
114127
pass
115128

@@ -118,11 +131,21 @@ class BasicDatabase(dict):
118131
119132
Keys are id strings, values are automatically marshalled data.
120133
'''
134+
def __init__(self, **values):
135+
super(BasicDatabase, self).__init__()
136+
for k, v in values.items():
137+
super(BasicDatabase, self).__setitem__(s2b(k), v)
121138
def __getitem__(self, key):
122139
if key not in self:
123140
d = self[key] = {}
124141
return d
125-
return super(BasicDatabase, self).__getitem__(key)
142+
return super(BasicDatabase, self).__getitem__(s2b(key))
143+
def __setitem__(self, key, value):
144+
return super(BasicDatabase, self).__setitem__(s2b(key), value)
145+
def __delitem__(self, key):
146+
return super(BasicDatabase, self).__delitem__(s2b(key))
147+
def __contains__(self, key):
148+
return super(BasicDatabase, self).__contains__(s2b(key))
126149
def exists(self, infoid):
127150
return infoid in self
128151
def get(self, infoid, value, default=None):

0 commit comments

Comments
 (0)