����JFIF���������
1#@!#!123s
D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
proc
/
self
/
root
/
opt
/
alt
/
python312
/
lib64
/
python3.12
/
http
/
__pycache__
/
Filename :
cookies.cpython-312.pyc
back
Copy
� ����4[Yh�M���������������������������d�Z�ddlZddlZddlZg�d�Zdj ������������������Zdj ������������������Zdj ������������������Z�G�d��de �������Z ej������������������ej������������������z���d z���Z e d z���Z�e�ed���������������e�eee��������������z ��D���ci�c]��}�|�d|�z���� �c}�Zej)�������������������ed �������d�ed�������di���������ej*������������������d�ej,������������������e �������z���������j.������������������Zd��Z�ej*������������������d�������j4������������������Zd��Zd��Zg�d�Zg�d�Zdeefd�Z �G�d��de!�������Z"dZ#e#dz���Z$�ej*������������������de#z���dz���e$z���dz���ejJ������������������ejL������������������z���������Z'�G�d ��d!e!�������Z(�G�d"��d#e(�������Z)yc�c}�w�)$a. �� Here's a sample session to show how to use this module. At the moment, this is the only documentation. The Basics ---------- Importing is easy... >>> from http import cookies Most of the time you start by creating a cookie. >>> C = cookies.SimpleCookie() Once you've created your Cookie, you can add values just as if it were a dictionary. >>> C = cookies.SimpleCookie() >>> C["fig"] = "newton" >>> C["sugar"] = "wafer" >>> C.output() 'Set-Cookie: fig=newton\r\nSet-Cookie: sugar=wafer' Notice that the printable representation of a Cookie is the appropriate format for a Set-Cookie: header. This is the default behavior. You can change the header and printed attributes by using the .output() function >>> C = cookies.SimpleCookie() >>> C["rocky"] = "road" >>> C["rocky"]["path"] = "/cookie" >>> print(C.output(header="Cookie:")) Cookie: rocky=road; Path=/cookie >>> print(C.output(attrs=[], header="Cookie:")) Cookie: rocky=road The load() method of a Cookie extracts cookies from a string. In a CGI script, you would use this method to extract the cookies from the HTTP_COOKIE environment variable. >>> C = cookies.SimpleCookie() >>> C.load("chips=ahoy; vienna=finger") >>> C.output() 'Set-Cookie: chips=ahoy\r\nSet-Cookie: vienna=finger' The load() method is darn-tootin smart about identifying cookies within a string. Escaped quotation marks, nested semicolons, and other such trickeries do not confuse it. >>> C = cookies.SimpleCookie() >>> C.load('keebler="E=everybody; L=\\"Loves\\"; fudge=\\012;";') >>> print(C) Set-Cookie: keebler="E=everybody; L=\"Loves\"; fudge=\012;" Each element of the Cookie also supports all of the RFC 2109 Cookie attributes. Here's an example which sets the Path attribute. >>> C = cookies.SimpleCookie() >>> C["oreo"] = "doublestuff" >>> C["oreo"]["path"] = "/" >>> print(C) Set-Cookie: oreo=doublestuff; Path=/ Each dictionary element has a 'value' attribute, which gives you back the value associated with the key. >>> C = cookies.SimpleCookie() >>> C["twix"] = "none for you" >>> C["twix"].value 'none for you' The SimpleCookie expects that all values should be standard strings. Just to be sure, SimpleCookie invokes the str() builtin to convert the value to a string, when the values are set dictionary-style. >>> C = cookies.SimpleCookie() >>> C["number"] = 7 >>> C["string"] = "seven" >>> C["number"].value '7' >>> C["string"].value 'seven' >>> C.output() 'Set-Cookie: number=7\r\nSet-Cookie: string=seven' Finis. �����N)�CookieError� BaseCookie�SimpleCookie��z; � c�������������������������e�Zd�Zy)r���N)�__name__� __module__�__qualname__��������3/opt/alt/python312/lib64/python3.12/http/cookies.pyr���r�������s������r ���r���z!#$%&'*+-.^_`|~:z ()/<=>?@[]{}����z\%03o�"�\"�\z\\z[%s]+c������������������V�����|��t��������|��������r|�S�d|�j������������������t���������������z���dz���S�)z�Quote a string for use in a cookie header. If the string does not need to be double-quoted, then just return the string. Otherwise, surround the string in doublequotes and quote (with a \) special characters. r���)� _is_legal_key� translate�_Translator��strs��� r����_quoter�������s.��������{�m�C�(�� ��S�]�]�;�/�/�#�5�5r ���z\\(?:([0-3][0-7][0-7])|(.))c������������������F�����|�d���rt��������t��������|�d���d��������������S�|�d���S�)N������������)�chr�int)�ms��� r����_unquote_replacer!�������s'��������t��3�q��t�Q�<� � ���t�r ���c������������������t�����|��t��������|��������dk��r|�S�|�d���dk7��s|�d���dk7��r|�S�|�dd�}�t��������t��������|��������S�)Nr���r���r������r���)�len�_unquote_subr!���r���s��� r����_unquoter&�������sO��������{�c�#�h��l�� � �1�v��}��B��3��� ���a��)�C���(�#�.�.r ���)�Mon�Tue�Wed�Thu�Fri�Sat�Sun) N�Jan�Feb�Mar�Apr�May�Jun�Jul�Aug�Sep�Oct�Nov�Decc����������� �������n�����ddl�m}m�}��|��������}�|||�z����������\ ��}}}} } }}} }d||���|||���|| | |fz��S�)Nr���)�gmtime�timez#%s, %02d %3s %4d %02d:%02d:%02d GMT)r<���r;���)�future�weekdayname� monthnamer;���r<����now�year�month�day�hh�mm�ss�wd�y�zs��� r����_getdaterJ�������sW������!� �&�C�-3�C�&�L�-A�*�D�%��b�"�b�"�a��0���O�S�)�E�"2�D�"�b�"�E�F��Fr ���c������������ �������������e�Zd�ZdZdddddddd d d� Zdd hZd��Zed����������Zed����������Z ed����������Z d��Zd d�Zd��Z ej������������������Zd��Zd��Zd��Zd��Zd��Zd��Zd!d�ZeZd��Zd d�Zd d�Z�eej:�������������������������Zy)"�MorselaC��A class to hold ONE (key, value) pair. In a cookie, each such pair may have several attributes, so this class is used to keep the attributes associated with the appropriate key,value pair. This class also includes a coded_value attribute, which is used to hold the network representation of the value. �expires�Path�Comment�DomainzMax-Age�Secure�HttpOnly�Version�SameSite) rM����path�comment�domain�max-age�secure�httponly�version�samesiterY���rZ���c������������������~�����d�x|�_���������x|�_��������|�_��������|�j������������������D�]��}t��������j������������������|�|d����������y�)Nr���)�_key�_value�_coded_value� _reserved�dict�__setitem__)�self�keys��� r����__init__zMorsel.__init__��s:������6:�:�� �:�D�K�$�"3���>�>�C����T�3��+��"r ���c�����������������������|�j�������������������S��N)r^����rd���s��� r���re���z Morsel.key��s�������y�y�r ���c�����������������������|�j�������������������S�rh���)r_���ri���s��� r����valuezMorsel.value��s�������{�{�r ���c�����������������������|�j�������������������S�rh���)r`���ri���s��� r����coded_valuezMorsel.coded_value��s������� � � r ���c�����������������������|j��������������������������}||�j������������������vrt��������d|����������t��������j ������������������|�||��������y��NzInvalid attribute )�lowerra���r���rb���rc���)rd����K�Vs��� r���rc���zMorsel.__setitem__#��s9������ �G�G�I���D�N�N�"���;�<�<�����q�!�$r ���Nc�����������������������|j��������������������������}||�j������������������vrt��������d|����������t��������j ������������������|�||�������S�ro���)rp���ra���r���rb���� setdefault)rd���re����vals��� r���rt���zMorsel.setdefault)��s:�������i�i�k���d�n�n�$���=�>�>����t�S�#�.�.r ���c�����������������������t��������|t���������������st��������S�t��������j ������������������|�|�������xrO�|�j ������������������|j ������������������k(��xr4�|�j������������������|j������������������k(��xr�|�j������������������|j������������������k(��S�rh���)� isinstancerL����NotImplementedrb����__eq__r_���r^���r`����rd����morsels��� r���ry���z Morsel.__eq__/��sj�������&�&�)�!�!����D�&�)��9����v�}�}�,�9�� � �V�[�[�(�9���!�!�V�%8�%8�8� :r ���c�����������������������t����������������}t��������j������������������||���������|j������������������j������������������|�j��������������������������|S�rh���)rL���rb����update�__dict__rz���s��� r����copyzMorsel.copy9��s2������������F�D�!������t�}�}�-�� r ���c������������������������i�}t��������|�������j��������������������������D�]6��\��}}|j��������������������������}||�j������������������vrt ��������d|����������|||<����8�t���������j������������������|�|��������y�ro���)rb����itemsrp���ra���r���r}���)rd����values�datare���ru���s��� r���r}���z Morsel.update?��s`���������V��*�*�,�H�C���)�)�+�C��$�.�.�(�!�C�"A�B�B��D��I� �-� � ���D�$�r ���c������������������:�����|j��������������������������|�j������������������v�S�rh���)rp���ra���)rd���rq���s��� r���� isReservedKeyzMorsel.isReservedKeyH��s�������w�w�y�D�N�N�*�*r ���c�����������������������|j��������������������������|�j������������������v�rt��������d|����������t��������|�������st��������d|����������||�_��������||�_��������||�_��������y�)NzAttempt to set a reserved key zIllegal key )rp���ra���r���r���r^���r_���r`���)rd���re���ru���� coded_vals��� r����setz Morsel.setK��sP�������9�9�;�$�.�.�(��C�I�J�J��S�!��#�7�8�8���� ����%��r ���c������������������J�����|�j�������������������|�j������������������|�j������������������d�S�)N)re���rk���rm����r^���r_���r`���ri���s��� r����__getstate__zMorsel.__getstate__V��s#�������9�9��[�[��,�,� �� r ���c������������������@�����|d���|�_���������|d���|�_��������|d���|�_��������y�)Nre���rk���rm���r����)rd����states��� r����__setstate__zMorsel.__setstate__]��s%�������%�L�� ��G�n���!�-�0��r ���c������������������.�����|�d|�j������������������|���������S�)Nr���)�OutputString)rd����attrs�headers��� r����outputz Morsel.outputb��s������ �$�"3�"3�E�":�;�;r ���c������������������X�����d|�j�������������������j�������������������d|�j���������������������������d�S�)N�<�: �>)� __class__r ���r����ri���s��� r����__repr__zMorsel.__repr__g��s ������!�^�^�4�4�d�6G�6G�6I�J�Jr ���c������������������J�����d|�j������������������|�������j������������������dd�������z��S�)Nz� <script type="text/javascript"> <!-- begin hiding document.cookie = "%s"; // end hiding --> </script> r���r���)r�����replace)rd���r����s��� r���� js_outputzMorsel.js_outputj��s.��������� � ��'�/�/��U�;� =�� =r ���c�����������������������g�}|j�������������������}�||�j�������������������d|�j����������������������������|�|�j������������������}t ��������|�j���������������������������������}|D�]���\��}}|dk(��r�||vr�|dk(��r4t ��������|t���������������r$�||�j������������������|����dt��������|������������������J|dk(��r+t ��������|t���������������r�|d|�j������������������|���|fz�����������z|dk(��r4t ��������|t���������������r$�||�j������������������|����dt��������|�������������������||�j������������������v�r"|s���|t��������|�j������������������|���������������������||�j������������������|����d|�������������t��������|�������S�)N�=r���rM���rX���z%s=%drV���) �appendre���rm���ra����sortedr����rw���r���rJ���r���r����_flags�_semispacejoin)rd���r�����resultr����r����re���rk���s��� r���r����zMorsel.OutputStringt��s8������������� �$�(�(�D�$4�$4�5�6���=��N�N�E��t�z�z�|�$���J�C����{���%����i��J�u�c�$:��$�.�.��"5�x���G�H�� �!�j���&<��w�$�.�.��"5�u�!=�=�>�� �!�j���&<��$�.�.��"5�v�e�}�E�F�����#���3�t�~�~�c�2�3�4��$�.�.��"5�u�=�>�� �$��f�%�%r ���rh���)N�Set-Cookie:)r ���r ���r����__doc__ra���r����rf����propertyre���rk���rm���rc���rt���ry����object�__ne__r���r}���r����r����r����r����r�����__str__r����r����r�����classmethod�types�GenericAlias�__class_getitem__r���r ���r���rL���rL�������s��������*���������� �I��� � #�F�,���������������!���!�%�/�:���]�]�F�� �+� &� �1� <���G�K�=�&�B�$�E�$6�$6�7�r ���rL���z,\w\d!#%&'~_`><@,:/\$\*\+\-\.\^\|\)\(\?\}\{\=z\[\]z� \s* # Optional whitespace at start of cookie (?P<key> # Start of group 'key' [ax��]+? # Any word of at least one letter ) # End of group 'key' ( # Optional group: there may not be a value. \s*=\s* # Equal Sign (?P<val> # Start of group 'val' "(?:[^\\"]|\\.)*" # Any double-quoted string | # or # Special case for "expires" attr (\w{3,6}day|\w{3}),\s # Day of the week or abbreviated day [\w\d\s-]{9,11}\s[\d:]{8}\sGMT # Date and time in specific format | # or [a-��]* # Any word or empty string ) # End of group 'val' )? # End of optional value group \s* # Any number of spaces. (\s+|;|$) # Ending either at space, semicolon, or EOS. c��������������������Z�����e�Zd�ZdZd��Zd��Zd d�Zd��Zd��Zdd�Z e Z d ��Zd d �Zd��Z efd�Zy)r���z'A container class for a set of Morsels.c������������������ �����||fS�)a ��real_value, coded_value = value_decode(STRING) Called prior to setting a cookie's value from the network representation. The VALUE is the value read from HTTP header. Override this function to modify the behavior of cookies. r����rd���ru���s��� r����value_decodezBaseCookie.value_decode���s ��������C�x�r ���c������������������ �����t��������|�������}||fS�)z�real_value, coded_value = value_encode(VALUE) Called prior to setting a cookie's value from the dictionary representation. The VALUE is the value being assigned. Override this function to modify the behavior of cookies. r����rd���ru����strvals��� r����value_encodezBaseCookie.value_encode���s��������S����v�~�r ���Nc������������������,�����|r|�j������������������|��������y�y�rh���)�load)rd����inputs��� r���rf���zBaseCookie.__init__���s��������I�I�e���r ���c�����������������������|�j������������������|t�����������������������}|j������������������|||��������t��������j ������������������|�||��������y)z+Private method for setting a cookie's valueN)�getrL���r����rb���rc���)rd���re���� real_valuerm����Ms��� r����__setzBaseCookie.__set���s6�������H�H�S�&�(�#�� ���c�:�{�+�����s�A�&r ���c�����������������������t��������|t���������������rt��������j������������������|�||��������y|�j ������������������|�������\��}}|�j������������������|||��������y)zDictionary style assignment.N)rw���rL���rb���rc���r�����_BaseCookie__set)rd���re���rk����rval�cvals��� r���rc���zBaseCookie.__setitem__���sB�������e�V�$����T�3��.��*�*�5�1�J�D�$��J�J�s�D�$�'r ���c�����������������������g�}t��������|�j���������������������������������}|D�]&��\��}}|j������������������|j������������������||����������������(�|j ������������������|�������S�)z"Return a string suitable for HTTP.)r����r����r����r�����join)rd���r����r�����sepr����r����re���rk���s��� r���r����zBaseCookie.output���sK���������t�z�z�|�$���J�C���M�M�%�,�,�u�f�5�6�� ��x�x���r ���c������������������������g�}t��������|�j���������������������������������}|D�].��\��}}|j������������������|�dt��������|j������������������������������������0�d|�j ������������������j�������������������dt��������|��������d�S�)Nr����r����r����r����)r����r����r�����reprrk���r����r ���� _spacejoin)rd����lr����re���rk���s��� r���r����zBaseCookie.__repr__���sX���������t�z�z�|�$���J�C�� �H�H��T�%�+�+�%6�7�8�� �!�^�^�4�4�j��m�D�Dr ���c�����������������������g�}t��������|�j���������������������������������}|D�]%��\��}}|j������������������|j������������������|����������������'�t ��������|�������S�)z(Return a string suitable for JavaScript.)r����r����r����r����� _nulljoin)rd���r����r����r����re���rk���s��� r���r����zBaseCookie.js_output���sE���������t�z�z�|�$���J�C���M�M�%�/�/�%�0�1�� ��� � r ���c�����������������������t��������|t���������������r|�j������������������|��������y|j��������������������������D�] ��\��}}||�|<�����y)z�Load cookies from a string (presumably HTTP_COOKIE) or from a dictionary. Loading cookies from a dictionary 'd' is equivalent to calling: map(Cookie.__setitem__, d.keys(), d.values()) N)rw���r����_BaseCookie__parse_stringr����)rd����rawdatare���rk���s��� r���r����zBaseCookie.load���sC��������g�s�#�����(� � ��&�m�m�o� ��U�!��S� ��.�r ���c����������������������d}t��������|�������}g�}d}d}d}d|cxk��r|k���r!n��n|j������������������||�������} | s�n| j������������������d�������| j������������������d�������}} | j������������������d�������}| d���dk(��r|s�d|j ������������������|| dd��|f��������n�| j��������������������������t��������j������������������v�rY|sy�|�6| j��������������������������t��������j������������������v�r|j ������������������|| df��������nHy�|j ������������������|| t��������|�������f��������n)|�&|j ������������������|| |�j������������������|�������f��������d}ny�d|cxk��r|k��r��n�d�}|D�]9��\��} } }| |k(��r |�J��||| <����| |k(��sJ��|\��}}|�j������������������| ||��������|�| ���}�;�y�) Nr���Fr���r���re���ru����$T)r$����match�group�endr����rp���rL���ra���r����r&���r����r����)rd���r����patt�i�n�parsed_items�morsel_seen�TYPE_ATTRIBUTE� TYPE_KEYVALUEr����re���rk���r�����tpr����r����s��� r����__parse_stringzBaseCookie.__parse_string��s������ ����H��������� � ��1�j�q�j��J�J�s�A�&�E������U�+�U�[�[��-?��C�� � �!��A��1�v��}�"����#�#�^�S���W�e�$D�E������ 0� 0�0�"���=��y�y�{�f�m�m�3�$�+�+�^�S�$�,G�H��� �'�'���h�u�o�(N�O��"��#�#�]�C��9J�9J�5�9Q�$R�S�"����E��1�j�q�j�J� ��*�N�B��U��^�#��}�$�}���#���]�*�*�*�"� ��d�� � �3��d�+���I���+r ���rh���)Nr����z )r ���r ���r���r����r����r����rf���r����rc���r����r����r����r����r�����_CookiePatternr����r���r ���r���r���r������sD������1����'�(� ���G�E�!���(6��:r ���r���c�������������������������e�Zd�ZdZd��Zd��Zy)r���z� SimpleCookie supports strings as cookie values. When setting the value using the dictionary assignment notation, SimpleCookie calls the builtin str() to convert the value to a string. Values received from HTTP are kept as strings. c�����������������������t��������|�������|fS�rh���)r&���r����s��� r���r����zSimpleCookie.value_decodeO��s��������}�c�!�!r ���c������������������2�����t��������|�������}|t��������|�������fS�rh���)r���r���r����s��� r���r����zSimpleCookie.value_encodeR��s�������S����v�f�~�%�%r ���N)r ���r ���r���r����r����r����r���r ���r���r���r���H��s�������"�&r ���r���)*r�����re�stringr�����__all__r����r����r����r����� Exceptionr���� ascii_letters�digits�_LegalChars�_UnescapedCharsr�����range�map�ordr���r}����compile�escape� fullmatchr���r����subr%���r!���r&����_weekdayname� _monthnamerJ���rb���rL����_LegalKeyChars�_LegalValueChars�ASCII�VERBOSEr����r���r���)r����s���0r����<module>r�������s�����NX�z� �� ��� 7���G�G� ����� �X�X� � �)�� �"��"�"�V�]�]�2�5G�G����/����E�#�J��#�c�#��.G�*H�H�J�H�1���(�Q�,��H�J����������H�e���I�v���� ��� � �7�Y�R�Y�Y�{�%;�;�<�F�F� � 6���r�z�z�8�9�=�=���/�6�A��8� ���<�:��F�i8�T��i8�j�B��!�G�+�������� ���� � ������&� ���B�J�J� �' ��2I���I�X&�:��&��G Js���� E6