Team Ai
Datasetpublic

codekingpro/portable-devtools

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

2��j�<���SSKJr SSKJr SSKrSSKrSSKJ	r	 SSK3Jr SSK4Jr SSK
Jr SSK
Jr \R (a5SSKr\R&"S	\R(\\4\R(\\4S59rO \R&"S	\R(\\4S9r"SS
\R0\5rSSjr"SS\R6\5rg)�)�annotationsN�)�6want_bytes)�7BadPayload)�BadSignature)�_make_keys_list)�Signer�_TSerialized)�bound�default)rc�(�\rSrSrSSjrSSjrSrg)�_PDataSerializer�c��g�N�)�self�payloads  �]D:\code\apps\devtools\python\user_packages\Python313\site-packages\itsdangerous/serializer.py�loads�_PDataSerializer.loadss���c��grr�r�objs  r�dumps�_PDataSerializer.dumpss��CrrN)rr8�return�t.Any)rrrr9)�__name__�10__module__�__qualname__�__firstlineno__rr�__static_attributes__rrrrrs11��;�8rrc�@�[UR05[5$)z5Checks whether a serializer generates text or binary.)�12isinstancer�str)�13serializers r�is_text_serializerr)#s���j�&�&�r�*�C�0�0rc��\rSrSr%Sr\rS\S'\r	S\S'/r14S\S'\RSSS15jj5r
\RS S!Sjj5r
\RS"S	S	S	S	S.S!S
jjj5r
\RS S#Sjj5r
\RS"S	S	S	S	S.S#Sjjj5r
SS$Sjjr
\S%Sj5rS&S'SjjrS(SjrS&S)SjjrS&S*SjjrS&S+SjjrS&S,SjjrS&S-SjjrS&S.SjjrS&S/SjjrS0S1SjjrS&S2SjjrSrg	)3�16Serializer�*a�A serializer wraps a :class:`~itsdangerous.signer.Signer` to17enable serializing and securely signing data other than bytes. It18can unsign to verify that the data hasn't been changed.19 20The serializer provides :meth:`dumps` and :meth:`loads`, similar to21:mod:`json`, and by default uses :mod:`json` internally to serialize22the data to bytes.23 24The secret key should be a random string of ``bytes`` and should not25be saved to code or version control. Different salts should be used26to distinguish signing in different contexts. See :doc:`/concepts`27for information about the security of the secret key and salt.28 29:param secret_key: The secret key to sign and verify with. Can be a30    list of keys, oldest to newest, to support key rotation.31:param salt: Extra key to combine with ``secret_key`` to distinguish32    signatures in different contexts.33:param serializer: An object that provides ``dumps`` and ``loads``34    methods for serializing data to a string. Defaults to35    :attr:`default_serializer`, which defaults to :mod:`json`.36:param serializer_kwargs: Keyword arguments to pass when calling37    ``serializer.dumps``.38:param signer: A ``Signer`` class to instantiate when signing data.39    Defaults to :attr:`default_signer`, which defaults to40    :class:`~itsdangerous.signer.Signer`.41:param signer_kwargs: Keyword arguments to pass when instantiating42    the ``Signer`` class.43:param fallback_signers: List of signer parameters to try when44    unsigning with the default signer fails. Each item can be a dict45    of ``signer_kwargs``, a ``Signer`` class, or a tuple of46    ``(signer, signer_kwargs)``. Defaults to47    :attr:`default_fallback_signers`.48 49.. versionchanged:: 2.050    Added support for key rotation by passing a list to51    ``secret_key``.52 53.. versionchanged:: 2.054    Removed the default SHA-512 fallback signer from55    ``default_fallback_signers``.56 57.. versionchanged:: 1.158    Added support for ``fallback_signers`` and configured a default59    SHA-512 fallback. This fallback is for users who used the yanked60    1.0.0 release which defaulted to SHA-512.61 62.. versionchanged:: 0.1463    The ``signer`` and ``signer_kwargs`` parameters were added to64    the constructor.65�_PDataSerializer[t.Any]�default_serializerztype[Signer]�default_signerzMlist[dict[str, t.Any] | tuple[type[Signer], dict[str, t.Any]] | type[Signer]]�default_fallback_signersNc��grr�r�66secret_key�saltr(�serializer_kwargs�signer�
signer_kwargs�fallback_signerss        r�__init__�Serializer.__init__m���rc��grrr2s        rr9r:}r;r)r5r6r7r8c��grrr2s        rr9r:����rc��grrr2s        rr9r:�r;rc��grrr2s        rr9r:�r>rc�>�[U5UlUb[U5nX lUcURnX0l[
U5UlUcURnXPlU=(d 0Ul	Uc[UR5nUUlU=(d 0Ul
gr)r�secret_keysrr4r.r(r)r/r6r7�listr0r8r5r2s        rr9r:�s���$)8�67�(C������d�#�D��	����0�0�J�:D��(:�:�(F����>��(�(�F�$*��/<�/B�����#�#�D�$A�$A�B��
�	
��4E�3J���rc� �URS$)zThe newest (last) entry in the :attr:`secret_keys` list. This68is for compatibility from before key rotation support was added.69�����)rB)rs rr3�Serializer.secret_key�s��70����#�#rc��UcURnURnO
Un[U5nU(a URURS55$URU5$![an[SUS9UeSnAff=f)z�Loads the encoded object. This function raises71:class:`.BadPayload` if the payload is not valid. The72``serializer`` parameter can be used to override the serializer73stored on the class. The encoded ``payload`` should always be74bytes.75N�utf-8zSCould not load the payload because an exception occurred on unserializing the data.)�original_error)r(r)r�decode�	Exceptionr)rrr(�use_serializer�is_text�es      r�load_payload�Serializer.load_payload�s�����!�_�_�N��-�-�G�'�N�(��4�G�76	��%�+�+�G�N�N�7�,C�D�D�!�'�'��0�0���	��7� ���	
��	�s�&A#�A#�#77A=�-A8�8A=c�b�[URR"U40URD65$)z�Dumps the encoded object. The return value is always bytes.78If the internal serializer returns text, the value will be79encoded as UTF-8.80)rr(rr5rs  r�dump_payload�Serializer.dump_payloads)��81�$�/�/�/�/��N�t�7M�7M�N�O�Orc�r�UcURnUR"UR4SU0URD6$)zrCreates a new instance of the signer to be used. The default82implementation uses the :class:`.Signer` base class.83r4)r4r6rBr7)rr4s  r�make_signer�Serializer.make_signers7���<��9�9�D��{�{�4�+�+�M�$�M�$�:L�:L�M�Mrc#�J# �UcURnURU5v� URHmn[U[5(aUnUR84nO&[U[5(aUup#OURnURHnU"U4SU0UD6v� M Mo g7f)z�Iterates over all signers to be tried for unsigning. Starts85with the configured signer, then constructs each signer86specified in ``fallback_signers``.87Nr4)	r4rUr8r&�dictr6�tupler7rB)rr4�fallback�kwargsr3s     r�iter_unsigners�Serializer.iter_unsigners!s����88�<��9�9�D����t�$�$��-�-�H��(�D�)�)�!���;�;���H�e�,�,�#+� ��&��+�+��"�.�.�89��z�?��?��?�?�/�.�s�B!B#c��[URU55nURU5RU5nUR(aURS5$U$)z�Returns a signed string serialized with the internal90serializer. The return value can be either a byte or unicode91string depending on the format of the internal serializer.92rH)rrRrU�signr)rJ)rrr4r�rvs     rr�Serializer.dumps7sQ��93�T�.�.�s�3�4��
�
�
�d�
#�
(�
(��
1���"�"��9�9�W�%�%��	rc�D�URURX55 g)zzLike :meth:`dumps` but dumps into a file. The file handle has94to be compatible with what the internal serializer expects.95N)�writer)rr�fr4s    r�dump�Serializer.dumpDs��	96����97�98�3�%�&rc���[U5nSnURU5H$nURURU55s $ [99R"[U5e![a
nUnSnAMUSnAff=f)zYReverse of :meth:`dumps`. Raises :exc:`.BadSignature` if the100signature validation fails.101N)rr\rO�unsignr�t�cast)r�sr4r[�last_exceptionr6�errs       rr�Serializer.loadsJsp��
�q�M�����)�)�$�/�F�
%��(�(����q�)9�:�:�0��f�f�\�>�2�2�� �
%�!$���
%�s�A"�"102A9�,A4�4A9c�B�URUR5U5$)z)Like :meth:`loads` but loads from a file.)r�read�rrdr4s   r�load�Serializer.load[s���z�z�!�&�&�(�D�)�)rc�$�URX5$)a�Like :meth:`loads` but without verifying the signature. This103is potentially very dangerous to use depending on how your104serializer works. The return value is ``(signature_valid,105payload)`` instead of just the payload. The first item will be a106boolean that indicates if the signature is valid. This function107never fails.108 109Use it for debugging only and if you know that your serializer110module is not exploitable (for example, do not use it with a111pickle serializer).112 113.. versionadded:: 0.15114)�_loads_unsafe_impl)rrkr4s   r�loads_unsafe�Serializer.loads_unsafe_s�� �&�&�q�/�/rc��Uc0nSUR"U4SU0UD64$![aUnURcSnAgUc0nSUR"UR40UD64sSnA$![a SnAgf=fSnAff=f)zVLow level helper function to implement :meth:`loads_unsafe`115in serializer subclasses.116NTr4)FNF)rrrrOr)rrkr4�load_kwargs�load_payload_kwargsrNs      rru�Serializer._loads_unsafe_implqs������K�	#�����A�@�D�@�K�@�@�@���
	#��y�y� �"�"�*�&(�#�
