403Webshell
Server IP : 192.158.238.246  /  Your IP : 3.144.16.26
Web Server : LiteSpeed
System : Linux uniform.iwebfusion.net 4.18.0-553.27.1.lve.1.el8.x86_64 #1 SMP Wed Nov 20 15:58:00 UTC 2024 x86_64
User : jenniferflocom ( 1321)
PHP Version : 8.1.32
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /opt/alt/python37/lib64/python3.7/site-packages/sqlalchemy/orm/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /opt/alt/python37/lib64/python3.7/site-packages/sqlalchemy/orm/__pycache__/dynamic.cpython-37.pyc
B

��4]J9�@s
dZddlmZddlmZddlmZddlmZddlmZddlmZddlm	Z	dd	lm
Zdd
lm
Z
ddlmZddlmZdd	lm
Z
ejejjd
d�Gdd�de	j���ZGdd�dej�ZGdd�de�ZGdd�dee
�Zdd�ZGdd�de�ZdS)z�Dynamic collection API.

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

�)�
attributes)�exc)�
interfaces)�
object_mapper)�object_session)�
properties)�
strategies)�util)�Query�)�log�dynamic)Zlazyc@seZdZdd�ZdS)�
DynaLoaderc	Csld|_|jst�d|j��n$|jjtjtjfkrBt	�
d|j�tj|j|dt
|jj|jj|jjd�dS)NTztOn relationship %s, 'dynamic' loaders cannot be used with many-to-one/one-to-one relationships and/or uselist=False.z�On relationship %s, 'dynamic' loaders cannot be used with many-to-one/one-to-one relationships and/or uselist=False.  This warning will be an exception in a future release.)Z	useobjectZ
impl_class�
target_mapper�order_by�query_class)Zis_class_levelZuselistrZInvalidRequestErrorZparent_property�	directionrZ	ONETOMANYZ
MANYTOMANYr	�warnrZ_register_attribute�DynamicAttributeImpl�mapperrr)�selfr�r�I/opt/alt/python37/lib64/python3.7/site-packages/sqlalchemy/orm/dynamic.py�init_class_attribute s&

zDynaLoader.init_class_attributeN)�__name__�
__module__�__qualname__rrrrrrsrcseZdZdZdZdZdZdZd&�fdd�	Ze	j
fdd�Zde	jfdd	�Z
ejd
d��Zejdd
��Zd'dd�Zd(dd�Zdd�Zde	j
dddfdd�Zdd�Zdd�Ze	j
fdd�Ze	jfdd�Ze	j
fdd�Ze	j
fd d!�Ze	j
fd"d#�Ze	j
fd$d%�Z�ZS))rTFNc	sTtt|�j||||f|�||_||_|s2t|_nt|��krF||_n
t	|�|_dS)N)
�superr�__init__rr�
AppenderQueryr�
AppenderMixin�mro�mixin_user_query)	r�class_�keyZtypecallable�dispatchrrr�kw)�	__class__rrrEs
zDynamicAttributeImpl.__init__cCs*|tj@s|�|tj�jS|�||�SdS)N)r�SQL_OK�_get_collection_history�PASSIVE_NO_INITIALIZE�added_itemsr)r�state�dict_�passiverrr�get\s
zDynamicAttributeImpl.getcCs.|tj@s|�||�jS|�||�}|jSdS)N)rr(r)r+�added_plus_unchanged)rr,r-Z	user_datar.�historyrrr�get_collectionds
z#DynamicAttributeImpl.get_collectioncCst�|tj�S)N)r�EventZ	OP_APPEND)rrrr�
_append_tokenqsz"DynamicAttributeImpl._append_tokencCst�|tj�S)N)rr3Z	OP_REMOVE)rrrr�
_remove_tokenusz"DynamicAttributeImpl._remove_tokencCsh|dkr|�||�}|�|�x"|jjD]}||||p:|j�}q(W|jrd|dk	rd|�t�|�|d�dS)NT)	�_modified_event�	add_addedr%�appendr4�trackparent�sethasparentr�instance_state)rr,r-�value�	initiator�collection_history�fnrrr�fire_append_eventys
z&DynamicAttributeImpl.fire_append_eventcCsh|dkr|�||�}|�|�|jr@|dk	r@|�t�|�|d�x"|jjD]}||||p\|j�qJWdS)NF)	r6�add_removedr9r:rr;r%�remover5)rr,r-r<r=r>r?rrr�fire_remove_event�s
z&DynamicAttributeImpl.fire_remove_eventcCsD|j|jkrt||�|j|j<|�||tj�d||j<|j|jS)NT)r$�committed_state�CollectionHistoryr6rZ	NEVER_SET)rr,r-rrrr6�s

