3
ûâdeU  ã               @   s0   d dl mZ d dlmZmZ G dd„ deƒZdS )é   )ÚCharSetProber)ÚProbingStateÚMachineStatec                   sV   e Zd ZdZd‡ fdd„	Z‡ fdd„Zedd„ ƒZed	d
„ ƒZdd„ Z	dd„ Z
‡  ZS )ÚMultiByteCharSetProberz 
    MultiByteCharSetProber
    Nc                s,   t t| ƒj|d� d | _d | _ddg| _d S )N)Úlang_filteré    )Úsuperr   Ú__init__Údistribution_analyzerÚ	coding_smÚ
_last_char)Úselfr   )Ú	__class__© úB/tmp/pip-build-red6nood/pip/pip/_vendor/chardet/mbcharsetprober.pyr	   '   s    zMultiByteCharSetProber.__init__c                s<   t t| ƒjƒ  | jr| jjƒ  | jr.| jjƒ  ddg| _d S )Nr   )r   r   Úresetr   r
   r   )r   )r   r   r   r   -   s    

zMultiByteCharSetProber.resetc             C   s   t ‚d S )N)ÚNotImplementedError)r   r   r   r   Úcharset_name5   s    z#MultiByteCharSetProber.charset_namec             C   s   t ‚d S )N)r   )r   r   r   r   Úlanguage9   s    zMultiByteCharSetProber.languagec             C   s  xÀt t|ƒƒD ]°}| jj|| ƒ}|tjkrN| jjd| j| j	|ƒ t
j| _P q|tjkrdt
j| _P q|tjkr| jjƒ }|dkr |d | jd< | jj| j|ƒ q| jj||d |d … |ƒ qW |d | jd< | jt
jkrü| jjƒ rü| jƒ | jkrüt
j| _| jS )Nz!%s %s prober hit error at byte %sr   r   éÿÿÿÿ)ÚrangeÚlenr   Ú
next_stater   ÚERRORÚloggerÚdebugr   r   r   ÚNOT_MEÚ_stateÚITS_MEÚFOUND_ITÚSTARTÚget_current_charlenr   r
   ÚfeedÚstateÚ	DETECTINGÚgot_enough_dataÚget_confidenceÚSHORTCUT_THRESHOLD)r   Úbyte_strÚiÚcoding_stateÚchar_lenr   r   r   r"   =   s.    





zMultiByteCharSetProber.feedc             C   s
   | j jƒ S )N)r
   r&   )r   r   r   r   r&   Z   s    z%MultiByteCharSetProber.get_confidence)N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r	   r   Úpropertyr   r   r"   r&   Ú__classcell__r   r   )r   r   r   "   s   r   N)Úcharsetproberr   Úenumsr   r   r   r   r   r   r   Ú<module>   s   