commit 0ad7e04fcbef48b49acab0845ca83509f9b481b2 Author: juga0 juga@riseup.net Date: Thu Mar 7 15:24:17 2019 +0000
new: state: Add optional default arg to get
Part of #28567. --- sbws/util/state.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/sbws/util/state.py b/sbws/util/state.py index 58da699..1d33c3d 100644 --- a/sbws/util/state.py +++ b/sbws/util/state.py @@ -63,12 +63,16 @@ class State: self._state = self._read() return self._state.__len__()
- def get(self, key): + def get(self, key, d=None): + """ + Implements a dictionary ``get`` method reading and locking + a json file. + """ if not isinstance(key, str): raise TypeError( 'Keys must be strings. %s is a %s' % (key, type(key))) self._state = self._read() - return self._state.get(key) + return self._state.get(key, d)
def __getitem__(self, key): if not isinstance(key, str): @@ -93,7 +97,6 @@ class State: raise TypeError( 'May only store value with type in %s, not %s' % (State._ALLOWED_TYPES, type(value))) - self._state = self._read() self._state.__setitem__(key, value) self._write()