Sindbad~EG File Manager

Current Path : /usr/local/lib/python3.12/site-packages/charset_normalizer/__pycache__/
Upload File :
Current File : //usr/local/lib/python3.12/site-packages/charset_normalizer/__pycache__/api.cpython-312.pyc

�

'ٜgYX��@�ddlmZddlZddlmZddlmZddlmZm	Z	m
Z
mZddlm
Z
mZmZmZddlmZdd	lmZmZdd
lmZmZmZmZmZmZmZej<d�Zej@�Z!e!jEejFd��									d																					dd
�Z$									d																					dd�Z%									d																					dd�Z&									d																					dd�Z'y)�)�annotationsN)�PathLike)�BinaryIO�)�coherence_ratio�encoding_languages�mb_encoding_languages�merge_coherence_ratios)�IANA_SUPPORTED�TOO_BIG_SEQUENCE�TOO_SMALL_SEQUENCE�TRACE)�
mess_ratio)�CharsetMatch�CharsetMatches)�any_specified_encoding�cut_sequence_chunks�	iana_name�identify_sig_or_bom�
is_cp_similar�is_multi_byte_encoding�should_strip_sig_or_bom�charset_normalizerz)%(asctime)s | %(levelname)s | %(message)sc
� �t|ttf�s#tdj	t|����|rBtj}
tjt�tjt�t|�}|dk(rqtjd�|r@tjt�tj
xstj �t#t%|dddgd�g�S|�Dtj'td	d
j)|��|D�cgc]}t+|d���}}ng}|�Dtj'tdd
j)|��|D�cgc]}t+|d���}}ng}|||zkr!tj'td|||�d
}|}|d
kDr||z|krt-||z�}t|�t.k}
t|�t0k\}|
r*tj'tdj	|��n+|r)tj'tdj	|��g}|rt3|�nd}|�,|j5|�tj'td|�t7�}g}g}d}d}d}t#�}t#�}t9|�\}}|�6|j5|�tj'tdt|�|�|j5d�d|vr|j5d�|t:zD�]^}|r||vr�|r||vr�||vr�|j=|�d}||k(}|xrt?|�}|dvr|stj'td|��`|dvr|stj'td|���	tA|�}	|r9|dur5tG|dur|dt-d�n|t|�t-d�|��ntG|dur|n
|t|�d|��}d}!|D]}"tM||"�s�d}!n|!rtj'td|"���"tO|sdn
t|�|t-||z��}#|xr|duxrt|�|k}$|$rtj'td|�t-t|#�dz�}%tQ|%d�}%d}&d}'g}(g})	tS|||#||||||�	D]g}*|(j5|*�|)j5tU|*||duxrd
t|�cxkxrdknc��|)d |k\r|&d
z
}&|&|%k\s|s�b|dus�gn|'s$|r"|s 	|t-d"�djW|d#�$�|)rtY|)�t|)�znd}+|+|k\s|&|%k\rm|j5|�tj'td&||&t[|+d'zd(�)��|	r-|dd|fvr&|'s$t%|||dg||�*�},||k(r|,}n
|dk(r|,}n|,}���tj'td+|t[|+d'zd(�)��|st]|�}-nt_|�}-|-r3tj'td,j	|tG|-���g}.|dk7r8|(D]3}*ta|*||-rd-j)|-�nd�}/|.j5|/��5tc|.�}0|0r*tj'td.j	|0|��t%|||+||0|dus||ddfvr|nd|�*�}1|j5|1�||ddfvry|+d/krt|+dk(r^tjd0|1jd�|r.tjt�tj
�t#|1g�cS|j5|1�t|�r||�||vrvd|vrrd|vrn|jg�}2tjd0|2jd�|r.tjt�tj
�t#|2g�cS||k(s��
tjd1|�|r.tjt�tj
�t#||g�cSt|�dk(r�|s|s|rtj'td2�|r2tjd3|jd�|j5|�nr|r|�|r|r|jh|jhk7s|�'tjd4�|j5|�n(|r&tjd5�|j5|�|r<tjd6|jg�jdt|�d
z
�ntjd7�|r.tjt�tj
�|Scc}wcc}w#tBtDf$rtj'td|�Y���wxYw#tHtJf$rQ} t| tJ�s%tj'td|tG| ��|j5|�Yd} ~ ��Qd} ~ wwxYw#tH$r4} tj'td!|tG| ��|%}&d}'Yd} ~ ��kd} ~ wwxYw#tH$rA} tj'td%|tG| ��|j5|�Yd} ~ ���d} ~ wwxYw)8af
    Given a raw bytes sequence, return the best possibles charset usable to render str objects.
    If there is no results, it is a strong indicator that the source is binary/not text.
    By default, the process will extract 5 blocks of 512o each to assess the mess and coherence of a given sequence.
    And will give up a particular code page after 20% of measured mess. Those criteria are customizable at will.

    The preemptive behavior DOES NOT replace the traditional detection workflow, it prioritize a particular code page
    but never take it for granted. Can improve the performance.

    You may want to focus your attention to some code page or/and not others, use cp_isolation and cp_exclusion for that
    purpose.

    This function will strip the SIG in the payload/sequence every time except on UTF-16, UTF-32.
    By default the library does not setup any handler other than the NullHandler, if you choose to set the 'explain'
    toggle to True it will alter the logger configuration to add a StreamHandler that is suitable for debugging.
    Custom logging format and handler can be set manually.
    z3Expected object of type bytes or bytearray, got: {}rz<Encoding detection on empty bytes, assuming utf_8 intention.�utf_8gF�Nz`cp_isolation is set. use this flag for debugging purpose. limited list of encoding allowed : %s.z, zacp_exclusion is set. use this flag for debugging purpose. limited list of encoding excluded : %s.z^override steps (%i) and chunk_size (%i) as content does not fit (%i byte(s) given) parameters.rz>Trying to detect encoding from a tiny portion of ({}) byte(s).zIUsing lazy str decoding because the payload is quite large, ({}) byte(s).z@Detected declarative mark in sequence. Priority +1 given for %s.zIDetected a SIG or BOM mark on first %i byte(s). Priority +1 given for %s.�ascii>�utf_16�utf_32z\Encoding %s won't be tested as-is because it require a BOM. Will try some sub-encoder LE/BE.>�utf_7zREncoding %s won't be tested as-is because detection is unreliable without BOM/SIG.z2Encoding %s does not provide an IncrementalDecoderg��A)�encodingz9Code page %s does not fit given bytes sequence at ALL. %sTzW%s is deemed too similar to code page %s and was consider unsuited already. Continuing!zpCode page %s is a multi byte encoding table and it appear that at least one character was encoded using n-bytes.�����zaLazyStr Loading: After MD chunk decode, code page %s does not fit given bytes sequence at ALL. %sgj�@�strict)�errorsz^LazyStr Loading: After final lookup, code page %s does not fit given bytes sequence at ALL. %szc%s was excluded because of initial chaos probing. Gave up %i time(s). Computed mean chaos is %f %%.�d�)�ndigits)�preemptive_declarationz=%s passed initial chaos probing. Mean measured chaos is %f %%z&{} should target any language(s) of {}�,z We detected language {} using {}皙�����?z.Encoding detection: %s is most likely the one.zoEncoding detection: %s is most likely the one as we detected a BOM or SIG within the beginning of the sequence.zONothing got out of the detection process. Using ASCII/UTF-8/Specified fallback.z7Encoding detection: %s will be used as a fallback matchz:Encoding detection: utf_8 will be used as a fallback matchz:Encoding detection: ascii will be used as a fallback matchz]Encoding detection: Found %s as plausible (best-candidate) for content. With %i alternatives.z=Encoding detection: Unable to determine any suitable charset.)5�
isinstance�	bytearray�bytes�	TypeError�format�type�logger�level�
addHandler�explain_handler�setLevelr�len�debug�
removeHandler�logging�WARNINGrr�log�joinr�intr
rr�append�setrr�addrr�ModuleNotFoundError�ImportError�str�UnicodeDecodeError�LookupErrorr�range�maxrr�decode�sum�roundrr	rr
r!�best�fingerprint)3�	sequences�steps�
chunk_size�	threshold�cp_isolation�cp_exclusion�preemptive_behaviour�explain�language_threshold�enable_fallback�previous_logger_level�length�cp�is_too_small_sequence�is_too_large_sequence�prioritized_encodings�specified_encoding�tested�tested_but_hard_failure�tested_but_soft_failure�fallback_ascii�fallback_u8�fallback_specified�results�early_stop_results�sig_encoding�sig_payload�
encoding_iana�decoded_payload�bom_or_sig_available�strip_sig_or_bom�is_multi_byte_decoder�e�similar_soft_failure_test�encoding_soft_failed�r_�multi_byte_bonus�max_chunk_gave_up�early_stop_count�lazy_str_hard_failure�	md_chunks�	md_ratios�chunk�mean_mess_ratio�fallback_entry�target_languages�	cd_ratios�chunk_languages�cd_ratios_merged�
current_match�probable_results3                                                   �A/usr/local/lib/python3.12/site-packages/charset_normalizer/api.py�
from_bytesr�!sG��<�i�)�U�!3�4��A�H�H��Y��
�
�	
��%+�\�\�����/�*�������i�.�F�
��{����S�T��� � ��1��O�O�1�D�W�_�_�E��|�I�w��U�B�PR�S�T�U�U����
�
��
5��I�I�l�#�		
�8D�D�|��	�"�e�,�|��D������
�
��
6��I�I�l�#�		
�8D�D�|��	�"�e�,�|��D���
�*�u�$�%��
�
��l����	
����
��q�y�V�e�^�j�0���%��(�
�"%�i�.�3E�"E��"%�i�.�4D�"D����
�
��L�S�S��
�	
�
��
�
��W�^�^��
�	
�(*��.B��y�)�t���%��$�$�%7�8��
�
��N��	
��u�F�)+��)+��*.�N�'+�K�.2��,�.�G�)7�)9�� 3�I� >��L�+����$�$�\�2��
�
��W�����		
�� � ��)��+�+��$�$�W�-�.��?�
��M��=���M�\�9���F�"���
�
�=�!�&*��%1�]�%B��!5�"
�:Q��;
���0�0�9M��J�J��n��
�

��I�%�.B��J�J��d��
�

�	�*@��*O�!�	�$�)>�%�)G��,�u�4�"�+�C��I�.�&�s�;�'7�#�d�)�D�*�
�#&�,�u�4�"�&�s�;�'7�'9�:�*�
#��&+0�!�$;� ��]�,@�A�,0�)��%<�
%��J�J��i��$�	
�
�
�)�A�s�;�/?�������
��
"�
.��t�+�
.��O�$�v�-�	���J�J��-��	
�"%�S��W�q�[�!1��� 1�1�5�� !�� %��!�	��	�'	)�,�����$� ��%��
��� � ��'�� � ���!��4��G�A��\�1B�,G�a�,G����R�=�I�-�$��)�$�$�(9�9�(�-=��-F��7
�V&�%�)�

��#�d�)�+�&�-�-�m�H�-�M�EN��Y��#�i�.�!@�SV���i�'�+;�?P�+P�#�*�*�=�9��J�J��0�� ��o��+�Q�7�

� �!�g�w�8J�%K�K�-�!-��!����#�+=�"��!�$6�6�)7�&�"�g�-�%3�N�"0�K���
�
��K���/�C�'��3�		
�%�*<�]�*K��4�]�C����J�J��8�?�?�!�3�'7�#8��
��	��G�#�"��"1��&�2B�C�H�H�-�.��#��� � ��1�#�2�)�<����J�J��2�9�9�$�m��
�%���� ��*�U�2�$�);�W�g�(N�N� �
�#5�
�
�"	���}�%�
�0�'�7�C�C��#�%��#�%����D�!�*�*����(�(��9��O�O�$9�:�%�}�o�6�6��%�%�m�4�
�"�#�#�+�/A�V�/K��6�!��6�!�,>�,C�,C�,E�O��L�L�@��(�(�
���$�$�_�5���� 5�6�!�?�"3�4�4��L�(��L�L�1��
�
��$�$�_�5���� 5�6�!�7�=�#9�":�;�;�}	@�@
�7�|�q���.�,>��J�J��a�
�
��L�L�I�"�+�+�
�
�N�N�-�.�
�^�3��"��+�+�~�/I�/I�I��'��L�L�U�V��N�N�;�'�
��L�L�U�V��N�N�>�*�����k��L�L�N�#�#���L�1��	
�	���T�U�����_�-����-�.��N��EE��E��b$�[�1�	��J�J��D��
�

�
	��6#�K�0�		��a��-��
�
��O�!���F�	�
$�*�*�=�9���		��l
�
	)�
�J�J��s���A��	
� 1��$(�!��
	)��*&�
��
�
��t�!���F�	�(�.�.�}�=���
�su�/g%�7g*�-g/�9Ah �A4j�j�
j�k�/*h�h� j�/Ai;�;j�	k�)j;�;k�	l
�6l�l
c
�F�t|j�|||||||||	�
S)z�
    Same thing than the function from_bytes but using a file pointer that is already ready.
    Will not close the file pointer.
    )r��read)
�fprPrQrRrSrTrUrVrWrXs
          r��from_fpr� s5�� �
���	�
�����������c

�n�t|d�5}
t|
|||||||||	�
cddd�S#1swYyxYw)z�
    Same thing than the function from_bytes but with one extra step. Opening and reading given file path in binary mode.
    Can raise IOError.
    �rbN)�openr�)�pathrPrQrRrSrTrUrVrWrXr�s           r��	from_pathr�>sB�� 
�d�D�	�R�������� ����
�
�	�	�s�+�4c
���t|ttf�rt||||||||||	��
}
|
St|tt
f�rt
||||||||||	��
}
|
St||||||||||	��
}
|
S)a)
    Detect if the given input (file, bytes, or path) points to a binary file. aka. not a string.
    Based on the same main heuristic algorithms and default kwargs at the sole exception that fallbacks match
    are disabled to be stricter around ASCII-compatible but unlikely to be a string.
    )	rPrQrRrSrTrUrVrWrX)r-rErr�r/r.r�r�)�fp_or_path_or_payloadrPrQrRrSrTrUrVrWrX�guessess           r��	is_binaryr�]s���"�'�#�x��9��!��!��%�%�!5��1�+�
��Z�;��C
����	
�
��!��!��%�%�!5��1�+�
��4�;���!��!��%�%�!5��1�+�
���;�r�)	��皙�����?NNTFr,T)rOzbytes | bytearrayrPr?rQr?rR�floatrS�list[str] | NonerTr�rU�boolrVr�rWr�rXr��returnr)r�rrPr?rQr?rRr�rSr�rTr�rUr�rVr�rWr�rXr�r�r)r�zstr | bytes | PathLikerPr?rQr?rRr�rSr�rTr�rUr�rVr�rWr�rXr�r�r)	r�r�r�NNTFr,F)r�z!PathLike | str | BinaryIO | bytesrPr?rQr?rRr�rSr�rTr�rUr�rVr�rWr�rXr�r�r�)(�
__future__rr;�osr�typingr�cdrrr	r
�constantrrr
r�mdr�modelsrr�utilsrrrrrrr�	getLoggerr3�
StreamHandlerr6�setFormatter�	Formatterr�r�r�r��r�r��<module>r�s���"������R�Q��0����
��	�	�/�	0��'�'�'�'�)������G���A�B�����%)�%)�!%�� #� �|� �|��|��|��	|�
#�|�#�
|��|��|��|��|��|�B���%)�%)�!%�� #� ���������	�
#��#�
�����������@���%)�%)�!%�� #� �
�
 �
��
��
��	
�
#�
�#�

��
��
��
��
��
�B���%)�%)�!%�� #�!�?�<�?��?��?��	?�
#�?�#�
?��?��?��?��?�
�?r�

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists