1515from roundup .backends import sessions_dbm
1616from roundup .backends import indexer_common
1717from roundup .support import ensureParentsExist
18+ from roundup .anypy .strings import s2b
1819
1920def new_config (debug = False ):
2021 config = configuration .CoreConfig ()
@@ -110,6 +111,18 @@ def create(journaltag, create=True, debug=False):
110111 return db
111112
112113class 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