pyramid_formalchemy.events

Event subscription

pyramid_formalchemy provides four events: IBeforeValidateEvent, IAfterSyncEvent, IBeforeDeleteEvent and IBeforeRenderEvent. There are also two more specific render evnts: IBeforeShowRenderEvent and IBeforeEditRenderEvent. You can use pyramid_formalchemy.events.subscriber decorator to subscribe:

from pyramid_formalchemy import events
from pyramidapp.models import Foo
import logging

log = logging.getLogger(__name__)

@events.subscriber([Foo, events.IBeforeValidateEvent])
def before_foo_validate(context, event):
    log.info("%r will be validated" % context)

@events.subscriber([Foo, events.IAfterSyncEvent])
def after_foo_sync(context, event):
    log.info("%r foo has been synced" % context)

@events.subscriber([Foo, events.IBeforeDeleteEvent])
def before_foo_delete(context, event):
    log.info("%r foo will be deleted" % context)

@events.subscriber([Foo, events.IBeforeRenderEvent])
def before_foo_render(context, event):
    log.info("%r foo will be rendered" % event.object)

@events.subscriber([Foo, events.IBeforeShowRenderEvent])
def before_foo_show_render(context, event):
    log.info("%r foo show will be rendered" % event.object)

@events.subscriber([Foo, events.IBeforeEditRenderEvent])
def before_foo_edit_render(context, event):
    log.info("%r foo edit will be rendered" % event.object)

@events.subscriber([Foo, events.IBeforeListingRenderEvent])
def before_foo_listing_render(context, event):
    log.info("%r listing will be rendered" % context)

Classes

AfterSyncEvent

class pyramid_formalchemy.events.AfterSyncEvent(object, fs, request)

A model was synced with DB

BeforeDeleteEvent

class pyramid_formalchemy.events.BeforeDeleteEvent(object, request)

A model will be deleted

BeforeRenderEvent

class pyramid_formalchemy.events.BeforeRenderEvent(object, request, **kwargs)

A model will rendered

BeforeValidateEvent

class pyramid_formalchemy.events.BeforeValidateEvent(object, fs, request)

A model will be validated

IAfterSyncEvent

class pyramid_formalchemy.events.IAfterSyncEvent(name, bases=(), attrs=None, __doc__=None, __module__=None)

A model was synced with DB

IBeforeDeleteEvent

class pyramid_formalchemy.events.IBeforeDeleteEvent(name, bases=(), attrs=None, __doc__=None, __module__=None)

A model will be deleted

IBeforeEditRenderEvent

class pyramid_formalchemy.events.IBeforeEditRenderEvent(name, bases=(), attrs=None, __doc__=None, __module__=None)

Edit will be rendered

IBeforeListingRenderEvent

class pyramid_formalchemy.events.IBeforeListingRenderEvent(name, bases=(), attrs=None, __doc__=None, __module__=None)

Listing will be rendered

IBeforeRenderEvent

class pyramid_formalchemy.events.IBeforeRenderEvent(name, bases=(), attrs=None, __doc__=None, __module__=None)

A model will rendered

IBeforeShowRenderEvent

class pyramid_formalchemy.events.IBeforeShowRenderEvent(name, bases=(), attrs=None, __doc__=None, __module__=None)

Show will be rendered

IBeforeValidateEvent

class pyramid_formalchemy.events.IBeforeValidateEvent(name, bases=(), attrs=None, __doc__=None, __module__=None)

A model will be validated

subscriber

class pyramid_formalchemy.events.subscriber(ifaces)

event subscriber decorator