Team Ai
Datasetpublic

codekingpro/portable-devtools

sourceHugging Faceupdated 5mo agoView on Hugging Face
1likes15kdownloads
web_fileresponse.cpython-313.pyc96 linesDownload Raw Back to __pycache__
1�

2��j�A��"�%SSKrSSKrSSKrSSKrSSKrSSKJr SSKJrJ	r	 SSK3Jr SSKJ
r
 SSKJr SSKJrJrJrJrJrJrJrJrJrJrJrJrJr SS	KJr SS4K J!r! SSK"J#r#J$r$J%r% SSK&J'r'J(r( SS
K)J*r*J+r+J,r,J-r-J.r.J/r/ SSK0J1r1 Sr2\(aSSK3J4r4 \\\5/\S4r6\7"\RpRsS55r:\\7\;S'\"5r<\\\;S'\"SVs0sHo\<RzU_M sn5r>Sr?\"SSSSSS.5r@"SS\5rA\<RzR�5 \@R�5HurDrE\<R�\D\E5 M \G"5rH\\R�S\;S'"SS \15rJgs snf)!�N)�suppress)�Enum�auto)�	MimeTypes)�S_ISREG)�MappingProxyType)
�IO�
TYPE_CHECKING�Any�	Awaitable�Callable�Final�Iterator�List�Optional�Set�Tuple�Union�cast�)�hdrs)�AbstractStreamWriter)�ETAG_ANY�ETag�must_be_empty_body)�LooseHeaders�PathLike)�
HTTPForbidden�HTTPNotFound�HTTPNotModified�HTTPPartialContent�HTTPPreconditionFailed�HTTPRequestRangeNotSatisfiable)�StreamResponse)�FileResponse)�BaseRequest�AIOHTTP_NOSENDFILE�5NOSENDFILE�
CONTENT_TYPES)�.br�.gzzapplication/octet-streamr+r*z.bz2z.Zz.xz)zapplication/gzipzapplication/x-brotlizapplication/x-bzip2zapplication/x-compresszapplication/x-xzc�P�\rSrSrSr\"5r\"5r\"5r\"5r	Sr6g)�_FileResponseResult�Jz The result of the file response.�N)�__name__�7__module__�__qualname__�__firstlineno__�__doc__r�	SEND_FILE�NOT_ACCEPTABLE�PRE_CONDITION_FAILED�NOT_MODIFIED�__static_attributes__r/��^D:\code\apps\devtools\python\user_packages\Python313\site-packages\aiohttp/web_fileresponse.pyr-r-Js"��*���I��V�N��6���6�Lr:r-�_CLOSE_FUTURESc
�`^�\rSrSrSrS$S\S\S\S\\S\\	S	S4U4S8jjjr9S\\S\S\S	\
4S
jrS\S\\S\S\S	\410SjrSSS\\S\S\S	\411U4Sjjr\S\S\\S4S\S	\4Sj5rSSS\S\S	\\4U4SjjrSSS	\\4U4SjjrSSS\S	\\\\R8\R<\\44SjrS\S	\\\ RB\R<\\44Sjr"SSS	\\4U4Sjjr#SSS\R8S \R<S!\\S	\\412U4S"jjr$S#r%U=r&$)%r%�\z,A response object can be used to send files.N�path�13chunk_size�status�reason�headers�returnc�d>�[TU]X4US9 [R"U5UlX lg)N)rArBrC)�super�__init__�pathlib�Path�_path�_chunk_size)�selfr?r@rArBrC�	__class__s      �r;rG�FileResponse.__init___s-���	����w��G��\�\�$�'��14�%�r:�fobj�offsetc�F�URU5 URU5$�N)�seek�read)rLrOrPr@s    r;�_seek_and_read�FileResponse._seek_and_readls���	�	�&���y�y��$�$r:�writer�countc15���# �URn[R"5nURSURX#[XT55IShv�NnU(aeUR
U5IShv�N U[U5-16nUS::aO7URSUR[XT55IShv�NnU(aMeUR5IShv�N U$N�NlN+N7f�Nr)17rK�asyncio�get_event_loop�run_in_executorrU�min�write�lenrT�drain)rLrWrOrPrXr@�loop�chunks        r;�_sendfile_fallback�FileResponse._sendfile_fallbackps�����%�%�18��%�%�'���*�*��$�%�%�t�S��5K�19�20����,�,�u�%�%�%��C��J�&�E���z���.�.�t�T�Y�Y��J�@V�W�W�E��e��l�l�n����
�21�
&�X��sO�AC!�C�C!�.C�/AC!�1C�2C!�?C!�C�C!�C!�C!�C!�requestr&c��># �[TU]U5IShv�NnUce[(dUR(aUR	XRX45IShv�N$UR22nURnUceURXrX45IShv�N [TU]%5IShv�N U$N�NVN ![a UR	XRX45IShv�Ns$f=fN77frR)23rF�preparer(�compressionrd�_loop�	transport�sendfile�NotImplementedError�	write_eof)	rLrfrOrPrXrWrbrkrMs	        �r;�	_sendfile�FileResponse._sendfile�s������w��w�/�/���!�!�!��:��)�)��0�0��v�M�M�M��}�}���%�%�	��$�$�$�	N��-�-�	��?�?�?��g��!�!�!��
�!0�N�
@��"�	N��0�0��v�M�M�M�M�	N��	"�so�C�B&�:C�B(�!C�4B,�	B*�24B,�C�C� C�(C�*B,�,C�C�C�C�C�C�25etag_value�etags.�weakc�^^�[U5S:XaUSR[:Xag[UU4SjU55$)NrrTc3�v># �UH.nT(dUR(aMURT:Hv� M0 g7frR)�is_weak�value)�.0�etagrqrss  ��r;�	<genexpr>�+FileResponse._etag_match.<locals>.<genexpr>�s(����26�16��$�d�l�l�$�D�J�J�*�$��s�9�9)r`rwr�any)rqrrrss` `r;�_etag_match�FileResponse._etag_match�s:����u�:��?�u�Q�x�~�~��9���27�16�28�29�	30r:�
last_modifiedc��># �UR[R5 SUlX lX0l[TU]U5IShv�N$N7f)NF)�31set_statusr �status_code�
_length_checkryrrFrh)rLrfrqrrMs    �r;�
_not_modified�FileResponse._not_modified�sD����	
����3�3�4�"����	�*���W�_�W�-�-�-�-�s�AA�A
�	Ac��># �UR[R5 SUl[TU]U5IShv�N$N7frZ)r�r"r��content_lengthrFrh)rLrfrMs  �r;�_precondition_failed�!FileResponse._precondition_failed�s8����	
���.�:�:�;�����W�_�W�-�-�-�-�s�9A�A�A�accept_encodingc�d�URU5up4nU(d[RSUS4$URSSURS3nUR32=nb(UR
XgSS9(d[RSXE4$UR=nb4Uc1URUR5:�a[RSXE4$UR=n	b(UR
XiSS9(a[RSXE4$UR=n33b4U	c1URU34R5::a[RSXE4$URS5n[[ 5 ["R$"UR'55nSSS5 [R(X�U4$!,(df   N!=f)z�Return the response result, io object, stat result, and encoding.35 36If an uncompressed file is returned, the encoding is set to37:py:data:`None`.38 39This method should be called from a thread executor40since it calls os.stat which may block.41N�x�-F)rsT�rb)�_get_file_path_stat_encodingr-r6�st_mtime_ns�st_size�if_matchr}r7�if_unmodified_since�st_mtime�	timestamp�
if_none_matchr8�if_modified_since�openr�OSError�os�stat�filenor5)rLrfr��	file_path�st�
file_encodingrq�ifmatch�42unmodsince�ifnonematch�modsincerOs            r;�_make_response�FileResponse._make_response�s���(,�'H�'H��(43�$�	�}��&�5�5�t�R��E�E����q�)��2�:�:�a�.�9�44��'�'�'�G�4�T�=M�=M��e�>N�>45�'�;�;�T�2�T�T�#�6�6�
6�Z�C������j�2�2�4�4�&�;�;�T�2�T�T�#�0�0�0�K�=�$�BR�BR��$�CS�C46�'�3�3�T�2�L�L�!�2�2�
2�X�?��#����x�1�1�3�3�&�3�3�T�2�L�L��~�~�d�#��
�g�
�47�������'�B��#�,�,�d�
�E�E�
�
�s�!%F!�!48F/c���URn[R5H|up4XA;aMURURU-5n[[5 UR5n[UR5(aXVU4sSSS5 s $SSS5 M~ UR5n[UR5(aX&S4$SUS4$!,(df   M�=frR)rJ�ENCODING_EXTENSIONS�items�with_suffix�suffixrr��lstatr�st_moder�)rLr�r��file_extensionr��compressed_pathr�s       r;r��)FileResponse._get_file_path_stat_encoding�s����J�J�	�-@�-F�-F�-H�)�N��3��'�3�3�I�4D�4D�~�4U�V�O��'�"�$�*�*�,���2�:�:�&�&�*�
�=�	#�"�'�#�"�.I��^�^�
��#�B�J�J�/�/�y�t�C�C�T�2�t�C�C�#�"�s�.C�49C#	c��F># �[R"5nURR[R50S5R
5nURSURX5IShv�NupEpgU["R$La6UR[R5 [TU]9U5IShv�N$U["R&LaUR)U5IShv�N$U["R*LaCUR,SSUR.S3nUR0n	UR3XU	5IShv�N$UceUR5XXg5IShv�NURSUR65n51[8R;U525 U53R=[8R>5 $GNC![a: UR[R5 [TU]9U5IShv�Ns$[a: UR[ R5 [TU]9U5IShv�Ns$f=fGN�GNZGNN�!URSUR65n54[8R;U555 U56R=[8R>5 f=f7f)N�r�r�) r[�get_running_looprC�getr�ACCEPT_ENCODING�lowerr]r��PermissionErrorr�rr�rFrhr�rr-r6r7r�r8r�r�r�r��_prepare_open_file�closer<�add�add_done_callback�remove)rLrfrbr��response_resultrOr�r�rqr�close_futurerMs           �r;rh�FileResponse.prepare�s-�����'�'�)��"�/�/�-�-�d�.B�.B�B�G�M�M�O��	2�=A�=Q�=Q��d�)�)�7�>�8�4�O�2��1�@�@�@��O�O�M�5�5�6�����1�1�1��1�F�F�F��2�2�7�;�;�;��1�>�>�>��N�N�1�-�Q�r�z�z�!�n�=�J��K�K�M��+�+�G��O�O�O�����	B��0�0���R�R� �/�/��d�j�j�A�L�
���|�,��*�*�>�+@�+@�A�K8���	2��O�O�M�5�5�6�����1�1�1�1��	2�
�O�O�L�4�4�5�����1�1�1�1�		2��2�<�57P�S�� �/�/��d�j�j�A�L�
���|�,��*�*�>�+@�+@�A�s��AJ!� F8�2F5�3F8�:AJ!�>I�?+J!�*I�+AJ!�I�	J!�I� I58�!I�$AJ!�5F8�8;H>�3G6�4H>�9J!�;:H>�5H8�6H>�;J!�=H>�>J!�J!�J!�59I�AJ�J!r�r�c��># �URnURnURnUnSn	UR=n60bXzR	5::a�UR61nURn	URnU	b�U	S:aUcX�-
n	U	S:aSn	Xi-62nO[#UbUOUU5U	-63nX�:�aVSU3UR[R'UR[R5 [TU]AU5IShv�N$[$RnURU5 [R&UR;a\[(R*S:�a[,R.n
O[,R0n
U
"UR25S=(d [4UlU(aNX@R[R8'[R:UR[R<'SUlUR@SSURS3Ul!Xpl"X�l#SUR[RH'U[$R:Xa:U	nUceSRKX�U-S	-64U5UR[R'US:XdURNU5(a[TU]AU5IShv�N$U	=(d SnURQXX�5IShv�N$![aZ SU3UR[R'UR[R5 [TU]AU5IShv�Ns$f=fGNRN�Np7f)65Nzbytes */r)��
Fr�r��byteszbytes {}-{}/{}r))�_statusr�r��if_ranger��66http_range�start�stop�67ValueError�_headersr�
CONTENT_RANGEr�r#r�rFrhr^r!�CONTENT_TYPE�sys�version_infor)�guess_file_type�68guess_typerJ�FALLBACK_CONTENT_TYPE�content_type�CONTENT_ENCODINGr��VARY�_compressionr�ryrr��
ACCEPT_RANGES�formatr�methodro)rLrfrOr�r�rA�	file_size�69file_mtimerXr��ifrange�rng�end�guesser�70real_startrPrMs                �r;r��FileResponse._prepare_open_file,s������������	��K�K�71���#���'�'�'�G�0�J�BS�BS�BU�4U�
6��(�(���	�	��%(�X�X��"� ��1�9����&�E��q�y�!"��%�-�E��3�?�C�	�9�M�PU�U���%�;C�9�+�8N�D�M�M�$�"4�"4�5��O�O�$B�$N�$N�O�!&����!9�9�9�+�7�7������'�72���D�M�M�1����7�*�'�7�7��'�2�2�� '��73�74� 3�A� 6� O�:O�D���3@�M�M�$�/�/�0�'+�';�';�D�M�M�$�)�)�$�!&�D���~�~�a�(��"�*�*�Q��8��	�'��#��,3��
�
�d�(�(�)��'�3�3�3��J��)�)�)�0@�0G�0G���.��2�I�1�D�M�M�$�,�,�-�75�A�:�+�G�N�N�F�C�C�����1�1�1���!���^�^�G�6�A�A�A��{�
6�7?�y�k�4J��
�
�d�0�0�1���� >� J� J�K�"�W�_�W�5�5�5�5�
6��`:�P2�76B�si�AM�$K%�3BM�:M�;GM�;M�<$M� M�!M�%AM	�M�M	�M�M	�	M�M�M)rKr�r�rJr�r�ryr)i��NN)'r0r1r2r3r4r�intr�strrrGr	rr�rUrrdro�staticmethodrr�boolr}�floatr�r�r-�io�BufferedReaderr��stat_resultr�rHrIr�rhr�r9�
__classcell__)rMs@r;r%r%\s]���6�77%�� $�*.�
&��&��&��	&�78��
�&��,�'�
&�79�&�&�%�2�c�7�%�C�%�S�%�U�%��*��24�S�'��CF��OR��	��*�$��,.�s�G��=@��IL��	��*�80��81�E�$��)�,<�82�t�83�PT�84��85�	.�$�	.�25�	.�FK�	.�	�&�	'�	.�.�$�.�	�&�	'�.�6F�$�6F�7:�6F�	��X�b�&7�&7�8�"�.�.�(�SV�-�W�86�6F�pD�"�D�	�x����%�r�~�~�x��}�D�	E�D�&+B�]�+B�x�@T�7U�+B�ZvB��vB����vB�
�N�N�	vB�87 ��}�vB�88�&�	'�
vB�vBr:r%)Kr[r�r�rHr��89contextlibr�enumrr�	mimetypesrr�r�typesr�typingr	r90rrr
rrrrrrrrr�r�abcr�helpersrrr�typedefsrr�web_exceptionsrrr r!r"r#�web_responser$�__all__�web_requestr&r��_T_OnChunkSentr��environr�r(�__annotations__r)�
encodings_mapr�r��ADDITIONAL_CONTENT_TYPESr-�clearr�r��	extension�add_type�setr<�Futurer%)�exts0r;�<module>rs����	�	��91�����"����� �%�7�7�,���)�92���(��(�E�7�I�d�O�#;�<�=���r�z�z�~�~�.B�C�D�93�E�$�K�D�"+�+�
�u�Y��-�'�6D�E�n�s�-�94%�95%�c�96*�*�n�E���3��,�!� %�%�"&�!�����$�����!�!�#�7�=�=�?��L�)����<��3� @�-0�E���G�N�N�4�(�)�1�FB�>�FB��IFs�#F
codekingpro/portable-devtools · Team Ai