B
    =)H[27  ã               @   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__© úaC:\Users\HIRONO~1\AppData\Local\Temp\pip-install-qz7kpjmn\pip\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 )N)r   r   )r   ÚlogicalProberÚvisualProberr   r   r   Úset_model_probers®   s    zHebrewProber.set_model_probersc             C   s   || j | j| j| j| jgkS )N)Ú	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gkS )N)Ú
NORMAL_KAFÚ
NORMAL_MEMÚ
NORMAL_NUNÚ	NORMAL_PE)r   r'   r   r   r   Úis_non_final¶   s    
zHebrewProber.is_non_finalc             C   s´   | j tjkrtjS |  |¡}x�|D ]ˆ}|dkrp| jdkrœ|  | j¡rT|  jd7  _qœ|  | j¡rœ|  j	d7  _	n,| jdkrœ|  | j¡rœ|dkrœ|  j	d7  _	| j| _|| _q"W tj
S )Nr   r   )Ústater   ÚNOT_MEÚfilter_high_byte_onlyr   r(   r   r   r-   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 )N)r   r.   r   r/   r   r1   )r   r   r   r   r.     s    zHebrewProber.state)Ú__name__Ú
__module__Ú__qualname__r"   r)   r#   r*   r$   r+   r%   r,   r&   ÚNORMAL_TSADIr5   r9   r7   r6   r   r   r!   r(   r-   r4   Úpropertyr<   r>   r.   Ú__classcell__r   r   )r   r   r   €   s.   

;r   N)Úcharsetproberr   Úenumsr   r   r   r   r   r   Ú<module>   s   c