a
=b
@ sr d Z ddlmZmZmZ ddlZddlZddlmZ ddl m
Z
ddlmZ d
dd Z
dd
dZedkrne dS )a
Script which takes one or more file paths and reports on their detected
encodings
Example::
% chardetect somefile someotherfile
somefile: windows-1252 with confidence 0.5
someotherfile: ascii with confidence 1.0
If no paths are provided, it takes its input from stdin.
)absolute_importprint_functionunicode_literalsN)__version__)PY2)UniversalDetectorstdinc C sz t }| D ] }t|}|| |jr
q,q
| |j}trN|t d}|d rld
||d |d S d
|S dS )z
Return a string describing the probable encoding of a file or
list of strings.
:param lines: The lines to get the encoding of.
:type lines: Iterable of bytes
:param name: Name of file or collection of lines
:type name: str
ignoreencodingz{}: {} with confidence {}Z
confidencez
{}: no resultN)r bytearrayZfeedZdonecloseresultr decodesysgetfilesystemencodingformat)linesnameuliner
r :/usr/lib/python3.9/site-packages/chardet/cli/chardetect.pydescription_of s
r c C s t jdd}|jddt ddtr(tjntjjgd |jdd d
t d |
| }|jD ]*}| rvt
dtjd
t
t||j q\dS )z
Handles command line arguments and gets things started.
:param argv: List of arguments, as if specified on the command-line.
If None, ``sys.argv[1:]`` is used instead.
:type argv: list of str
zVTakes one or more file paths and reports their detected encodings)descriptioninputz^File whose encoding we would like to determine. (default: stdin)rb*)helptypenargsdefaultz --versionversionz%(prog)s {})actionr! zYou are running chardetect interactively. Press CTRL-D twice at the start of a blank line to signal the end of your input. If you want help, run chardetect --help
)fileN)argparseArgumentParseradd_argumentFileTyper r r bufferr r
parse_argsr isattyprintstderrr r )argvparserargsfr r r main5 s$
r1 __main__)r )N)__doc__Z
__future__r r r r$ r Zchardetr Zchardet.compatr Zchardet.universaldetectorr r r1 __name__r r r r