U
    
Ha6  ã                   @   s,   d dl mZ d dlmZ G dd„ deƒZdS )é   )ÚCharSetProber)ÚProbingStatec                       s    e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZdZdZdZ‡ fdd„Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zedd„ ƒZedd„ ƒZedd „ ƒZ‡  ZS )!ÚHebrewProberéê   éë   éí   éî   éï   éð   éó   éô   éõ   éö   é   g{®Gáz„?z
ISO-8859-8zwindows-1255c                    s>   t t| ƒ ¡  d | _d | _d | _d | _d | _d | _|  	¡  d S ©N)
Úsuperr   Ú__init__Ú_final_char_logical_scoreÚ_final_char_visual_scoreÚ_prevÚ_before_prevÚ_logical_proberÚ_visual_proberÚreset©Úself©Ú	__class__© úD/tmp/pip-unpacked-wheel-tx790h60/pip/_vendor/chardet/hebrewprober.pyr   š   s    zHebrewProber.__init__c                 C   s   d| _ d| _d| _d| _d S )Né    ú )r   r   r   r   r   r   r   r   r   ¤   s    zHebrewProber.resetc                 C   s   || _ || _d S r   )r   r   )r   ÚlogicalProberÚvisualProberr   r   r   Úset_model_probers®   s    zHebrewProber.set_model_probersc                 C   s   || j | j| j| j| jfkS r   )Ú	FINAL_KAFÚ	FINAL_MEMÚ	FINAL_NUNÚFINAL_PEÚFINAL_TSADI©r   Úcr   r   r   Úis_final²   s     ÿzHebrewProber.is_finalc                 C   s   || j | j| j| jfkS r   )Ú
NORMAL_KAFÚ
NORMAL_MEMÚ
NORMAL_NUNÚ	NORMAL_PEr*   r   r   r   Úis_non_final¶   s    
 ÿzHebrewProber.is_non_finalc                 C   s°   | j tjkrtjS |  |¡}|D ]ˆ}|dkrn| jdkrš|  | j¡rR|  jd7  _qš|  | j¡rš|  j	d7  _	n,| jdkrš|  | j¡rš|dkrš|  j	d7  _	| j| _|| _q tj
S )Nr!   r   )Ústater   ÚNOT_MEÚfilter_high_byte_onlyr   r,   r   r   r1   r   Ú	DETECTING)r   Úbyte_strÚcurr   r   r   ÚfeedÄ   s&    



ÿÿzHebrewProber.feedc                 C   sx   | j | j }|| jkr| jS || j kr.| jS | j ¡ | j ¡  }|| jkrR| jS || j k rd| jS |dk rr| jS | jS )Ng        )	r   r   ÚMIN_FINAL_CHAR_DISTANCEÚLOGICAL_HEBREW_NAMEÚVISUAL_HEBREW_NAMEr   Úget_confidencer   ÚMIN_MODEL_DISTANCE)r   ÚfinalsubÚmodelsubr   r   r   Úcharset_nameÿ   s    
ÿ
zHebrewProber.charset_namec                 C   s   dS )NÚHebrewr   r   r   r   r   Úlanguage  s    zHebrewProber.languagec                 C   s(   | j jtjkr"| jjtjkr"tjS tjS r   )r   r2   r   r3   r   r5   r   r   r   r   r2     s
    ÿzHebrewProber.state)Ú__name__Ú
__module__Ú__qualname__r%   r-   r&   r.   r'   r/   r(   r0   r)   ÚNORMAL_TSADIr9   r=   r;   r:   r   r   r$   r,   r1   r8   Úpropertyr@   rB   r2   Ú__classcell__r   r   r   r   r   €   s4   

;

r   N)Úcharsetproberr   Úenumsr   r   r   r   r   r   Ú<module>   s   c