Function
zope.app.principalannotation.annotations

Signature

annotations(principal, context=None)

Documentation String

adapt principal to annotations via principal annotation utility.

To illustrate, we'll register the adapter and a dummy principal annotation utility.

>>> component.provideAdapter(annotations)
>>> class DummyPrincipal(object):
...     interface.implements(zope.security.interfaces.IPrincipal)
...     def __init__(self, id, title=None, description=None):
...         self.id = id
...         self.title = title
...         self.description = description
...
>>> dummy_annotation = {}
>>> class DummyPAU(object):
...     interface.implements(interfaces.IPrincipalAnnotationUtility)
...     def getAnnotations(self, principal):
...         if principal.id == 'sue':
...             return dummy_annotation
...         raise NotImplementedError
...
>>> pau = DummyPAU()
>>> component.provideUtility(pau)
>>> sue = DummyPrincipal('sue')
>>> annotation = IAnnotations(sue)
>>> annotation is dummy_annotation
True

Attributes