Team Ai
Datasetpublic

codekingpro/portable-devtools

sourceHugging Faceupdated 5mo agoView on Hugging Face
1likes14kdownloads
writeonly.cpython-313.pyc193 linesDownload Raw Back to __pycache__
1�

2��j�Y���SrSSKJr SSKJr SSKJr SSKJr SSKJr SSKJr SSKJ	r	 SS	KJ3r4 SS5KJr SSKJr SSKJ
r
 SS
KJr SSKJr SSKJr SSKJr SSKJr SSKJr SSKJr SSKJr SSKJr SSKJr SSKJr SSKJr SSKJr SSKJr SSKJr SSKJ r  SSKJ!r! SS KJ"r" SS!K#J$r$ SS"K#J%r% SS#K#J&r& SS$K#J'r' SS%K(J)r) SS&K(J*r* SS'K(J+r+ SS(K,J-r- \(aNSS)KJ.r. SS*K/J0r0 SS+KJ1r1 SS,KJ2r2 SS-K3J4r4 SS.K3J5r5 SS/K6J7r7 SS0KJ8r8 SS1K9J:r: SS2K"J;r; SS3K<J=r= SS4K>J?r? SS5K>J@r@ \"S6\S79rA"S8S9\\A5rB"S:S;\R�\R�5rE\!R�\R�R�S<S=9"S>S?\R�\!R�555rK"S@SA5rL"SBSC\\A5rM"SDSE\M\A5rNgF)Gz�Write-only collection API.6 7This is an alternate mapped attribute style that only supports single-item8collection mutation operations.   To read the collection, a select()9object must be executed each time.10 11.. versionadded:: 2.012 13 14�)�annotations)�Any)�15Collection)�Dict)�Generic)�Iterable)�Iterator)�List)�NoReturn)�Optional)�overload)�Tuple)�Type)�
TYPE_CHECKING)�TypeVar)�Union)�	bindparam�)�16attributes)�17interfaces)�
relationships)�18strategies)�	NEVER_SET)�
object_mapper)�PassiveFlag)�RelationshipDirection�)�exc)�inspect)�log)�util)�delete)�insert)�select)�update)�Delete)�Insert)�Update)�Literal)�QueryableAttribute)�
_InstanceDict)�AttributeEventToken)�LoaderCallableStatus)�_AdaptedCollectionProtocol)�CollectionAdapter)�Mapper)�_RelationshipOrderByArg)�
InstanceState)�AliasedClass)�	_Dispatch)�19FromClause)�Select�_T)�boundc��\rSrSr%SrS\S'S\S'S\S'S\S'SSS20jjr\SSj5r\SSj5r	SS
jr21SSjrSSjrSSjr
Srg	)�WriteOnlyHistory�MzDOverrides AttributeHistory to receive append/remove events directly.zutil.OrderedIdentitySet�unchanged_items�added_items�
deleted_items�bool�_reconcile_collectionNc��U(azU[R-(a[R"SUSUS35eURUlUR22UlURUlURUlg[R"5Ul[R"5Ul[R"5UlSUlg)Nz23Attribute z� can't load the existing state from the database for this operation; full iteration is not permitted.  If this is a delete operation, configure passive_deletes=True on the z- relationship in order to resolve this error.F)24r�SQL_OKr�InvalidRequestErrorr<r=r>r@r!�OrderedIdentitySet)�self�attr�state�passive�apply_tos     �^D:\code\apps\devtools\python\user_packages\Python313\site-packages\sqlalchemy/orm/writeonly.py�__init__�WriteOnlyHistory.__init__Us������+�+�+��-�-� ���'3�48�&�93�3���$,�#;�#;�D� �'�3�3�D��!)�!7�!7�D��)1�)G�)G�D�&�!%�!8�!8�!:�D��#�6�6�8�D��#'�#:�#:�#<�D� �).�D�&�c�^�[URRUR55$�N)�listr=�unionr<�rEs rJ�added_plus_unchanged�%WriteOnlyHistory.added_plus_unchangedps$���D�$�$�*�*�4�+?�+?�@�A�ArMc��[URRUR5RUR55$rO)rPr=rQr<r>rRs rJ�	all_items�WriteOnlyHistory.all_itemsts=������"�"�4�#7�#7�8�>�>��"�"�
�25�	26rMc��UR(afURRUR5nURRUR5nURRU5nO#URURURp#n[R"[U5[U5[U55$rO)	r@r=�27differencer<r>�intersectionr�HistoryrP)rE�added�deleted�	unchangeds    rJ�28as_history�WriteOnlyHistory.as_history|s����%�%��$�$�/�/��0D�0D�E�E��(�(�5�5�d�6J�6J�K�G��,�,�7�7��@�I�� � ��$�$��"�"�&�E�29�!�!�$�u�+�t�I���W�
�N�NrMc�2�[UR5U$rO)rPr=)rE�indexs  rJ�indexed�WriteOnlyHistory.indexed�s���D�$�$�%�e�,�,rMc�:�URRU5 grO)r=�add�rE�values  rJ�	add_added�WriteOnlyHistory.add_added�s�������U�#rMc��XR;aURRU5 gURRU5 grO)r=�remover>rfrgs  rJ�add_removed�WriteOnlyHistory.add_removed�s6���$�$�$����#�#�E�*����"�"�5�)rM)r@r=r>r<rO)30rF�WriteOnlyAttributeImplrG�InstanceState[_T]rHrrIzOptional[WriteOnlyHistory[_T]]�return�None)rqzList[_T])rq�attributes.History)rbzUnion[int, slice]rqzUnion[List[_T], _T])rhr7rqrr)�__name__�31__module__�__qualname__�__firstlineno__�__doc__�__annotations__rK�propertyrSrVr_rcrirm�__static_attributes__�rMrJr:r:Ms���N�,�,�(�(�*�*���48�/�$�/�!�/��	/�321�/�33�
/�6�B��B��34��35�O�-�$�*rMr:c�^�\rSrSr%SrS\S'SrS\S'SrS\S'SrS\S'Sr	S\S	'Sr36S\S37'SrS\S
'\r
S\S'S\S'S(U4Sjjr\R 4S)Sjjr\S*S+Sjj5r\S*S,Sjj5r\S*S-Sjj5rS\R 4S-Sjjr\R*S.Sj5r\R*S.Sj5rS/S0SjjrS/S0SjjrS1SjrS\R SSS4S2SjjrS3SjrS4S jr\R<4S5S!jjr\R@4S6S"jjr!S7S#jr"\R<4S8S$jjr#\R<4S8S%jjr$\R<4S8S&jjr%S'r&U=r'$)9ro�Tr?�uses_objectsF�default_accepts_scalar_loader�supports_population�_supports_dynamic_iteration�38collection�dynamicr|r1�order_byzType[WriteOnlyHistory[Any]]�collection_history_clszType[WriteOnlyCollection[Any]]�query_classc�~>�[TU]"XSU40UD6 X@l[UlU(a[U5UlggrO)�superrK�
target_mapper�WriteOnlyCollectionr��tupler�)rE�class_�key�dispatchr�r��kw�	__class__s       �rJrK�WriteOnlyAttributeImpl.__init__�s<���	����d�H�;��;�*��.����!�(�O�D�M�rMc��U[R-(d*URU[R5R$URX5$rO)rrB�_get_collection_history�PASSIVE_NO_INITIALIZEr=r�)rErG�dict_rHs    rJ�get�WriteOnlyAttributeImpl.get�sH����+�+�+��/�/��{�8�8���k�
��#�#�D�0�0rMc��grOr|�rErGr��	user_datarHs     rJ�get_collection�%WriteOnlyAttributeImpl.get_collection���� rMc��grOr|r�s     rJr�r��r�rMc��grOr|r�s     rJr�r��s��rMNc��U[R-(dURX5RnOURX5nURn[U5$rO)rrBr�r=rS�DynamicCollectionAdapter)rErGr�r�rH�data�historys       rJr�r��sN����+�+�+��/�/��?�K�K�D��2�2�5�B�G��/�/�D�'��-�-rMc�L�[R"U[R5$rO)rr,�	OP_APPENDrRs rJ�
_append_token�$WriteOnlyAttributeImpl._append_token�����-�-�d�J�4H�4H�I�IrMc�L�[R"U[R5$rO)rr,�	OP_REMOVErRs rJ�
_remove_token�$WriteOnlyAttributeImpl._remove_token�r�rMc�:�UcURX5nURU5 URRHnU"XU=(d UR5nM! UR39(a,Ub(UR
[R"U5US5 ggg�NT)	�_modified_eventrir��appendr��trackparent�sethasparentr�instance_state�rErGr�rh�	initiator�collection_history�fns       rJ�fire_append_event�(WriteOnlyAttributeImpl.fire_append_event�s����%�!%�!5�!5�e�!C���$�$�U�+��-�-�&�&�B��u�Y�%D�$�2D�2D�E�E�'����� 1����j�7�7��>��t�L�!2�rMc�6�UcURX5nURU5 UR(a*Ub'UR[R40"U5US5 URRHnU"XU=(d UR5 M! g)NF)	r�rmr�r�rr�r�rlr�r�s       rJ�fire_remove_event�(WriteOnlyAttributeImpl.fire_remove_event	s}���%�!%�!5�!5�e�!C���&�&�u�-����� 1����j�7�7��>��u�M��-�-�&�&�B��u�Y�<�$�*<�*<�=�'rMc��URUR;a7URX[R5URUR'URX [5 SX R'URUR$r�)r��committed_stater�r�PASSIVE_NO_FETCHr�r)rErGr�s   rJr��&WriteOnlyAttributeImpl._modified_eventst���8�8�5�0�0�0�.2�.I�.I��[�9�9�/�E�!�!�$�(�(�+�	���e�9�5���h�h���$�$�T�X�X�.�.rMc		���U(aURURLagU(aUcgUn	[U	5n41UR(aOUR(d[R42"SUS35e[R"URXUS95nURX5nUR(d
URnOWRUR5nURU435n
[R"U445RU
5nURU
5nU45HnUU;dMURUUUSUS9 M  UHnURUUUSUS9 M g)NzCollection "zV" does not support implicit iteration; collection replacement operations can't be used�rH)r�)�parent_tokenrP�has_identityr�rrCr!�IdentitySetr�r�r=rQrZrYr�r�)rErGr�rhr�rH�	check_old�pop�_adapt�iterable�46new_values�old_collectionr��	constants�	additions�removals�members                 rJ�set�WriteOnlyAttributeImpl.set+sl����/�/�4�3D�3D�D���5�=�����(�^�47�����3�3��-�-�"�4�&�)$�$���48"�-�-�����w��7��N�"�1�1�%�?���!�!�/�;�;�N�+�1�1�"�.�.��N�#�/�/�49�;�	��$�$�Z�0�;�;�I�F�	�!�,�,�Y�7�� �F���"��&�&�����'9�'��!��F��"�"�����#5�
#�
�rMc��[5erO��NotImplementedError)rE�args�kwargss   rJr"�WriteOnlyAttributeImpl.deletehs��!�#�#rMc��[S5e)Nz7Dynamic attributes don't support collection population.r�)rErGr�rhs    rJ�set_committed_value�*WriteOnlyAttributeImpl.set_committed_valueks��"�E�50�	51rMc�D�URX5nUR5$rO)r�r_)rErGr�rH�cs     rJ�get_history�"WriteOnlyAttributeImpl.get_historyrs ��
�(�(��8���|�|�~�rMc��URX5nURVs/sHn[R"U5U4PM sn$s snfrO)r�rVrr�)rErGr�rHr��xs      rJ�get_all_pending�&WriteOnlyAttributeImpl.get_all_pending{s@��
�(�(��8��;<�;�;�G�;�a��*�*�1�-�q�1�;�G�G��Gs�"Ac� �URUR;aURURnO URX[R5nUR52(a(U[R-(aURXX#S9$U$)N)rI)r�r�r�rr�r��INIT_OK)rErGrHr�s    rJr��.WriteOnlyAttributeImpl._get_collection_history�s����8�8�u�,�,�,��%�%�d�h�h�/�A��+�+��[�9�9��A����7�[�-@�-@�#@��.�.��W�/��
��HrMc�2�X@LaURXX45 ggrO)r��rErGr�rhr�rHs      rJr��WriteOnlyAttributeImpl.append����� ��"�"�5��B�!rMc�2�X@LaURXX45 ggrO)r�r�s      rJrl�WriteOnlyAttributeImpl.remove�r�rMc�&�URXX4US9 g)Nr�)rlr�s      rJr��WriteOnlyAttributeImpl.pop�s��	
���E�%�G��DrM)r�r�r�)r�z#Union[Type[Any], AliasedClass[Any]]r��strr�z"_Dispatch[QueryableAttribute[Any]]r�z53Mapper[_T]r�r1r�r)rG�InstanceState[Any]r�r+rHrrqz8Union[util.OrderedIdentitySet, WriteOnlyCollection[Any]])..)54rGr�r�r+r�z
Literal[None]rHz Literal[PassiveFlag.PASSIVE_OFF]rqr/)55rGr�r�r+r�r.rHrrqr/)56rGr�r�r+r�z$Optional[_AdaptedCollectionProtocol]rHrrqzIUnion[Literal[LoaderCallableStatus.PASSIVE_NO_RESULT], CollectionAdapter])rqzattributes.AttributeEventTokenrO)rGr�r�r+rhrr��Optional[AttributeEventToken]r�zOptional[WriteOnlyHistory[Any]]rqrr)rGr�r�r+rq�WriteOnlyHistory[Any])rGr�r�r+rhrr�r�rHrr�rr�r?r�r?rqrr)r�rr�rrqr)rGr�r�r+rhrrqr)rGr�r�r+rHrrqrs)rGr�r�r+rHrrqz$List[Tuple[InstanceState[Any], Any]])rGr�rHrrqr�)rGr�r�r+rhrr�r�rHrrqrr)(rtrurvrwrryr�r�r�r�r�r�r:r�rKr�PASSIVE_OFFr�r
r�r!�memoized_propertyr�r�r�r�r�r�r"r�r�r�r�r�r�r�rlr�r{�
__classcell__)r�s@rJroro�s57����L�$��*/�!�4�/� %���%�(-���-��J����G�T��(*�H�%�*�:J��7�J�/�/�
,�3�
,��
,�5�	
,�58"�
,�*�

,��
,�& +�6�6�	1�!�1��1��	1�5960B�1��61$'�47� �!� �� �!�	 �622� �63�
 �� ��6414�"� �!� �� �.�	 �65� �66�
 �� ��67;>�"��!����8�	�68��69�
���;?�*�6�6�.�!�.��.�8�	.�70�.�71�
.�"72���J��J�73���J��J�?C�
M�!�M��M��	M�741�M�<�
M�75�M�2?C�
>�!�>��>��	>�761�>�<�
>�77�>�&
/�'�
/�0=�
/�	�
/�(48�*�6�6����;�!�;��;��	;�781�;��
;��;��;��;�79�;�z$�80�'�81�0=�82�FI�83�	�84� +�;�;�	�!�����	�8586�� +�@�@�	H�!�H��H��	H�8788.�H��'��2=��	��0 +�;�;�
	C�!�	C��	C��		C�891�	C��
	C�90�	C�" +�;�;�
	C�!�	C��	C��		C�911�	C��
	C�92�	C�" +�;�;�
E�!�E��E��	E�931�E��
E�94�E�ErMro�95write_only)�lazyc�"�\rSrSr\rSSjrSrg)�WriteOnlyLoaderi�c96��SUlUR(a8URR[R97[R4;a#[R"SUR-5e[R"URUSURURRURRURRS9 g)NTztOn relationship %s, 'dynamic' loaders cannot be used with many-to-one/one-to-one relationships and/or uselist=False.)�	useobject�98impl_classr�r�r�)�is_class_level�uselist�parent_property�	directionr�	ONETOMANY�99MANYTOMANYrrCr�_register_attributer��mapperr�r�)rErs  rJ�init_class_attribute�$WriteOnlyLoader.init_class_attribute�s���"����|�|�t�3�3�=�=�� � ��!�!�F100� 101��)�)�!�#'�#7�#7�8��
�	�&�&�� � �������.�.�5�5��)�)�2�2��,�,�8�8�	102rM)r�N)rzMapper[Any]rqrr)rtrurvrwror�rr{r|rMrJr�r��s��(�J�103rMr�c�V�\rSrSr%SrS\S'SSjrS
SjrSSjrSSjr	SS	jr104S105rg)r�i�z9simplified CollectionAdapter for internal API consistency�Collection[Any]r�c��XlgrO�r�)rEr�s  rJrK�!DynamicCollectionAdapter.__init__�s���	rMc�,�[UR5$rO)�iterr�rRs rJ�__iter__�!DynamicCollectionAdapter.__iter__�s���D�I�I��rMc��grOr|rRs rJ�_reset_empty�%DynamicCollectionAdapter._reset_empty�s��rMc�,�[UR5$rO)�lenr�rRs rJ�__len__� DynamicCollectionAdapter.__len__�s���4�9�9�~�rMc��gr�r|rRs rJ�__bool__�!DynamicCollectionAdapter.__bool__�s��rMr106N)r�r)rqz
Iterator[Any])rqrr)rq�int)rqr?)rtrurvrwrxryrKrrrrr{r|rMrJr�r��s$��C�107����
��rMr�c�^�\rSrSr%Sr\(dSrS\S'S\S'S
SjrSS	jr	SS108jr109Srg)�AbstractCollectionWriteri�zkVirtual collection which includes append/remove methods that synchronize110into the attribute event system.111 112r|r7�instancezTuple[FromClause, ...]�	_from_objc���UR5n[(a	U(deX0lXl[	U5nUR113URRnURb,URR5UR4Ul114OSUl115URUSS94UlURR(aURRUlgSUlg)Nr|F)�alias_secondary)�objrrrFr�_propsr��	secondaryr�__clause_element__r�_with_parent�_where_criteriar��_order_by_clauses)rErFrGrr�props      rJrK�!AbstractCollectionWriter.__init__�s����9�9�;���=��O�8� �
��	��x�(���}�}�T�Y�Y�]�]�+���>�>�%�#�k�k�<�<�>����O�D�N��D�N�
���h���>� 116����9�9���%)�Y�Y�%7�%7�D�"�%'�D�"rMc���UH]nURR[R"UR5[R117"UR5US5 M_ grO)rFr�rr�r�
instance_dict)rE�iterator�items   rJ�
_add_all_impl�&AbstractCollectionWriter._add_all_implsH���D��I�I����)�)�$�-�-�8��(�(����7���	
�rMc��URR[R"UR5[R118"UR5US5 grO)rFrlrr�rr+�rEr-s  rJ�_remove_impl�%AbstractCollectionWriter._remove_impls>���	�	����%�%�d�m�m�4��$�$�T�]�]�3���		119rM)rr'r&rFrN)rFrorGrp�r,zIterable[_T]rqrr�r-r7rqrr)rtrurvrwrxr�	__slots__ryrKr.r2r{r|rMrJrr�s,���120��	��L�%�%�(�B�121rMrc�l�\rSrSrSrSrSSjrSSjrSSjrSSjr	SSjr122SS	jrSS123jrSSjr
Srg
)r�i'ayWrite-only collection which can synchronize changes into the124attribute event system.125 126The :class:`.WriteOnlyCollection` is used in a mapping by127using the ``"write_only"`` lazy loading strategy with128:func:`_orm.relationship`.     For background on this configuration,129see :ref:`write_only_relationship`.130 131.. versionadded:: 2.0132 133.. seealso::134 135    :ref:`write_only_relationship`136 137)rrFr&rr'c��[S5e)Nz�WriteOnly collections don't support iteration in-place; to query for collection items, use the select() method to produce a SQL statement and execute it with session.scalars().)�	TypeErrorrRs rJr�WriteOnlyCollection.__iter__@s���
M�138�	139rMc��[URR5R"UR6nUR140(aUR"UR1416nUR(aUR"UR6nU$)z�Produce a :class:`_sql.Select` construct that represents the142rows within this instance-local :class:`_orm.WriteOnlyCollection`.143 144)	r$rFr��wherer&r�select_fromr'r�)rE�stmts  rJr$�WriteOnlyCollection.selectGsf��145�d�i�i�-�-�.�4�4�d�6J�6J�K���>�>��#�#�T�^�^�4�D��!�!��=�=�$�"8�"8�9�D��rMc���[UR5nURnURURR146nUR[RLa[R"S5e0nURH9upVURUUURU5n[SUS9XFR147'M; [URR 5R""S0UD6$)aFor one-to-many collections, produce a :class:`_dml.Insert` which148will insert new rows in terms of this this instance-local149:class:`_orm.WriteOnlyCollection`.150 151This construct is only supported for a :class:`_orm.Relationship`152that does **not** include the :paramref:`_orm.relationship.secondary`153parameter.  For relationships that refer to a many-to-many table,154use ordinary bulk insert techniques to produce new objects, then155use :meth:`_orm.AbstractCollectionWriter.add_all` to associate them156with the collection.157 158 159z�Write only bulk INSERT only supported for one-to-many collections; for many-to-many, use a separate bulk INSERT along with add_all().N)�	callable_r|)rrrr"rFr�rrrrrC�synchronize_pairs�_get_attr_w_warn_on_none�dictrr#r��values)rErGrr(r��l�rr�s        rJr#�WriteOnlyCollection.insertSs�����
�
�&�������}�}�T�Y�Y�]�]�+���>�>�!6�!@�!@�@��)�)�/��
�!#���*�*�D�A��.�.����160�161��	�B�%�T�R�8�E�%�%�L�+��d�i�i�-�-�.�5�5�>��>�>rMc�n�[URR5R"UR6$)z|Produce a :class:`_dml.Update` which will refer to rows in terms162of this instance-local :class:`_orm.WriteOnlyCollection`.163 164)r%rFr�r<r&rRs rJr%�WriteOnlyCollection.update{�*��165�d�i�i�-�-�.�4�4�d�6J�6J�K�KrMc�n�[URR5R"UR6$)z|Produce a :class:`_dml.Delete` which will refer to rows in terms166of this instance-local :class:`_orm.WriteOnlyCollection`.167 168)r"rFr�r<r&rRs rJr"�WriteOnlyCollection.delete�rKrMc�&�URU5 g)z�Add an iterable of items to this :class:`_orm.WriteOnlyCollection`.169 170The given items will be persisted to the database in terms of171the parent instance's collection on the next flush.172 173N�r.)rEr,s  rJ�add_all�WriteOnlyCollection.add_all�s��	
���8�$rMc�(�URU/5 g)z�Add an item to this :class:`_orm.WriteOnlyCollection`.174 175The given item will be persisted to the database in terms of176the parent instance's collection on the next flush.177 178NrOr1s  rJrf�WriteOnlyCollection.add�s��	
���D�6�"rMc�&�URU5 g)z�Remove an item from this :class:`_orm.WriteOnlyCollection`.179 180The given item will be removed from the parent instance's collection on181the next flush.182 183N)r2r1s  rJrl�WriteOnlyCollection.remove�s��	
���$�rMr|N)rqr)rqzSelect[Tuple[_T]])rqr')rqr()rqr&r4r5)rtrurvrwrxr6rr$r#r%r"rPrfrlr{r|rMrJr�r�'s9��� �I�184�185�&?�PL�L�%�#� rMr�N)Orx�186__future__r�typingrrrrrr	r187rrr
rrrrr�sqlalchemy.sqlr�rrrr�baserrrrrrr r!�sqlr"r#r$r%�sql.dmlr&r'r(�util.typingr)r*�_typingr+r,r-�collectionsr.r/rr0r1rGr2r3�eventr4�sql.selectabler5r6r7r:�HasCollectionAdapter�
AttributeImplro�class_logger�RelationshipProperty�strategy_for�AbstractRelationshipLoader�188Identifiedr�r�rr�r|rMrJ�<module>ris]��	�#������������� ���$��������'������������!��$�&�/�*�7�.��6�$�"�!�+�'��T����F*�w�r�{�F*�R^E��#�#�Z�%=�%=�^E�B	����#�#�0�0�l�0�C�189�j�;�;�S�^�^�190�D��191�4��*<192�w�r�{�<193�~{ �2�2�6�{ rM
codekingpro/portable-devtools · Team Ai