
    ,h                     :    d dl mZ d dlmZmZmZ  G d de      Zy)   )CharSetProber)CharacterCategoryProbingStateSequenceLikelihoodc                   f     e Zd ZdZdZdZdZd fd	Z fdZe	d        Z
e	d        Zd	 Zd
 Z xZS )SingleByteCharSetProber@   i   gffffff?g?c                     t         t        |           || _        || _        || _        d | _        d | _        d | _        d | _	        d | _
        | j                          y )N)superr   __init___model	_reversed_name_prober_last_order_seq_counters_total_seqs_total_char
_freq_charreset)selfmodelreversedname_prober	__class__s       Y/var/www/html/Resume-Scraper/venv/lib/python3.12/site-packages/chardet/sbcharsetprober.pyr   z SingleByteCharSetProber.__init__'   sW    %t57!'!

    c                     t         t        |           d| _        dgt	        j
                         z  | _        d| _        d| _        d| _	        y )N       )
r   r   r   r   r   get_num_categoriesr   r   r   r   )r   r   s    r   r   zSingleByteCharSetProber.reset5   sI    %t24S#5#H#H#JJr   c                 d    | j                   r| j                   j                  S | j                  d   S )Ncharset_name)r   r"   r   r   s    r   r"   z$SingleByteCharSetProber.charset_name?   s,    $$111;;~..r   c                 |    | j                   r| j                   j                  S | j                  j                  d      S )Nlanguage)r   r%   r   getr#   s    r   r%   z SingleByteCharSetProber.languageF   s0    $$---;;??:..r   c                    | j                   d   s| j                  |      }|s| j                  S | j                   d   }t        |      D ]  \  }}||   }|t        j
                  k  r| xj                  dz  c_        || j                  k  r| xj                  dz  c_        | j                  | j                  k  r| xj                  dz  c_
        | j                  s/| j                  | j                  z  |z   }| j                   d   |   }n.|| j                  z  | j                  z   }| j                   d   |   }| j                  |xx   dz  cc<   || _	         | j                   d   }| j                  t        j                  k(  r| j                  | j                  kD  r| j!                         }|| j"                  kD  r>| j$                  j'                  d||       t        j(                  | _        | j                  S || j,                  k  r=| j$                  j'                  d||| j,                         t        j.                  | _        | j                  S )Nkeep_english_letterchar_to_order_mapr   precedence_matrixr"   z$%s confidence = %s, we have a winnerz9%s confidence = %s, below negative shortcut threshhold %s)r   filter_international_wordsstate	enumerater   CONTROLr   SAMPLE_SIZEr   r   r   r   r   r   	DETECTINGSB_ENOUGH_REL_THRESHOLDget_confidencePOSITIVE_SHORTCUT_THRESHOLDloggerdebugFOUND_IT_stateNEGATIVE_SHORTCUT_THRESHOLDNOT_ME)	r   byte_strr)   icorderr   r"   
confidences	            r   feedzSingleByteCharSetProber.feedM   s   {{0166x@H:: KK(;<h' 	%DAq &a(E (000  A% t'''1$##d&6&66$$)$>>!--0@0@@EI $,? @ C"T%5%559I9II $,? @ C&&u-2-$D-	%0 {{>2::///$">">>!002
 @ @@KK%%&L&2J@"."7"7DK zz  $"B"BBKK%% '?@L&0&*&F&FH #/"5"5DKzzr   c                     d}| j                   dkD  r`d| j                  t        j                     z  | j                   z  | j                  d   z  }|| j
                  z  | j                  z  }|dk\  rd}|S )Ng{Gz?r   g      ?typical_positive_ratiogGz?)r   r   r   POSITIVEr   r   r   )r   rs     r   r2   z&SingleByteCharSetProber.get_confidence|   s|    a**+=+F+FGG!!"$(KK0H$IJADOO#d&6&66ACxr   )FN)__name__
__module____qualname__r/   r1   r3   r8   r   r   propertyr"   r%   r?   r2   __classcell__)r   s   @r   r   r   !   sW    K""&"& / / / /-^r   r   N)charsetproberr   enumsr   r   r   r    r   r   <module>rL      s   : ) F Fcm cr   