40 lines
932 B
Python
40 lines
932 B
Python
# scopes.interfaces
|
||
|
||
from zope.interface import Interface
|
||
|
||
|
||
class ITraversable(Interface):
|
||
|
||
def get(key, default=None):
|
||
"""Return the item addressed by `key`; return `default` if not found."""
|
||
|
||
|
||
class IContainer(ITraversable):
|
||
|
||
def values():
|
||
"""Return a sequence of child objects."""
|
||
|
||
def __getitem__(key):
|
||
"""Return the item addressed by `key`; raise KeyError if not found."""
|
||
|
||
def __setitem__(key, value):
|
||
"""Store the `value` under the `key`.
|
||
|
||
May modify `value` so that the attributes referencing this object
|
||
and the value object (e.g. `parent´ and `name`) are stored correctly."""
|
||
|
||
|
||
class IReference(Interface):
|
||
|
||
def getTarget():
|
||
"""Return item referenced by this object."""
|
||
|
||
def setTarget(target):
|
||
"""Store reference to target item."""
|
||
|
||
|
||
class IView(Interface):
|
||
|
||
def __call__():
|
||
"""Render the view data as HTML or JSON."""
|
||
|