
­­­­­­­­­­­­­­­­­­
<!DOCTYPE html>
<html>
U
    <_9Y
                     @   sH   d dl mZ d dlmZmZ d dlmZ d dlmZ G dd deZ	dS )   )CharSetProber)ProbingStateMachineState)CodingStateMachine)UTF8_SM_MODELc                       sT   e Zd ZdZ fddZ fddZedd Zedd	 Zd
d Z	dd Z
  ZS )
UTF8Proberg      ?c                    s*   t t|   tt| _d | _|   d S )N)superr   __init__r   r   	coding_sm_num_mb_charsresetself	__class__ C/opt/alt/python38/lib/python3.8/site-packages/chardet/utf8prober.pyr	   &   s    
zUTF8Prober.__init__c                    s"   t t|   | j  d| _d S )N    )r   r   r   r
   r   r   r   r   r   r   ,   s    
zUTF8Prober.resetc                 C   s   dS )Nzutf-8r   r   r   r   r   charset_name1   s    zUTF8Prober.charset_namec                 C   s   dS )N r   r   r   r   r   language5   s    zUTF8Prober.languagec                 C   s   |D ]f}| j |}|tjkr,tj| _ qlq|tjkrDtj| _ qlq|tj	kr| j 
 dkr|  jd7  _q| jtjkr|  | jkrtj| _| jS )N   r   )r
   Z
next_stater   ERRORr   ZNOT_ME_stateZITS_MEZFOUND_ITZSTARTZget_current_charlenr   stateZ	DETECTINGget_confidenceZSHORTCUT_THRESHOLD)r   Zbyte_strcZcoding_stater   r   r   feed9   s    


zUTF8Prober.feedc                 C   s.   d}| j dk r&|| j| j  9 }d| S |S d S )NgGz?   g      ?)r   ONE_CHAR_PROB)r   Zunliker   r   r   r   L   s
    
zUTF8Prober.get_confidence)__name__
__module____qualname__r   r	   r   propertyr   r   r   r   __classcell__r   r   r   r   r   #   s   

r   N)
Zcharsetproberr   Zenumsr   r   Zcodingstatemachiner   Zmbcssmr   r   r   r   r   r   <module>   s   