zmc
2023-12-22 9fdbf60165db0400c2e8e6be2dc6e88138ac719a
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
U
H=®döã@s0ddlZddlZddlmZGdd„deƒZdS)éNé)Ú ProbingStatec@sneZdZdZddd„Zdd„Zedd„ƒZd    d
„Zed d „ƒZ    d d„Z
e dd„ƒZ e dd„ƒZ e dd„ƒZdS)Ú CharSetProbergffffffî?NcCsd|_||_t t¡|_dS©N)Ú_stateÚ lang_filterÚloggingÚ    getLoggerÚ__name__Úlogger)Úselfr©r úXD:\z\workplace\VsCode\pyvenv\venv\Lib\site-packages\pip/_vendor/chardet/charsetprober.pyÚ__init__'szCharSetProber.__init__cCs tj|_dSr)rÚ    DETECTINGr©r r r rÚreset,szCharSetProber.resetcCsdSrr rr r rÚ charset_name/szCharSetProber.charset_namecCsdSrr )r Úbufr r rÚfeed3szCharSetProber.feedcCs|jSr)rrr r rÚstate6szCharSetProber.statecCsdS)Ngr rr r rÚget_confidence:szCharSetProber.get_confidencecCst dd|¡}|S)Ns([-])+ó )ÚreÚsub)rr r rÚfilter_high_byte_only=sz#CharSetProber.filter_high_byte_onlycCs\tƒ}t d|¡}|D]@}| |dd…¡|dd…}| ¡sL|dkrLd}| |¡q|S)u9
        We define three types of bytes:
        alphabet: english alphabets [a-zA-Z]
        international: international characters [€-ÿ]
        marker: everything else [^a-zA-Z€-ÿ]
 
        The input buffer can be thought to contain a series of words delimited
        by markers. This function works to filter all words that contain at
        least one international character. All contiguous sequences of markers
        are replaced by a single space ascii character.
 
        This filter applies to all scripts which do not use English characters.
        s%[a-zA-Z]*[€-ÿ]+[a-zA-Z]*[^a-zA-Z€-ÿ]?Néÿÿÿÿó€r)Ú    bytearrayrÚfindallÚextendÚisalpha)rÚfilteredÚwordsÚwordÚ    last_charr r rÚfilter_international_wordsBsÿ  z(CharSetProber.filter_international_wordscCs¤tƒ}d}d}tt|ƒƒD]n}|||d…}|dkr<d}n |dkrHd}|dkr| ¡s||kr€|s€| |||…¡| d¡|d}q|s | ||d    …¡|S)
aÈ
        Returns a copy of ``buf`` that retains only the sequences of English
        alphabet and high byte characters that are not between <> characters.
        Also retains English alphabet and high byte characters immediately
        before occurrences of >.
 
        This filter can be applied to all scripts which contain both English
        characters and extended ASCII characters, but is currently only used by
        ``Latin1Prober``.
        Frró>ó<TrrN)rÚrangeÚlenr!r )rr"Úin_tagÚprevÚcurrÚbuf_charr r rÚfilter_with_english_lettersgs"  
 
z)CharSetProber.filter_with_english_letters)N)r
Ú
__module__Ú __qualname__ÚSHORTCUT_THRESHOLDrrÚpropertyrrrrÚ staticmethodrr&r/r r r rr#s
 
 
 
 
$r)rrÚenumsrÚobjectrr r r rÚ<module>s