î
)Ú X/4  ã               @   s¤   d  d l  m Z d  d l m Z m Z d  d l m 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 Gd d „  d e ƒ Z d S)é   )ÚCharSetProber)ÚeNotMeÚ
eDetecting)Úwrap_ordéê   éë   éí   éî   éï   éð   éó   éô   éõ   éö   é   g{®Gáz„?z
ISO-8859-8zwindows-1255c               @   sp   e  Z d  Z d d „  Z d d „  Z d d „  Z d d „  Z d	 d
 „  Z d d „  Z d d „  Z	 d d „  Z
 d S)ÚHebrewProberc             C   s-   t  j |  ƒ d  |  _ d  |  _ |  j ƒ  d  S)N)r   Ú__init__Ú_mLogicalProberÚ_mVisualProberÚreset)Úself© r   úV/home/ubuntu/projects/ifolica/build/requests/requests/packages/chardet/hebrewprober.pyr   œ   s    		zHebrewProber.__init__c             C   s(   d |  _  d |  _ d |  _ d |  _ d  S)Né    ú )Ú_mFinalCharLogicalScoreÚ_mFinalCharVisualScoreÚ_mPrevÚ_mBeforePrev)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   t  | ƒ t t t t t g k S)N)r   Ú	FINAL_KAFÚ	FINAL_MEMÚ	FINAL_NUNÚFINAL_PEÚFINAL_TSADI)r   Úcr   r   r   Úis_final°   s    zHebrewProber.is_finalc             C   s   t  | ƒ t t t t g k S)N)r   Ú
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 k r t S|  j | ƒ } xË | D]Ã } | d k r› |  j d k rÚ |  j |  j ƒ rq |  j d 7_ q˜ |  j |  j ƒ r˜ |  j d 7_ q˜ qÚ n? |  j d k rÚ |  j |  j ƒ rÚ | d k rÚ |  j d 7_ n  |  j |  _ | |  _ q, Wt	 S)Nr   r   )
Ú	get_stater   Zfilter_high_bit_onlyr   r&   r   r   r+   r   r   )r   ÚaBufÚcurr   r   r   ÚfeedÁ   s     zHebrewProber.feedc             C   s‚   |  j  |  j } | t k r  t S| t k r1 t S|  j j ƒ  |  j j ƒ  } | t k r] t S| t k  rn t S| d k  r~ t St 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   Úget_charset_nameü   s    zHebrewProber.get_charset_namec             C   s2   |  j  j ƒ  t k r. |  j j ƒ  t k r. t St S)N)r   r,   r   r   r   )r   r   r   r   r,     s    zHebrewProber.get_stateN)Ú__name__Ú
__module__Ú__qualname__r   r   r   r&   r+   r/   r4   r,   r   r   r   r   r   ›   s   
;r   N)Zcharsetproberr   Ú	constantsr   r   Úcompatr   r    r'   r!   r(   r"   r)   r#   r*   r$   ZNORMAL_TSADIr0   r3   r2   r1   r   r   r   r   r   Ú<module>   s"   d