z$DynamicAttributeImpl._modified_eventc	Cs�|r|j|jkrdS|r$|dkr$dS|}	t|	�}
|jrHt�|�||��}|�||�}|jsb|j}n|�|j�}tj}
|�	|
�}|
|
��
|�}|�
|�}x(|
D] }||kr�|j|||d|d�q�Wx |D]}|j|||d|d�q�WdS)N)r>)
Zparent_token�list�has_identityr	ZIdentitySetr/r6r+�union�intersection�
differencer@rC)rr,r-r<r=r.Z	check_old�popZ_adapt�iterable�
new_valuesZold_collectionr>Zidset�	constantsZ	additionsZremovals�memberrrr�set�s@



zDynamicAttributeImpl.setcOs
t��dS)N)�NotImplementedError)r�args�kwargsrrr�delete�szDynamicAttributeImpl.deletecCstd��dS)Nz7Dynamic attributes don't support collection population.)rQ)rr,r-r<rrr�set_committed_value�sz(DynamicAttributeImpl.set_committed_valuecCs|�||�}|��S)N)r)�
as_history)rr,r-r.�crrr�get_history�sz DynamicAttributeImpl.get_historycCs|�||�}dd�|jD�S)NcSsg|]}t�|�|f�qSr)rr;)�.0�xrrr�
<listcomp>�sz8DynamicAttributeImpl.get_all_pending.<locals>.<listcomp>)r)�	all_items)rr,r-r.rWrrr�get_all_pending�sz$DynamicAttributeImpl.get_all_pendingcCsJ|j|jkr|j|j}n
t||�}|jrB|tj@rBt|||d�S|SdS)N)�apply_to)r$rDrErGrZINIT_OK)rr,r.rWrrrr)�s
z,DynamicAttributeImpl._get_collection_historycCs||k	r|�||||�dS)N)r@)rr,r-r<r=r.rrrr8�szDynamicAttributeImpl.appendcCs||k	r|�||||�dS)N)rC)rr,r-r<r=r.rrrrB�szDynamicAttributeImpl.removecCs|j|||||d�dS)N)r.)rB)rr,r-r<r=r.rrrrKszDynamicAttributeImpl.pop)N)N)N)rrrZuses_objectsZdefault_accepts_scalar_loaderZsupports_populationZ
collectionr
rrZPASSIVE_OFFr/r*r2r	Zmemoized_propertyr4r5r@rCr6rPrTrUrXr]r)r8rBrK�
__classcell__rr)r'rr>s6



-rcspeZdZdZ�fdd�Zdd�Zeedd��Zdd	�Zd
d�Zdd
�Z	ddd�Z
dd�Zdd�Zdd�Z
�ZS)r Ncs~tt|��|jd�|��|_}||_t|�}|j|jj	}|j
dk	rX|jj|j
f|_
|j|dd�|_|jjrz|jj|_dS)NF)Zalias_secondary)rr rr�obj�instance�attrrZ_propsr$Z	secondaryrZ
selectable�	_from_objZ_with_parent�
_criterionr�	_order_by)rrbr,rarZprop)r'rrr	s
zAppenderMixin.__init__cCsHt|j�}|dk	r0|jr0|jr0|j|kr0|��t�|j�s@dS|SdS)N)rra�	autoflush�flush�orm_utilrG)r�sessrrr�sessions

