o
    >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( fddZd(ddZdededdfddZdedefddZdedefddZdeeef defd d!Zede fd"d#Z!ede fd$d%Z"edefd&d'Z#  Z$S ))HebrewProber                                     g{Gz?z
ISO-8859-8zwindows-1255returnNc                    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__ U/var/www/html/humari/django-venv/lib/python3.10/site-packages/chardet/hebrewprober.pyr      s   
zHebrewProber.__init__c                 C   s    d| _ d| _| j| _| j| _d S r   )r   r   r   r   r   r!   r%   r%   r&   r       s   zHebrewProber.resetlogical_probervisual_proberc                 C   s   || _ || _d S N)r   r   )r"   r'   r(   r%   r%   r&   set_model_probers   s   
zHebrewProber.set_model_proberscc                 C   s   || j | j| j| j| jfv S r)   )	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fv S r)   )
NORMAL_KAF
NORMAL_MEM
NORMAL_NUN	NORMAL_PEr1   r%   r%   r&   is_non_final   s   zHebrewProber.is_non_finalbyte_strc                 C   s   | j tjkr	tjS | |}|D ]H}|| jkr9| j| jkr8| | jr+|  jd7  _n&| 	| jr8|  j
d7  _
n| j| jkrQ| | jrQ|| jkrQ|  j
d7  _
| j| _|| _qtjS )Nr   )stater   NOT_MEfilter_high_byte_onlyr   r   r2   r   r   r7   r   	DETECTING)r"   r8   curr%   r%   r&   feed   s&   



zHebrewProber.feedc                 C   s   | j d usJ | jd usJ | j| j }|| jkr| jS || j kr%| jS | j  | j  }|| jkr7| jS || j k r@| jS |dk rG| jS | jS )Ng        )	r   r   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 usJ | jd usJ | j jtjkr| jjtjkrtjS tjS r)   )r   r   r9   r   r:   r<   r!   r%   r%   r&   r9   2  s   zHebrewProber.state)r   N)%__name__
__module____qualname__r   r,   r3   r-   r4   r.   r5   r/   r6   r0   NORMAL_TSADIr?   rC   rA   r@   r   r    r   r*   intboolr2   r7   r   bytes	bytearrayr   r>   propertystrrF   rH   r9   __classcell__r%   r%   r#   r&   r      sD    



	>r   N)
typingr   r   charsetproberr   enumsr   sbcharsetproberr   r   r%   r%   r%   r&   <module>   s
   d