@@ -53,6 +53,24 @@ def delete(self, key):
5353 except KeyError :
5454 pass
5555
56+ def __setitem__ (self , key , value ):
57+ """Assign a value to a key."""
58+ self ._db [key ] = value
59+
60+ def __getitem__ (self , key ):
61+ """Return the value bound to a key."""
62+ try :
63+ return self ._db [key ]
64+ except KeyError :
65+ return None
66+
67+ def __delitem__ (self , key ):
68+ """Delete a key and its value."""
69+ try :
70+ del self ._db [key ]
71+ except KeyError :
72+ pass
73+
5674
5775class StateInterface :
5876 """A more powerful interface to a state DB."""
@@ -92,7 +110,7 @@ def store_item(self, item, item_type, key):
92110 except AttributeError :
93111 _state [item_type ] = item
94112
95- self .state_db . set ( key , _state .to_json () )
113+ self .state_db [ key ] = _state .to_json ()
96114
97115 def get_iss (self , key ):
98116 """
@@ -216,7 +234,7 @@ def store_x2state(self, value, state, xtyp):
216234 :param state: The state value
217235 :param xtyp: The type of value x is (e.g. nonce, ...)
218236 """
219- self .state_db . set ( KEY_PATTERN [xtyp ].format (value ), state )
237+ self .state_db [ KEY_PATTERN [xtyp ].format (value )] = state
220238 try :
221239 _val = self .state_db .get ("ref{}ref" .format (state ))
222240 except KeyError :
@@ -227,7 +245,7 @@ def store_x2state(self, value, state, xtyp):
227245 else :
228246 refs = json .loads (_val )
229247 refs [xtyp ] = value
230- self .state_db . set ( "ref{}ref" .format (state ), json .dumps (refs ) )
248+ self .state_db [ "ref{}ref" .format (state )] = json .dumps (refs )
231249
232250 def get_state_by_x (self , value , xtyp ):
233251 """
@@ -346,7 +364,7 @@ def create_state(self, iss, key=''):
346364 'Invalid format. Leading and trailing "__" not allowed' )
347365
348366 _state = State (iss = iss )
349- self .state_db . set ( key , _state .to_json () )
367+ self .state_db [ key ] = _state .to_json ()
350368 return key
351369
352370 def remove_state (self , state ):
0 commit comments