Commit 0ad7e04f authored by juga's avatar juga
Browse files

new: state: Add optional default arg to get

Part of #28567.
parent eb4d72dc
Loading
Loading
Loading
Loading
+6 −3
Original line number Diff line number Diff line
@@ -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()