
Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­
<!DOCTYPE html>
<html>
3
ÝPfU  ã               @   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__© ú%/usr/lib/python3.6/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   Z
next_stater   ZERRORZloggerÚdebugr   r   r   ZNOT_MEZ_stateZITS_MEZFOUND_ITZSTARTZget_current_charlenr   r
   ÚfeedÚstateZ	DETECTINGZgot_enough_dataÚget_confidenceZSHORTCUT_THRESHOLD)r   Zbyte_strÚiZcoding_stateZ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)Zcharsetproberr   Zenumsr   r   r   r   r   r   r   Ú<module>   s   