Repository URL to install this package:
|
Version:
2.5 ▾
|
ó
EYc @ s¢ d d l m Z m Z d d l m Z e j j d d e f d Y Z e j j d d e f d Y Z e j j d d e f d
Y Z
d S( i ( t eventt utili ( t EXT_CONTINUEs sqlalchemy.orm.interfacest MapperExtensionc B s e Z d Z e d Z e d Z e d Z d Z d Z d Z d Z
d Z d Z d
Z
d Z d Z d
Z RS( s Base implementation for :class:`.Mapper` event hooks.
.. note::
:class:`.MapperExtension` is deprecated. Please
refer to :func:`.event.listen` as well as
:class:`.MapperEvents`.
New extension classes subclass :class:`.MapperExtension` and are specified
using the ``extension`` mapper() argument, which is a single
:class:`.MapperExtension` or a list of such::
from sqlalchemy.orm.interfaces import MapperExtension
class MyExtension(MapperExtension):
def before_insert(self, mapper, connection, instance):
print "instance %s before insert !" % instance
m = mapper(User, users_table, extension=MyExtension())
A single mapper can maintain a chain of ``MapperExtension``
objects. When a particular mapping event occurs, the
corresponding method on each ``MapperExtension`` is invoked
serially, and each method has the ability to halt the chain
from proceeding further::
m = mapper(User, users_table, extension=[ext1, ext2, ext3])
Each ``MapperExtension`` method returns the symbol
EXT_CONTINUE by default. This symbol generally means "move
to the next ``MapperExtension`` for processing". For methods
that return objects like translated rows or new object
instances, EXT_CONTINUE means the result of the method
should be ignored. In some cases it's required for a
default mapper activity to be performed, such as adding a
new instance to a result list.
The symbol EXT_STOP has significance within a chain
of ``MapperExtension`` objects that the chain will be stopped
when this symbol is returned. Like EXT_CONTINUE, it also
has additional significance in some cases that a default
mapper activity will not be performed.
c C s | j | | d d S( Nt instrument_class( s instrument_class( t _adapt_listener_methods( t clst selft listener( ( sY /home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/orm/deprecated_interfaces.pyt _adapt_instrument_class; s c C s | j | | d
d S( Nt
init_instancet init_failedt reconstruct_instancet
before_insertt after_insertt
before_updatet after_updatet
before_deletet after_delete( s
init_instances init_faileds reconstruct_instances
before_inserts after_inserts
before_updates after_updates
before_deletes after_delete( R ( R R R ( ( sY /home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/orm/deprecated_interfaces.pyt _adapt_listener? s c sC x<| D]4} t t | } t | | } t j | | s | d k r f d } t j j d | | d t d t q;| d k rÉ f d } t j j d | | d t d t q;| d k r f d
} t j j d | | d t d t q;t j d | | d t d
t d t q q Wd S( NR c s f d } | S( Nc s | d S( N( ( t instancet ctx( t ls_methR ( sY /home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/orm/deprecated_interfaces.pyt reconstructY s ( ( R R ( R ( R sY /home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/orm/deprecated_interfaces.pyt goX s t loadt rawt propagateR
c s f d } | S( Nc s&