#���%�%�a�i�i�G�3F�G�����
#�"�
#��
	#�s=��117A=�
A8�A8�A$�A=�$118A5�.A8�4A5�5A8�8A=c�>�URUR5US9$)zILike :meth:`loads_unsafe` but loads from a file.119 120.. versionadded:: 0.15121)r4)rvrprqs   r�load_unsafe�Serializer.load_unsafe�s ��� � ������ �5�5r)r8r)r4rBr(r5r6r7)�itsdangerousNNNNN)rzSerializer[str]r3�7str | bytes | cabc.Iterable[str] | cabc.Iterable[bytes]r4�str | bytes | Noner(zNone | _PDataSerializer[str]r5�dict[str, t.Any] | Noner6�type[Signer] | Noner7r�r8�Tlist[dict[str, t.Any] | tuple[type[Signer], dict[str, t.Any]] | type[Signer]] | None)NNNN)rzSerializer[bytes]r3r�r4r�r(z_PDataSerializer[bytes]r5r�r6r�r7r�r8r�)r)r3r�r4r�r(rr5r�r6r�r7r�r8r�)r3r�r4r�r(zt.Any | Noner5r�r6r�r7r�r8r�)r�bytesr)rr�r(z_PDataSerializer[t.Any] | Nonerr)rrrr�)r4r�rr	)r4r�rzcabc.Iterator[Signer])rrr4r�rr122)rrrd�t.IO[t.Any]r4r�r�None)rk�str | bytesr4r�r[rrr)rdr�r4r�rr)rkr�r4r�r�tuple[bool, t.Any])NN)123rkr�r4r�ryr�rzr�rr�)rdr�r4r�rr�)r r!r"r#�__doc__�jsonr.�__annotations__r	r/r0ri�overloadr9�propertyr3rOrRrUr\rrerrrrvrur}r$rrrr+r+*s���1�l37��/�6�$*�N�L�)�124	����125�Z�Z�$3�37�59�&*�15�����K��!��1�	�1263��$�
�/�������Z�Z�6:�&*�15�����K��!��,�	�1273��$�
�/�������Z�Z�$3�
�6:�&*�15��
��
�K�
�!�
�128,�
�3�

