Ñò ‰„[Jc @ s0 d Z d d k l Z l Z d d k i Z d d k l Z l Z l Z l Z d d k l Z d d k l Z l Z d d k l Z l Z d e i f d „ ƒ YZ e i e ƒ d e i f d „ ƒ YZ d e f d „ ƒ YZ d e f d „ ƒ YZ d e e f d „ ƒ YZ d „ Z d e f d „ ƒ YZ d S( s‚ Dynamic collection API. Dynamic collections act like Query() objects for read operations and support basic add/delete mutation. iÿÿÿÿ( t logt utilN( t attributest object_sessionR t strategies( t Query( t _state_has_identityt has_identity( R t collectionst DynaLoaderc B s e Z d „ Z d „ Z RS( c C sM t | _ t i | | d t d t d | i i d | i i d | i i ƒd S( Nt useobjectt impl_classt target_mappert order_byt query_class( t Truet is_class_levelR t _register_attributet DynamicAttributeImplt parent_propertyt mapperR R ( t selfR ( ( s: /usr/lib/python2.6/site-packages/sqlalchemy/orm/dynamic.pyt init_class_attribute s c C s d S( N( NN( t None( R t selectcontextt pathR t rowt adapter( ( s: /usr/lib/python2.6/site-packages/sqlalchemy/orm/dynamic.pyt create_row_processor% s ( t __name__t __module__R R ( ( ( s: /usr/lib/python2.6/site-packages/sqlalchemy/orm/dynamic.pyR s R c B s¤ e Z e Z e Z d d „ Z e d „ Z d e d „ Z d „ Z d „ Z d „ Z d „ Z d d „ Z d „ Z e d „ Z e d „ Z e d „ Z e d „ Z RS( c K sx t t | ƒ i | | | | | | _ | | _ | p t | _ n0 t | i ƒ j o | | _ n t | ƒ | _ d S( N( t superR t __init__R R t AppenderQueryR t AppenderMixint mrot mixin_user_query( R t class_t keyt typecallableR R R t kwargs( ( s: /usr/lib/python2.6/site-packages/sqlalchemy/orm/dynamic.pyR . s c C s2 | o | i | d t ƒi S| i | | ƒ Sd S( Nt passive( t _get_collection_historyR t added_itemsR ( R t statet dict_R) ( ( s: /usr/lib/python2.6/site-packages/sqlalchemy/orm/dynamic.pyt get: s c C sE | o | i | d | ƒi S| i | d | ƒ} | i | i Sd S( NR) ( R* R+ t unchanged_items( R R, R- t user_dataR) t history( ( s: /usr/lib/python2.6/site-packages/sqlalchemy/orm/dynamic.pyt get_collection@ s c C sˆ | i | | ƒ } | i i | ƒ x+ | i D] } | i | | | p | ƒ q, W| i o* | d j o | i t i | ƒ t ƒ n d S( N( t _modified_eventR+ t appendt extensionst trackparentR t sethasparentR t instance_stateR ( R R, R- t valuet initiatort collection_historyt ext( ( s: /usr/lib/python2.6/site-packages/sqlalchemy/orm/dynamic.pyt fire_append_eventG s c C sˆ | i | | ƒ } | i i | ƒ | i o* | d j o | i t i | ƒ t ƒ n x+ | i D] } | i | | | p | ƒ q` Wd S( N( R3 t deleted_itemsR4 R6 R R7 R R8 t FalseR5 t remove( R R, R- R9 R: R; R<