0001"""
0002The WebKit session object; an interface surrounding a persistent
0003dictionary.
0004"""
0005
0006from wkcommon import NoDefault
0007
0008class Session:
0009
0010    def __init__(self, dict):
0011        self._values = dict
0012
0013    def invalidate(self):
0014        self._values.clear()
0015
0016    def value(self, name, default=NoDefault):
0017        if default is NoDefault:
0018            return self._values[name]
0019        else:
0020            return self._values.get(name, default)
0021
0022    def hasValue(self, name):
0023        return self._values.has_key(name)
0024
0025    def setValue(self, name, value):
0026        self._values[name] = value
0027
0028    def delValue(self, name):
0029        del self._values[name]
0030
0031    def values(self):
0032        return self._values
0033
0034    def setTimeout(self, timeout):
0035        # @@: This should really do something
0036        pass
0037
0038    def __getitem__(self, name):
0039        return self.value(name)
0040
0041    def __setitem__(self, name, value):
0042        self.setValue(name, value)
0043
0044    def __delitem__(self, name):
0045        self.delValue(name)