�$�
�/�
��
��
�$�Z�Z�6:�&*�15���K��!���	�1293��$�
�/�������Z�Z�$3�
�6:�&*�15��
�K�
�!�
�130�
�3�

�$�
�/�
��
��
�$$3�#'�59�&*�15��,K�K�,K�!�,K�!�	,K�1313�,K�$�
,K�/�,K��,K�\�$��$�LP����*H��	��8P�N�@�,�'�:>�3��3�$6�3�IN�3�	�3�"*�132:>�0��0�$6�0�	�0�,04�7;�#��#�!�#�-�	#�1335�#�134�
#�>:>�6��6�$6�6�	�6�6rr+)r(r-rz#te.TypeGuard[_PDataSerializer[str]])�135__future__r�collections.abc�abc�cabcr��typingri�encodingr�excrrr6rr	�
TYPE_CHECKING�typing_extensions�te�TypeVar�Unionr'r�r136�Protocolrr)�Genericr+rrr�<module>r�s���"���� ���#���?�?�"��:�:��a�g�g�c�5�j�1�1�7�7�3��:�;N��L�137�9�9�^�1�7�7�3��:�3F�G�L�8�q�z�z�,�/�8�1�'�1�(�1�l6����<�(�l6r
codekingpro/portable-devtools · Team Ai