
0c@_6  ã               @   s:   d  d l  m Z d  d l m Z Gd 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 ‡  S)!ÚHebrewProberéê   éë   éí   éî   éï   éð   éó   éô   éõ   éö   é   g{®Gáz„?z
ISO-8859-8zwindows-1255c                sW   t  t |  ƒ j ƒ  d  |  _ d  |  _ d  |  _ d  |  _ d  |  _ d  |  _ |  j	 ƒ  d  S)N)
Úsuperr   Ú__init__Ú_final_char_logical_scoreÚ_final_char_visual_scoreÚ_prevÚ_before_prevÚ_logical_proberÚ_visual_proberÚreset)Úself)Ú	__class__© ú?/tmp/pip-build-jynh7p1z/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   ZlogicalProberZ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|  j | ƒ } xÂ | D]º } | d k r˜ |  j d k rÔ |  j |  j ƒ rt |  j d 7_ qÔ |  j |  j ƒ rÔ |  j	 d 7_	 n< |  j d k rÔ |  j |  j ƒ rÔ | d k rÔ |  j	 d 7_	 |  j |  _ | |  _ q/ Wt j
 S)Nr   r   )Ústater   ÚNOT_MEZfilter_high_byte_onlyr   r&   r   r   r+   r   Ú	DETECTING)r   Zbyte_strÚcurr   r   r   ÚfeedÄ   s     zHebrewProber.feedc             C   s    |  j  |  j } | |  j k r& |  j S| |  j k r= |  j S|  j j ƒ  |  j j ƒ  } | |  j k ro |  j S| |  j k  r† |  j S| d k  r™ |  j S|  j S)Ng        )	r   r   ÚMIN_FINAL_CHAR_DISTANCEÚLOGICAL_HEBREW_NAMEÚVISUAL_HEBREW_NAMEr   Zget_confidencer   ÚMIN_MODEL_DISTANCE)r   ZfinalsubZmodelsubr   r   r   Úcharset_nameÿ   s    zHebrewProber.charset_namec             C   s   d S)NZHebrewr   )r   r   r   r   Úlanguage  s    zHebrewProber.languagec             C   s8   |  j  j t j k r1 |  j j t j k r1 t j St j S)N)r   r,   r   r-   r   r.   )r   r   r   r   r,     s    zHebrewProber.state)Ú__name__Ú
__module__Ú__qualname__r    r'   r!   r(   r"   r)   r#   r*   r$   ZNORMAL_TSADIr1   r4   r3   r2   r   r   r   r&   r+   r0   Úpropertyr5   r6   r,   r   r   )r   r   r   €   s.   

;r   N)Zcharsetproberr   Zenumsr   r   r   r   r   r   Ú<module>   s   c