Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
contego / home / tvault / .virtenv / lib / python2.7 / site-packages / sqlalchemy / orm / dependency.pyc
Size: Mime:
ó
‹EYc@sódZddlmZmZmZddlmZmZmZmZmZ	ddl
mZmZm
Z
defd„ƒYZdefd	„ƒYZd
efd„ƒYZdefd
„ƒYZdefd„ƒYZiee6ee6ee
6ZdS(sRelationship dependencies.

i(tsqltutiltexci(t
attributesRtsynct
unitofworkR(t	ONETOMANYt	MANYTOONEt
MANYTOMANYtDependencyProcessorcBsªeZd„Zed„ƒZd„Zd„Zd„Zd„Zd„Z	d„Z
d„Zd	„Zd
„Z
d„Zd„Zd
„Zed„Zd„Zd„ZRS(cCsò||_|j|_|j|_|j|_|j|_|j|_|j|_|j|_|j|_|j	|_	|jrt
j|_nt
j
|_|jr±t
j|_nt
j
|_|j|_|jjsîtjd|jƒ‚ndS(Ns|Can't build a DependencyProcessor for relationship %s. No target attributes to populate between parent and child are present(tproptcascadetmappertparentt	secondaryt	directiontpost_updatetpassive_deletestpassive_updatestenable_typechecksRtPASSIVE_NO_INITIALIZEt_passive_delete_flagtPASSIVE_OFFt_passive_update_flagtkeytsynchronize_pairstsa_exct
ArgumentError(tselfR
((sN/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/orm/dependency.pyt__init__s*			cCst|j|ƒS(N(t_direction_to_processorR(tclsR
((sN/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/orm/dependency.pytfrom_relationship/scCs|jjj|jƒj|ƒS(s¤return True if the given object instance has a parent,
        according to the ``InstrumentedAttribute`` handled by this
        ``DependencyProcessor``.

        (R
t
class_managertget_implRt	hasparent(Rtstate((sN/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/orm/dependency.pyR#3scCs|j|tƒdS(s•establish actions and dependencies related to a flush.

        These actions will operate on all relevant states in
        the aggregate.

        N(tregister_preprocessortTrue(Rtuow((sN/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/orm/dependency.pytper_property_preprocessors;scCs³tj||ttƒ}tj||ttƒ}tj||jjƒ}tj||jjƒ}tj||jjƒ}tj||jjƒ}|j	|||||||ƒdS(N(
Rt
ProcessAlltFalseR&t
SaveUpdateAllR
tprimary_base_mapperRt	DeleteAlltper_property_dependencies(RR't
after_savet
before_deletetparent_savestchild_savestparent_deletest
child_deletes((sN/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/orm/dependency.pytper_property_flush_actionsDs*	cCsò|jj}|jj}tj||ƒ}tj||ƒ}|rftj||ttƒ}t|_n!tj||t	tƒ}	t|	_||j
krÌ||j
ks«t‚|t	f|tfg}
t	}nt}|stj||jjƒ}d}
}||j
krOt}qOn:tj||jjƒ}
d}}	|
|j
krOt}nxœ|D]”}|j|jjj||j|r‡|jntjƒ}|sŸqVn|rÞtj||t|ƒ}|rtj|||ƒ}
qn6tj||t	|ƒ}	|rtj|||ƒ}n|r±g}
xŽ|D]ƒ\}}||jkrKd}nR|j|\}}|r‚tj|||ƒtf}ntj|||ƒt	f}|
j|ƒq'Wnx6|
D].\}}|j|||
||	|||ƒq¸WqVWdS(sèestablish actions and dependencies related to a flush.

        These actions will operate on all relevant states
        individually.    This occurs only if there are cycles
        in the 'aggregated' version of events.

        N(NN(R
R,RRR+R-R)R&tdisabledR*tcyclestAssertionErrortbase_mappertNonetmanagerRtimpltget_all_pendingtdictRRRtProcessStatetDeleteStatetSaveUpdateStatetstatestappendtper_state_dependencies(RR'RBtisdeletetparent_base_mappertchild_base_mapperR2R4R0R/t
child_actionstchild_in_cyclesR1R3tparent_in_cyclesR$tsum_tchild_statetchildtchild_actiontdeletedtlistonlyt
childisdelete((sN/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/orm/dependency.pytper_state_flush_actionscsŒ			

	
				cCstS(N(R*(Rt	uowcommitRB((sN/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/orm/dependency.pytpresort_deletesÚscCstS(N(R*(RRSRB((sN/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/orm/dependency.pyt
presort_savesÝscCsdS(N((RRSRB((sN/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/orm/dependency.pytprocess_deletesàscCsdS(N((RRSRB((sN/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/orm/dependency.pyt
process_savesãscCs§|s|jrtj}n$|jtkr7tj}n	tj}x`|D]5}|j||j|ƒ}|rG|j	ƒrGt
SqGW|o¢|jjo¢|j
|jkSdS(N(RRRRRtPASSIVE_NO_FETCH_RELATEDRtget_attribute_historyRtemptyR&R
t_is_self_referentialRtmappers(RRSRBREtpassivetsthistory((sN/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/orm/dependency.pytprop_has_changesæs	
	
cCsñ|jjr4|dkr4tjd|jfƒ‚n¹|dk	rí|jj|d|jƒrí|jj|dtƒr¶tjdi|j	d6|jd6|jj	d6|jd6ƒ‚qítjdi|j	d6|jd6|jj	d6ƒ‚ndS(	Ns-Can't flush None value found in collection %stallow_subtypessEAttempting to flush an item of type %(x)s as a member of collection "%(y)s". Expected an object of type %(z)s or a polymorphic subclass of this type. If %(x)s is a subclass of %(z)s, configure mapper "%(zm)s" to load this subtype polymorphically, or set enable_typechecks=False to allow any subtype to be accepted for flush. txtytztzms•Attempting to flush an item of type %(x)s as a member of collection "%(y)s". Expected an object of type %(z)s or a polymorphic subclass of this type.(
R
tuselistR:Rt
FlushErrorRt_canloadRR&tclass_(RR$((sN/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/orm/dependency.pyt_verify_canloadýs(			




cCs
tƒ‚dS(N(tNotImplementedError(RR$RMtassociationrowt	clearkeysRS((sN/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/orm/dependency.pyt_synchronize!scCs^|jjsdStt|jgg|jjD]}|j^q,ƒƒ}|jd|ftƒS(Ntreverse_key(R
t_reverse_propertyR:ttupletsortedRtmemotset(RR'tptprocess_key((sN/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/orm/dependency.pyt_get_reversed_processed_set%s	)	cCs[xT|D]L}|s |dk	r|j|g|jjD]\}}|^q6ƒPqqWdS(N(R:tissue_post_updateR
R(RR$RStrelatedt
is_m2o_deleteRbtltr((sN/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/orm/dependency.pyt_post_update2s
&cCs
tƒ‚dS(N(Rk(RRSR$((sN/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/orm/dependency.pyt_pks_changed;scCsd|jj|jfS(Ns%s(%s)(t	__class__t__name__R
(R((sN/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/orm/dependency.pyt__repr__>s(R€t
__module__RtclassmethodR R#R(R5RRRTRURVRWR`RjRnRwR*R}R~R(((sN/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/orm/dependency.pyR	s"						w						$		
		tOneToManyDPcBsPeZd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z	RS(c
	CsÛ|jrˆtj||jjtƒ}tj||jjtƒ}	|jj||f||f||f||	f|	|f|	|fgƒnO|jj||f||f||f||f||f||f||fgƒdS(N(	RRtIssuePostUpdateRR,R*R&tdependenciestupdate(
RR'R1R2R3R4R/R0tchild_post_updatestchild_pre_updates((sN/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/orm/dependency.pyR.Ds0																		c	CsH|jrîtj||jjtƒ}	tj||jjtƒ}
|sž|rp|jj||f||	fgƒqë|jj||f||f||	fgƒqD|rÉ|jj||
f|
|fgƒqD|jj||
f|
|fgƒnV|s"|jj||f||f||fgƒn"|jj||f||fgƒdS(N(	RRR…RR,R*R&R†R‡(RR'tsave_parentt
delete_parentRNR/R0RERQRˆR‰((sN/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/orm/dependency.pyRDlsB																			c	Cs|jjo|jdk}xá|D]Ù}|j||j|jƒ}|r$xd|jD]Y}|dk	rU|j|ƒt	krU|jj
rž|j|dtƒq®|j|ƒqUqUW|rýx?|j
D]1}|dk	rÂ|j|ddd|jƒqÂqÂWqýq$q$WdS(NtallREt	operationtdeleteR
(RRŽRRYRRROR:R#R*t
delete_orphantregister_objectR&t	unchangedR
(RRSRBtshould_null_fksR$R_RM((sN/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/orm/dependency.pyRT£s$

!c
Csò|jd|ftƒ}xÓ|D]Ë}|j||ƒ}|sG|jrStj}n	tj}|j||j|ƒ}|rxB|j	D]7}|dk	r„|j|dtddd|j
ƒq„q„W|j|j	ƒx¾|jD]°}|jjs|j|dtddd|j
ƒqÙ|j|ƒtkrÙ|j|dtddd|j
ƒx?|jjd|ƒD]%\}	}
}}|j|dtƒq]WqÙqÙWn|r|rêxH|jD]:}|dk	r¦|j|t|jddd|j
ƒq¦q¦WqêqqWdS(	Ntchildren_addedt
cancel_deleteRtaddR
RERŽs	pk change(RsRtR~RRRRRYRtaddedR:RR&R
R‡RORRR*R#Rtcascade_iteratorR‘(
RRSRBR“R$tpks_changedR]R_RMtctmtst_tdct_((sN/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/orm/dependency.pyRU½sR
		
	cCsx|js|jdkrt|jd|ftƒ}x@|D]5}|j||j|jƒ}|r8xy|jD]n}|dk	ri|j	|ƒt
kri|j||dt|t
ƒ|jr×|r×|j
|||gƒq×qiqiW|jsñ|jjrmxvt|jƒj|ƒD]Y}|dk	r
|j||dt|t
ƒ|jrc|rc|j
|||gƒqcq
q
Wqmq8q8WndS(NRŒR“(RRRsRtRYRRROR:R#R*RnR&R}RRŽR‘t
difference(RRSRBR“R$R_RM((sN/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/orm/dependency.pyRVïs>

 

	c
Cs,x%|D]}|j||jtjƒ}|rx[|jD]P}|j||dt|tƒ|dk	r8|jr8|j	|||gƒq8q8WxM|j
D]B}|jjr–|j
|ƒr–|j||dt|tƒq–q–W|j||ƒr$x0|jD]"}|j||dt|tƒqøWq$qqWdS(N(RYRRRR–RnR:R*RR}RORRR#R&R~R‘(RRSRBR$R_RM((sN/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/orm/dependency.pyRWs(


c	CsŸ|}|}|j|ƒ|dks>|jrB|j|ƒrBdS|rgtj||j|jjƒn4tj	||j
||j|jj||jo—|ƒdS(N(RjR:Rt
is_deletedRtclearRR
RtpopulateR
R(	RR$RMRlRmRSR˜tsourcetdest((sN/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/orm/dependency.pyRn5s
cCstj|||j|jjƒS(N(Rtsource_modifiedR
R
R(RRSR$((sN/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/orm/dependency.pyR~Es
(
R€R‚R.RDRTRURVRWRnR~(((sN/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/orm/dependency.pyR„Bs	(	7		2	.		tManyToOneDPcBsSeZd„Zd„Zd„Zd„Zd„Zd„Zd„Zdd„Z
RS(	cCs-tj||ƒ|jjjt|ƒƒdS(N(R	RRt_dependency_processorsRCtDetectKeySwitch(RR
((sN/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/orm/dependency.pyRNsc
CsÀ|jrˆtj||jjtƒ}tj||jjtƒ}	|jj||f||f||f||	f||	f|	|fgƒn4|jj||f||f||f||fgƒdS(N(	RRR…R
R,R*R&R†R‡(
RR'R1R2R3R4R/R0tparent_post_updatestparent_pre_updates((sN/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/orm/dependency.pyR.Rs*															c	Cs?|jrÌ|sƒtj||jjtƒ}	|rU|jj||	f|	|fgƒqÉ|jj||f||f||	fgƒq;tj||jjtƒ}
|jj||
f|
|f|
|fgƒno|s|sý|jj||f||fgƒq;|jj||fgƒn"|r;|jj||fgƒndS(N(	RRR…R
R,R*R†R‡R&(RR'RŠR‹RNR/R0RERQR§R¨((sN/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/orm/dependency.pyRDvs@																	cCs|jjs|jjrxæ|D]Û}|j||j|jƒ}|r|jjra|jƒ}n|jƒ}xŠ|D]}|dkrŒqtn|j	|dt
ddd|jƒ|jj
d|ƒ}x-|D]%\}}	}
}|j	|
dt
ƒqÊWqtWqqWndS(NRERRŽR
(RRŽRRYRRtsumtnon_deletedR:RR&R
RR—(RRSRBR$R_ttodeleteRMttR™RšR›Rœ((sN/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/orm/dependency.pyRT­s(

c
Cs÷xð|D]è}|j|ddd|jƒ|jjr|j||j|jƒ}|rïx“|jD]…}|j|ƒt	kr`|j|dt
ddd|jƒ|jjd|ƒ}x0|D]%\}}}	}
|j|	dt
ƒq¹Wq`q`WqïqqWdS(NRR•R
RERŽ(
RR
RRRYRRROR#R*R&RR—(RRSRBR$R_RMR¬R™RšR›Rœ((sN/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/orm/dependency.pyRUÄs 
c
Cs¬|jr¨|jjr¨|jdkr¨x|D]t}|j|ddt|ƒ|r-|jr-|j||j|j	ƒ}|r¡|j
|||jƒdtƒq¡q-q-WndS(NRŒRz(RRRRRnR:R&RYRRR}R©(RRSRBR$R_((sN/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/orm/dependency.pyRV×s	

c	Csšx“|D]‹}|j||jtjƒ}|r|jrjx0|jD]"}|j||dt|dƒqAWn|jr’|j	|||j
ƒƒq’qqWdS(NR•(RYRRRR–RnR:R*RR}R©(RRSRBR$R_RM((sN/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/orm/dependency.pyRWës
		c
Csë|dks%|jr)|j|ƒr)dS|dk	r~|dk	r~|jj|ƒr~tjdtj|ƒ||j	fƒdS|s|dkr¯t
j||j|j	j
ƒn8|j|ƒt
j||j||j|j	j
|tƒdS(NsGObject of type %s not in session, %s operation along '%s' won't proceed(R:RRžtsessiont_contains_stateRtwarnt
mapperutiltstate_class_strR
RRŸR
RRjR RR*(RR$RMRlRmRSR((sN/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/orm/dependency.pyRnùs$
	N(R€R‚RR.RDRTRURVRWR:Rn(((sN/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/orm/dependency.pyR¤Ms		$	7				R¦cBsqeZdZd„Zd„Zd„Zd„Zd„Zd„Zd„Z	d„Z
d	„Zd
„Zd„Z
RS(s”For many-to-one relationships with no one-to-many backref,
    searches for parents through the unit of work when a primary
    key has changed and updates them.

    Theoretically, this approach could be expanded to support transparent
    deletion of objects referenced via many-to-one as well, although
    the current attribute system doesn't do enough bookkeeping for this
    to be efficient.

    cCsP|jjr<|jrdStd„|jjDƒkr<dSn|j|tƒdS(Ncss|]}|jVqdS(N(R(t.0R
((sN/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/orm/dependency.pys	<genexpr>$s(R
RpRR*R%(RR'((sN/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/orm/dependency.pyR(s		cCsMtj||jjƒ}tj||ttƒ}|jj||fgƒdS(N(RR+R
R9R)R*R†R‡(RR'R1R/((sN/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/orm/dependency.pyR5*s	cCsdS(N((RR'RBRE((sN/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/orm/dependency.pyRR3scCsdS(N((RRSRB((sN/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/orm/dependency.pyRT6scCs |js|j||ƒndS(N(Rt_process_key_switches(RR'RB((sN/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/orm/dependency.pyRU9s	cCs0|r,|jr,|j||ƒ}t|ƒStS(N(Rt_key_switcherstboolR*(RR'RBREtd((sN/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/orm/dependency.pyR`?s
cCstst‚dS(N(R*R8(RRSRB((sN/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/orm/dependency.pyRVFscCs#|jst‚|j||ƒdS(N(RR8R³(RRSRB((sN/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/orm/dependency.pyRWIscCsƒ|jd|fd„ƒ\}}|j|ƒ}xL|D]D}||kr7|j||ƒrk|j|ƒq{|j|ƒq7q7W|S(Ntpk_switcherscSstƒtƒfS(N(Rt(((sN/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/orm/dependency.pyt<lambda>Ts(RstunionR~R•(RR'RBtswitchedtnotswitchedt	allstatesR^((sN/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/orm/dependency.pyR´Qs	
c
Cs|j||ƒ}|r
xò|jjjƒD]Û}t|j|jjƒsOq+n|j}|j|j	ƒj
||d|jƒ}|tj
k	r+|dk	r+tj||j	ƒ}||kr|j|t|jƒtj||j||j|jj||jƒqq+q+WndS(NR](R´R­tidentity_mapt
all_statest
issubclassRiR
R>R"RtgetRRtPASSIVE_NO_RESULTR:tinstance_stateRR*RRR RR
R(RtdeplistRSt	switchersR$tdict_Ryt
related_state((sN/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/orm/dependency.pyR³`s(		
	cCs.t|jƒo-tj|||j|jjƒS(N(RµRRR£RR
R(RRSR$((sN/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/orm/dependency.pyR~xs(R€R‚t__doc__R(R5RRRTRUR`RVRWR´R³R~(((sN/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/orm/dependency.pyR¦s
											tManyToManyDPcBsYeZd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z	d„Z
RS(	c	CsS|jj||f||f||f||f||f||f||fgƒdS(N(R†R‡(RR'R1R2R3R4R/R0((sN/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/orm/dependency.pyR.s							c		Cs||sV|r1|jj||f||fgƒqx|jj||f||fgƒn"|jj||f||fgƒdS(N(R†R‡(	RR'RŠR‹RNR/R0RERQ((sN/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/orm/dependency.pyRD˜s						cCs:|js6x*|D]}|j||j|jƒqWndS(N(RRYRR(RRSRBR$((sN/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/orm/dependency.pyRT¯s	
c

Cs#|jsMxA|D]6}|j||ƒr|j||jtjƒ}qqWn|jjs]dSx¿|D]·}|j||jtjƒ}|rdx|j	D]}|j
|ƒtkr•|j|dt
ddd|jƒx?|jjd|ƒD]%\}}}}	|j|dt
ƒqèWq•q•WqdqdWdS(NRERRŽR
(RR~RYRRRRRRROR#R*RR&R
RR—(
RRSRBR$R_RMR™RšR›Rœ((sN/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/orm/dependency.pyRU¼s2	

cs6g}g}g}|j|ƒ}tƒ}xÓ|D]ˉ|jˆ|j|jƒ}|r1x{|jƒD]m}	|	dkse|dk	r›ˆ|	f|kr›qeni}
|jˆ|	|
t|dƒsÅqen|j	|
ƒqeW|j
‡fd†|jƒDƒƒq1q1W|dk	r|j
|ƒn|j||||ƒdS(NRŽc3s|]}|ˆfVqdS(N((R²R™(R$(sN/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/orm/dependency.pys	<genexpr>ûs(RwRtRYRRt	non_addedR:RnR*RCR‡t	_run_crud(RRSRBtsecondary_deletetsecondary_inserttsecondary_updatet	processedttmpR_RMRl((R$sN/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/orm/dependency.pyRVÞs:	
*c
sBg}g}g}|j|ƒ}tƒ}xß|D]׉|joP|j|ˆƒ}|retj}	n	tj}	|jˆ|j|	ƒ}
|
r1xl|
j	D]a}|dk	rÀˆ|f|krÀq–ni}|jˆ||t|dƒsêq–n|j
|ƒq–Wxl|
jD]a}|dk	r/ˆ|f|kr/qni}|jˆ||t|dƒsYqn|j
|ƒqW|j‡fd†|
j	|
jDƒƒ|rxk|
jD]]}i}tjˆ|j|d|jjƒtj||j|d|jjƒ|j
|ƒq¡Wqq1q1W|dk	r(|j|ƒn|j||||ƒdS(NR•RŽc3s|]}|ˆfVqdS(N((R²R™(R$(sN/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/orm/dependency.pys	<genexpr>,stold_(RwRtRR~RRRRYRR–R:RnR*RCROR‡R‘RR
R
RRtsecondary_synchronize_pairsRÊ(
RRSRBRËRÌRÍRÎRÏtneed_cascade_pksR]R_RMRl((R$sN/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/orm/dependency.pyRWsp	

					
	
c

Csé|jj|jƒ}|rç|d}|jjtjg|jjD]6}|j|krA|tj	|jd|j
ƒk^qAŒƒ}|j||ƒ}	|	jƒrç|	j
t|ƒkrçtjd|jjt|ƒ|	j
fƒ‚qçn|r½|d}|jjtjg|jjD]:}|j|kr|tj	d|jd|j
ƒk^qŒƒ}|j||ƒ}	|	jƒr½|	j
t|ƒkr½tjd|jjt|ƒ|	j
fƒ‚q½n|rå|jjƒ}|j||ƒndS(Nittype_sRDELETE statement on table '%s' expected to delete %d row(s); Only %d were matched.RÐsRUPDATE statement on table '%s' expected to update %d row(s); Only %d were matched.(ttransactiont
connectionRRRŽRtand_R™Rt	bindparamttypetexecutetsupports_sane_multi_rowcounttrowcounttlenRtStaleDataErrortdescriptionR‡tinsert(
RRSRÌRÍRËRÕRlR™t	statementtresult((sN/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/orm/dependency.pyRÊFs<
<
@cCs´|j|ƒ|dkrtS|dk	rr|jj|ƒrr|jsntjdtj	|ƒ||j
fƒntStj||j
||j
jƒtj||j||j
jƒtS(NsGObject of type %s not in session, %s operation along '%s' won't proceed(RjR:R*R­R®RORR¯R°R±R
Rt
populate_dictR
RRRÑR&(RR$RMRlRmRSR((sN/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/orm/dependency.pyRnrs
	 

cCstj|||j|jjƒS(N(RR£R
R
R(RRSR$((sN/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/orm/dependency.pyR~Œs
(R€R‚R.RDRTRURVRWRÊRnR~(((sN/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/orm/dependency.pyRÈ}s			
	"	%	C	,	N(RÇtRRRRRRRR°t
interfacesRRRtobjectR	R„R¤R¦RÈR(((sN/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/orm/dependency.pyt<module>
s(ÿ1ÿÆjÿ