zAppenderMixin.sessioncCsdS)Nr)�srZrrr�<lambda>-�zAppenderMixin.<lambda>cCs>|j}|dkr,t|j�t�|j�tj�j�St|�	|��SdS)N)
rj�iterrbr)rr;rar*r+�_clone)rrirrr�__iter__/s
zAppenderMixin.__iter__cCs@|j}|dkr,|j�t�|j�tj��|�S|�|��	|�SdS)N)
rjrbr)rr;rar*�indexedro�__getitem__)r�indexrirrrrr;s
zAppenderMixin.__getitem__cCs>|j}|dkr,t|j�t�|j�tj�j�S|�	|��
�SdS)N)rj�lenrbr)rr;rar*r+ro�count)rrirrrruEs
zAppenderMixin.countcCs~|j}|dkr:t|�}|dkr:t�dt�|�|jjf��|jrT|j|jj	|d�}n|�
|jj	�}|j|_|j|_|j
|_
|S)Nz�Parent instance %s is not bound to a Session, and no contextual session is established; lazy load operation of attribute '%s' cannot proceed)rj)rar�orm_excZDetachedInstanceErrorrhZinstance_strrbr$rr�queryrdrcre)rrirarwrrrroQszAppenderMixin._clonecCs4x.|D]&}|j�t�|j�t�|j�|d�qWdS)N)rbr8rr;ra�
instance_dict)r�iterator�itemrrr�extendks


zAppenderMixin.extendcCs&|j�t�|j�t�|j�|d�dS)N)rbr8rr;rarx)rrzrrrr8ts


zAppenderMixin.appendcCs&|j�t�|j�t�|j�|d�dS)N)rbrBrr;rarx)rrzrrrrB|s


zAppenderMixin.remove)N)rrrrrrj�propertyrprrruror{r8rBr_rr)r'rr s

	r c@seZdZdZdS)rzBA dynamic query that supports basic collection storage operations.N)rrr�__doc__rrrrr�srcCsd|j}t|t|fd|i�S)zAReturn a new class with AppenderQuery functionality layered over.ZAppenderr)r�typer )�cls�namerrrr"�s
r"c@sReZdZdZddd�Zedd��Zedd��Zd	d
�Zdd�Z	d
d�Z
dd�ZdS)rEzDOverrides AttributeHistory to receive append/remove events directly.NcCs`|r8t||��d�}t�|�|_|j|_|j|_d|_n$t��|_t��|_t��|_d|_dS)NFT)rrfr	ZOrderedIdentitySet�unchanged_itemsr+�
deleted_items�_reconcile_collection)rrbr,r^Zcollrrrr�s


zCollectionHistory.__init__cCst|j�|j��S)N)rFr+rHr�)rrrrr0�sz&CollectionHistory.added_plus_unchangedcCst|j�|j��|j��S)N)rFr+rHr�r�)rrrrr\�szCollectionHistory.all_itemscCs`|jr0|j�|j�}|j�|j�}|j�|�}n|j|j|j}}}t�t|�t|�t|��S)N)	r�r+rJr�r�rIrZHistoryrF)rZaddedZdeletedZ	unchangedrrrrV�szCollectionHistory.as_historycCst|j�|S)N)rFr+)rrsrrrrq�szCollectionHistory.indexedcCs|j�|�dS)N)r+�add)rr<rrrr7�szCollectionHistory.add_addedcCs(||jkr|j�|�n|j�|�dS)N)r+rBr�r�)rr<rrrrA�s
zCollectionHistory.add_removed)N)rrrr}rr|r0r\rVrqr7rArrrrrE�s


rEN)r}�rrrvrrrrrr	rhrwr
rZclass_loggerZRelationshipPropertyZstrategy_forZAbstractRelationshipLoaderrZ
AttributeImplr�objectr rr"rErrrr�<module>
s*I

Youez - 2016 - github.com/yon3zu
LinuXploit