B
    He8                 @   sH   d dl mZmZ ddlmZ ddlmZ ddlmZ G dd deZ	dS )	    )OptionalUnion   )CharSetProber)ProbingState)SingleByteCharSetProberc                   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dZdd fddZddddZeeddddZeedddZeedddZeeef eddd Zee dd!d"Z!ee dd#d$Z"eedd%d&Z#  Z$S )'HebrewProber                                     g{Gz?z
ISO-8859-8zwindows-1255N)returnc                s>   t    d| _d| _| j| _| j| _d | _d | _| 	  d S )Nr   )
super__init___final_char_logical_score_final_char_visual_scoreSPACE_prev_before_prev_logical_prober_visual_proberreset)self)	__class__ t/var/www/downstreamdata.science/rtclock/rtclock-venv/lib/python3.7/site-packages/pip/_vendor/chardet/hebrewprober.pyr      s    
zHebrewProber.__init__c             C   s    d| _ d| _| j| _| j| _d S )Nr   )r   r   r   r   r   )r    r"   r"   r#   r      s    zHebrewProber.reset)logical_probervisual_proberr   c             C   s   || _ || _d S )N)r   r   )r    r$   r%   r"   r"   r#   set_model_probers   s    zHebrewProber.set_model_probers)cr   c             C   s   || j | j| j| j| jgkS )N)	FINAL_KAF	FINAL_MEM	FINAL_NUNFINAL_PEFINAL_TSADI)r    r'   r"   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_final)byte_strr   c             C   s   | j tjkrtjS | |}x|D ]}|| jkrt| j| jkr| | jrX|  jd7  _q| 	| jr|  j
d7  _
n0| j| jkr| | jr|| jkr|  j
d7  _
| j| _|| _q"W tjS )Nr   )stater   NOT_MEfilter_high_byte_onlyr   r   r-   r   r   r2   r   	DETECTING)r    r3   curr"   r"   r#   feed   s"    




zHebrewProber.feedc             C   s   | j d k	st| jd k	st| j| j }|| jkr8| jS || j krJ| jS | j  | j  }|| j	krn| jS || j	 k r| jS |dk r| jS | jS )Ng        )
r   AssertionErrorr   r   r   MIN_FINAL_CHAR_DISTANCELOGICAL_HEBREW_NAMEVISUAL_HEBREW_NAMEget_confidence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   sD   | j d k	st| jd k	st| j jtjkr>| jjtjkr>tjS tjS )N)r   r:   r   r4   r   r5   r7   )r    r"   r"   r#   r4   2  s    zHebrewProber.state)%__name__
__module____qualname__r   r(   r.   r)   r/   r*   r0   r+   r1   r,   NORMAL_TSADIr;   r?   r=   r<   r   r   r   r&   intboolr-   r2   r   bytes	bytearrayr   r9   propertystrrB   rD   r4   __classcell__r"   r"   )r!   r#   r      s:   
	>r   N)
typingr   r   charsetproberr   enumsr   sbcharsetproberr   r   r"   r"   r"   r#   <module>   s   d