import abc
[docs]class Context(metaclass=abc.ABCMeta):
[docs] def get(self, key):
raise NotImplementedError
[docs] def put(self, key, value):
raise NotImplementedError
[docs]class DefaultContext(Context):
def __init__(self):
super(DefaultContext, self).__init__()
self._map = {}
[docs] def put(self, key, value):
self._map[key] = value
[docs] def get(self, key):
return self._map.get(key)
# def __getstate__(self):
# states = dict(self.__dict__)
# if '_map' in states: # mark _map as transient
# states['_map'] = {}
# return states