3
g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{Gz?z
ISO-8859-8zwindows-1255c                s>   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__ ^/var/www/tester-filtro-web/env/lib/python3.6/site-packages/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rp| 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"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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   ZfinalsubZ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   r/   )r   r   r   r   r,     s    zHebrewProber.state)__name__
__module____qualname__r    r'   r!   r(   r"   r)   r#   r*   r$   ZNORMAL_TSADIr3   r7   r5   r4   r   r   r   r&   r+   r2   propertyr8   r:   r,   __classcell__r   r   )r   r   r      s.   

;r   N)charsetproberr   enumsr   r   r   r   r   r   <module>   s   c