interfaces.py
73 lines
| 1.3 KiB
| text/x-python
|
PythonLexer
r5040 | ||||
r3912 | """ | |||
Interfaces | ||||
^^^^^^^^^^ | ||||
If you want to implement framework specific extras, use these abstract | ||||
classes as bases: | ||||
""" | ||||
import abc | ||||
class BaseSession(object): | ||||
""" | ||||
Abstract class for custom session implementations. | ||||
""" | ||||
__metaclass__ = abc.ABCMeta | ||||
@abc.abstractmethod | ||||
def save(self): | ||||
""" | ||||
Called only once per request. | ||||
Should implement a mechanism for setting the the session | ||||
**cookie** and saving the session **data** to storage. | ||||
""" | ||||
@abc.abstractmethod | ||||
def __setitem__(self, key, value): | ||||
""" | ||||
Same as :meth:`dict.__setitem__`. | ||||
""" | ||||
@abc.abstractmethod | ||||
def __getitem__(self, key): | ||||
""" | ||||
Same as :meth:`dict.__getitem__`. | ||||
""" | ||||
@abc.abstractmethod | ||||
def __delitem__(self, key): | ||||
""" | ||||
Same as :meth:`dict.__delitem__`. | ||||
""" | ||||
@abc.abstractmethod | ||||
def get(self, key): | ||||
""" | ||||
Same as :meth:`dict.get`. | ||||
""" | ||||
class BaseConfig(object): | ||||
""" | ||||
Abstract class for :doc:`config` implementations. | ||||
""" | ||||
__metaclass__ = abc.ABCMeta | ||||
@abc.abstractmethod | ||||
def get(self, key): | ||||
""" | ||||
Same as :attr:`dict.get`. | ||||
""" | ||||
@abc.abstractmethod | ||||
def values(self): | ||||
""" | ||||
Same as :meth:`dict.values`. | ||||
""" | ||||