https://t.me/AnonymousX5
Server : Apache
System : Linux cvar2.toservers.com 3.10.0-962.3.2.lve1.5.73.el7.x86_64 #1 SMP Wed Aug 24 21:31:23 UTC 2022 x86_64
User : njnconst ( 1116)
PHP Version : 8.4.18
Disable Function : NONE
Directory :  /lib64/python2.7/site-packages/sqlalchemy/orm/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //lib64/python2.7/site-packages/sqlalchemy/orm/dynamic.pyc
�
���\c@sXdZddlmZddlmZddlmZddlmZddlmZddlmZddlm	Z
dd	lmZd
dlmZd
dlm
Z
d
dlm	Z	e
jejjdd
�dejfd��Y��Zdejfd��YZdefd��YZdeefd��YZd�Zdefd��YZdS(s�Dynamic collection API.

Dynamic collections act like Query() objects for read operations and support
basic add/delete mutation.

i(t
attributes(texc(t
object_mapper(tobject_session(t
properties(t
strategies(tutil(tQueryi(tlogtlazytdynamict
DynaLoadercBseZd�ZRS(c
Csrt|_|js+tjd|j��ntj|j|dtdtd|jj	d|jj
d|jj�dS(NstOn relationship %s, 'dynamic' loaders cannot be used with many-to-one/one-to-one relationships and/or uselist=False.t	useobjectt
impl_classt
target_mappertorder_bytquery_class(tTruetis_class_leveltuselistRtInvalidRequestErrortparent_propertyRt_register_attributetDynamicAttributeImpltmapperRR(tselfR((s</usr/lib64/python2.7/site-packages/sqlalchemy/orm/dynamic.pytinit_class_attributes		(t__name__t
__module__R(((s</usr/lib64/python2.7/site-packages/sqlalchemy/orm/dynamic.pyRsRcBseZeZeZeZeZeZdd�Z
ejd�Z
dejd�Zejd��Zejd��Zdd�Zdd�Zd�Zdejdeed�Zd	�Zd
�Zejd�Zejd�Zejd
�Zejd�Zejd�Zejd�ZRS(c	Kswtt|�j|||||�||_||_|sFt|_n-t|j�krd||_nt	|�|_dS(N(
tsuperRt__init__RRt
AppenderQueryRt
AppenderMixintmrotmixin_user_query(	Rtclass_tkeyttypecallabletdispatchRRRtkw((s</usr/lib64/python2.7/site-packages/sqlalchemy/orm/dynamic.pyR9s		cCs7|tj@s#|j|tj�jS|j||�SdS(N(RtSQL_OKt_get_collection_historytPASSIVE_NO_INITIALIZEtadded_itemsR(Rtstatetdict_tpassive((s</usr/lib64/python2.7/site-packages/sqlalchemy/orm/dynamic.pytgetPs
cCs=|tj@s |j||�jS|j||�}|jSdS(N(RR(R)R+tadded_plus_unchanged(RR,R-t	user_dataR.thistory((s</usr/lib64/python2.7/site-packages/sqlalchemy/orm/dynamic.pytget_collectionXs
cCstj|tj�S(N(RtEventt	OP_APPEND(R((s</usr/lib64/python2.7/site-packages/sqlalchemy/orm/dynamic.pyt
_append_tokenescCstj|tj�S(N(RR4t	OP_REMOVE(R((s</usr/lib64/python2.7/site-packages/sqlalchemy/orm/dynamic.pyt
_remove_tokeniscCs�|dkr!|j||�}n|j|�x/|jjD]!}||||pV|j�}q;W|jr�|dk	r�|jtj	|�|t
�ndS(N(tNonet_modified_eventt	add_addedR&tappendR6ttrackparenttsethasparentRtinstance_stateR(RR,R-tvaluet	initiatortcollection_historytfn((s</usr/lib64/python2.7/site-packages/sqlalchemy/orm/dynamic.pytfire_append_eventms
cCs�|dkr!|j||�}n|j|�|jrb|dk	rb|jtj|�|t�nx-|jj	D]}||||p�|j
�qoWdS(N(R9R:tadd_removedR=R>RR?tFalseR&tremoveR8(RR,R-R@RARBRC((s</usr/lib64/python2.7/site-packages/sqlalchemy/orm/dynamic.pytfire_remove_event{s
cCs_|j|jkr.t||�|j|j<n|j||tj�t||j<|j|jS(N(R$tcommitted_statetCollectionHistoryR:Rt	NEVER_SETR(RR,R-((s</usr/lib64/python2.7/site-packages/sqlalchemy/orm/dynamic.pyR:�s

c	
CsM|r|j|jkrdS|r2|dkr2dS|}	t|	�}
|jrktj|j||��}n|j||�}|js�|j}n|j	|j�}tj}
|j
|
�}|
|
�j|�}|j|�}x9|
D]1}||kr�|j|||dd|�q�q�Wx*|D]"}|j
|||dd|�q#WdS(NRB(tparent_tokenR9tlistthas_identityRtIdentitySetR/R:R+tuniontintersectiont
differenceRDRH(RR,R-R@RAR.t	check_oldtpopt_adapttiterablet
new_valuestold_collectionRBtidsett	constantst	additionstremovalstmember((s</usr/lib64/python2.7/site-packages/sqlalchemy/orm/dynamic.pytset�s@			

cOs
t��dS(N(tNotImplementedError(Rtargstkwargs((s</usr/lib64/python2.7/site-packages/sqlalchemy/orm/dynamic.pytdelete�scCstd��dS(Ns7Dynamic attributes don't support collection population.(R_(RR,R-R@((s</usr/lib64/python2.7/site-packages/sqlalchemy/orm/dynamic.pytset_committed_value�scCs|j||�}|j�S(N(R)t
as_history(RR,R-R.tc((s</usr/lib64/python2.7/site-packages/sqlalchemy/orm/dynamic.pytget_history�scCs;|j||�}g|jD]}tj|�|f^qS(N(R)t	all_itemsRR?(RR,R-R.Retx((s</usr/lib64/python2.7/site-packages/sqlalchemy/orm/dynamic.pytget_all_pending�scCse|j|jkr%|j|j}nt||�}|jr]|tj@r]t||d|�S|SdS(Ntapply_to(R$RIRJRNRtINIT_OK(RR,R.Re((s</usr/lib64/python2.7/site-packages/sqlalchemy/orm/dynamic.pyR)�scCs)||k	r%|j||||�ndS(N(RD(RR,R-R@RAR.((s</usr/lib64/python2.7/site-packages/sqlalchemy/orm/dynamic.pyR<�scCs)||k	r%|j||||�ndS(N(RH(RR,R-R@RAR.((s</usr/lib64/python2.7/site-packages/sqlalchemy/orm/dynamic.pyRG�scCs |j||||d|�dS(NR.(RG(RR,R-R@RAR.((s</usr/lib64/python2.7/site-packages/sqlalchemy/orm/dynamic.pyRT�sN( RRRtuses_objectsRFtdefault_accepts_scalar_loadertsupports_populationt
collectionR
R9RRtPASSIVE_OFFR/R*R3Rtmemoized_propertyR6R8RDRHR:R^RbRcRfRiR)R<RGRT(((s</usr/lib64/python2.7/site-packages/sqlalchemy/orm/dynamic.pyR2s6

	-		R cBsteZd
Zd�Zd�Zeed��Zd�Zd�Zd�Z	d
d�Z
d�Zd�Zd	�Z
RS(cCs�tt|�j|jd�|j�|_}||_t|�}|j	|jj
}|jdk	r�|jj
|jf|_n|j|dt�|_|jjr�|jj|_ndS(Ntalias_secondary(RR RRR9tobjtinstancetattrRt_propsR$t	secondaryRt
selectablet	_from_objt_with_parentRFt
_criterionRt	_order_by(RRuR,RtRtprop((s</usr/lib64/python2.7/site-packages/sqlalchemy/orm/dynamic.pyR�s	cCsgt|j�}|dk	rI|jrI|jrI|j|krI|j�ntj|j�s_dS|SdS(N(RRtR9t	autoflushtflushtorm_utilRN(Rtsess((s</usr/lib64/python2.7/site-packages/sqlalchemy/orm/dynamic.pytsessions		
cCsdS(N(R9(tsRh((s</usr/lib64/python2.7/site-packages/sqlalchemy/orm/dynamic.pyt<lambda>!scCsW|j}|dkr@t|jjtj|j�tj�j	�St|j
|��SdS(N(R�R9titerRuR)RR?RtR*R+t_clone(RR�((s</usr/lib64/python2.7/site-packages/sqlalchemy/orm/dynamic.pyt__iter__#s		cCsZ|j}|dkr@|jjtj|j�tj�j|�S|j	|�j
|�SdS(N(R�R9RuR)RR?RtR*tindexedR�t__getitem__(RtindexR�((s</usr/lib64/python2.7/site-packages/sqlalchemy/orm/dynamic.pyR�/s		cCsW|j}|dkr@t|jjtj|j�tj�j	�S|j
|�j�SdS(N(R�R9tlenRuR)RR?RtR*R+R�tcount(RR�((s</usr/lib64/python2.7/site-packages/sqlalchemy/orm/dynamic.pyR�9s		cCs�|j}|dkr[t|�}|dkr[tjdtj|�|jjf��q[n|j	r�|j	|jj
d|�}n|j|jj
�}|j|_|j
|_
|j|_|S(Ns�Parent instance %s is not bound to a Session, and no contextual session is established; lazy load operation of attribute '%s' cannot proceedR�(RtR9Rtorm_exctDetachedInstanceErrorR�tinstance_strRuR$RRtqueryR{RyR|(RR�RtR�((s</usr/lib64/python2.7/site-packages/sqlalchemy/orm/dynamic.pyR�Es	%	cCsFx?|D]7}|jjtj|j�tj|j�|d�qWdS(N(RuR<RR?Rtt
instance_dictR9(Rtiteratortitem((s</usr/lib64/python2.7/site-packages/sqlalchemy/orm/dynamic.pytextend_s
	cCs5|jjtj|j�tj|j�|d�dS(N(RuR<RR?RtR�R9(RR�((s</usr/lib64/python2.7/site-packages/sqlalchemy/orm/dynamic.pyR<hs
	cCs5|jjtj|j�tj|j�|d�dS(N(RuRGRR?RtR�R9(RR�((s</usr/lib64/python2.7/site-packages/sqlalchemy/orm/dynamic.pyRGps
	N(RRR9RRR�tpropertyR�R�R�R�R�R<RG(((s</usr/lib64/python2.7/site-packages/sqlalchemy/orm/dynamic.pyR �s				
				RcBseZdZRS(sBA dynamic query that supports basic collection storage operations.(RRt__doc__(((s</usr/lib64/python2.7/site-packages/sqlalchemy/orm/dynamic.pyRyscCs*d|j}t|t|fi|d6�S(sAReturn a new class with AppenderQuery functionality layered over.tAppenderR(RttypeR (tclstname((s</usr/lib64/python2.7/site-packages/sqlalchemy/orm/dynamic.pyR"}s
RJcBs\eZdZdd�Zed��Zed��Zd�Zd�Z	d�Z
d�ZRS(	sDOverrides AttributeHistory to receive append/remove events directly.cCs�|rTt||�jt�}tj|�|_|j|_|j|_t|_	n6tj�|_tj�|_tj�|_t|_	dS(N(
RR~RFRtOrderedIdentitySettunchanged_itemsR+t
deleted_itemsRt_reconcile_collection(RRuR,Rjtcoll((s</usr/lib64/python2.7/site-packages/sqlalchemy/orm/dynamic.pyR�scCst|jj|j��S(N(RMR+RPR�(R((s</usr/lib64/python2.7/site-packages/sqlalchemy/orm/dynamic.pyR0�scCs%t|jj|j�j|j��S(N(RMR+RPR�R�(R((s</usr/lib64/python2.7/site-packages/sqlalchemy/orm/dynamic.pyRg�scCs�|jrH|jj|j�}|jj|j�}|jj|�}n|j|j|j}}}tjt|�t|�t|��S(N(	R�R+RRR�R�RQRtHistoryRM(Rtaddedtdeletedt	unchanged((s</usr/lib64/python2.7/site-packages/sqlalchemy/orm/dynamic.pyRd�s	cCst|j�|S(N(RMR+(RR�((s</usr/lib64/python2.7/site-packages/sqlalchemy/orm/dynamic.pyR��scCs|jj|�dS(N(R+tadd(RR@((s</usr/lib64/python2.7/site-packages/sqlalchemy/orm/dynamic.pyR;�scCs6||jkr"|jj|�n|jj|�dS(N(R+RGR�R�(RR@((s</usr/lib64/python2.7/site-packages/sqlalchemy/orm/dynamic.pyRE�sN(RRR�R9RR�R0RgRdR�R;RE(((s</usr/lib64/python2.7/site-packages/sqlalchemy/orm/dynamic.pyRJ�s
	
		N(R�tRRR�RRRRRR�R�RRtclass_loggertRelationshipPropertytstrategy_fortAbstractRelationshipLoaderRt
AttributeImplRtobjectR RR"RJ(((s</usr/lib64/python2.7/site-packages/sqlalchemy/orm/dynamic.pyt<module>
s&�	

https://t.me/AnonymousX5 - 2025