CasperSecurity

Current Path : /lib/python3/dist-packages/chardet/__pycache__/
Upload File :
Current File : //lib/python3/dist-packages/chardet/__pycache__/universaldetector.cpython-310.pyc

o

�n�_�0�@s�dZddlZddlZddlZddlmZddlmZmZm	Z	ddl
mZddlm
Z
ddlmZdd	lmZGd
d�de�ZdS)a
Module containing the UniversalDetector detector class, which is the primary
class a user of ``chardet`` should use.

:author: Mark Pilgrim (initial port to Python)
:author: Shy Shalom (original C code)
:author: Dan Blanchard (major refactoring for 3.0)
:author: Ian Cordasco
�N�)�CharSetGroupProber)�
InputState�LanguageFilter�ProbingState)�EscCharSetProber)�Latin1Prober)�MBCSGroupProber)�SBCSGroupProberc	@sneZdZdZdZe�d�Ze�d�Ze�d�Z	dddd	d
ddd
d�Z
ejfdd�Z
dd�Zdd�Zdd�ZdS)�UniversalDetectoraq
    The ``UniversalDetector`` class underlies the ``chardet.detect`` function
    and coordinates all of the different charset probers.

    To get a ``dict`` containing an encoding and its confidence, you can simply
    run:

    .. code::

            u = UniversalDetector()
            u.feed(some_bytes)
            u.close()
            detected = u.result

    g�������?s[�-�]s(|~{)s[�-�]zWindows-1252zWindows-1250zWindows-1251zWindows-1256zWindows-1253zWindows-1255zWindows-1254zWindows-1257)z
iso-8859-1z
iso-8859-2z
iso-8859-5z
iso-8859-6z
iso-8859-7z
iso-8859-8z
iso-8859-9ziso-8859-13cCsNd|_g|_d|_d|_d|_d|_d|_||_t�	t
�|_d|_|�
�dS)N)�_esc_charset_prober�_charset_probers�result�done�	_got_data�_input_state�
_last_char�lang_filter�logging�	getLogger�__name__�logger�_has_win_bytes�reset)�selfr�r�;/usr/lib/python3/dist-packages/chardet/universaldetector.py�__init__QszUniversalDetector.__init__cCsVdddd�|_d|_d|_d|_tj|_d|_|jr|j�	�|j
D]}|�	�q"dS)z�
        Reset the UniversalDetector and all of its probers back to their
        initial states.  This is called by ``__init__``, so you only need to
        call this directly in between analyses of different documents.
        N���encoding�
confidence�languageF�)rrrrr�
PURE_ASCIIrrrrr
)r�proberrrrr^s


�zUniversalDetector.resetcCs6|jrdSt|�sdSt|t�st|�}|jso|�tj�r%dddd�|_n;|�tj	tj
f�r6dddd�|_n*|�d�rCdddd�|_n|�d	�rPd
ddd�|_n|�tjtjf�r`dddd�|_d|_|jd
durod|_dS|j
tjkr�|j�|�r�tj|_
n|j
tjkr�|j�|j|�r�tj|_
|dd�|_|j
tjkr�|js�t|j�|_|j�|�tjkr�|jj|j��|jjd�|_d|_dSdS|j
tjk�r|js�t |j�g|_|jt!j"@r�|j�#t$��|j�#t%��|jD]}|�|�tjk�r
|j|��|jd�|_d|_nq�|j&�|��rd|_'dSdSdS)a�
        Takes a chunk of a document and feeds it through all of the relevant
        charset probers.

        After calling ``feed``, you can check the value of the ``done``
        attribute to see if you need to continue feeding the
        ``UniversalDetector`` more data, or if it has made a prediction
        (in the ``result`` attribute).

        .. note::
           You should always call ``close`` when you're done feeding in your
           document if ``done`` is not already ``True``.
        Nz	UTF-8-SIG��?�rzUTF-32s��zX-ISO-10646-UCS-4-3412s��zX-ISO-10646-UCS-4-2143zUTF-16Tr ���)(r�len�
isinstance�	bytearrayr�
startswith�codecs�BOM_UTF8r�BOM_UTF32_LE�BOM_UTF32_BE�BOM_LE�BOM_BErrr$�HIGH_BYTE_DETECTOR�search�	HIGH_BYTE�ESC_DETECTORr�	ESC_ASCIIrrr�feedr�FOUND_IT�charset_name�get_confidencer"r
r	r�NON_CJK�appendr
r�WIN_BYTE_DETECTORr)r�byte_strr%rrrr8os�

��
�

�

��
��
�
��
�zUniversalDetector.feedc		Csf|jr|jSd|_|js|j�d�nY|jtjkr!dddd�|_nK|jtjkrld}d}d}|j	D]}|s5q0|�
�}||krA|}|}q0|rl||jkrl|j}|j�
�}|�
�}|�d	�rd|jrd|j�||�}|||jd�|_|j��tjkr�|jd
dur�|j�d�|j	D]+}|s�q�t|t�r�|jD]}|j�d|j|j|�
��q�q�|j�d|j|j|�
��q�|jS)
z�
        Stop analyzing the current document and come up with a final
        prediction.

        :returns:  The ``result`` attribute, a ``dict`` with the keys
                   `encoding`, `confidence`, and `language`.
        Tzno data received!�asciir&r'rNrziso-8859r z no probers hit minimum thresholdz%s %s confidence = %s)rrrr�debugrrr$r5r
r;�MINIMUM_THRESHOLDr:�lowerr,r�ISO_WIN_MAP�getr"�getEffectiveLevelr�DEBUGr*r�probers)	r�prober_confidence�max_prober_confidence�
max_proberr%r:�lower_charset_namer!�group_proberrrr�close�sn	
�
�

��


���zUniversalDetector.closeN)r�
__module__�__qualname__�__doc__rB�re�compiler3r6r>rDr�ALLrrr8rNrrrrr3s&


�	
mr)rQr-rrR�charsetgroupproberr�enumsrrr�	escproberr�latin1proberr�mbcsgroupproberr	�sbcsgroupproberr
�objectrrrrr�<module>s
Hacker Blog, Shell İndir, Sql İnjection, XSS Attacks, LFI Attacks, Social Hacking, Exploit Bot, Proxy Tools, Web Shell, PHP Shell, Alfa Shell İndir, Hacking Training Set, DDoS Script, Denial Of Service, Botnet, RFI Attacks, Encryption
Telegram @BIBIL_0DAY