B
    x.;]
                 @   sr   d Z ddlmZmZmZ ddlZddlZddlmZ ddl	m
Z
 ddlmZ ddd	Zdd
dZedkrne  dS )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_importprint_functionunicode_literalsN)__version__)PY2)UniversalDetectorstdinc             C   s|   t  }x&| D ]}t|}|| |jrP qW |  |j}trP|t	 d}|d rnd
||d |d S d
|S dS )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
    ignoreencodingz{0}: {1} with confidence {2}Z
confidencez{0}: no resultN)r   	bytearrayZfeedZdonecloseresultr   decodesysgetfilesystemencodingformat)linesnameuliner    r   5lib/python3.7/site-packages/chardet/cli/chardetect.pydescription_of   s    



r   c             C   s   t jdd}|jddt ddtr(tjntjjgd |jdd	d
t	d |
| }x4|jD ]*}| rxtdtjd tt||j q^W dS )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)Zdescriptioninputz^File whose encoding we would like to determine.                               (default: stdin)rb*)helptypenargsdefaultz	--versionversionz%(prog)s {0})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)argparseArgumentParseradd_argumentZFileTyper   r   r   bufferr   r   
parse_argsr   isattyprintstderrr   r   )argvparserargsfr   r   r   main6   s    	


r/   __main__)r   )N)__doc__Z
__future__r   r   r   r#   r   Zchardetr   Zchardet.compatr   Zchardet.universaldetectorr   r   r/   __name__r   r   r   r   <module>   s   

