U ��.e� �@srdZddlmZmZmZddlZddlZddlmZddl m Z ddl m Z d dd �Z dd d �Zed krne�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_import�print_function�unicode_literalsN)� __version__)�PY2)�UniversalDetector�stdincCszt�}|D] }t|�}|�|�|jr q,q |��|j}trN|�t� �d�}|drld� ||d|d�Sd� |�SdS)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� bytearrayZfeedZdone�close�resultr�decode�sys�getfilesystemencoding�format)�lines�name�u�liner �r�F/usr/lib/python3.8/site-packages/pip/_vendor/chardet/cli/chardetect.py�description_ofs   �rcCs�tjdd�}|jddt�d�dtr(tjntjjgd�|jdd d �t �d �|� |�}|j D]*}|� �rvt d tjd �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)� description�inputz^File whose encoding we would like to determine. (default: stdin)�rb�*)�help�type�nargs�defaultz --version�versionz %(prog)s {0})�actionr!z�You 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_argumentZFileTyperrr�bufferrr� parse_argsr�isatty�print�stderrrr)�argv�parser�args�frrr�main6s& ���  �r0�__main__)r)N)�__doc__Z __future__rrrr$rZpip._vendor.chardetrZpip._vendor.chardet.compatrZ%pip._vendor.chardet.universaldetectorrrr0�__name__rrrr�s