File: //opt/cloudlinux/venv/lib64/python3.11/site-packages/flake8/__pycache__/__init__.cpython-311.pyc
�
    � h�  �            	       �6  � d Z ddlZddlZddlmZ ddlmZ  ej        e�  �        Ze�	                     ej
        �   �         �  �         dZ ed� e�
                    d�  �        D �   �         �  �        Zej        ej        d�Zd	Zdefd
edee         ded
dfd�ZdS )z�Top-level module for Flake8.
This module
- initializes logging for the command-line tool
- tracks the version of the package
- provides a way to configure logging for the command-line tool
.. autofunction:: flake8.configure_logging
�    N)�Optional)�Typez5.0.4c              #   �\   K  � | ]'}|�                     �   �         �t          |�  �        V � �(d S )N)�isdigit�int)�.0�is     �D/opt/cloudlinux/venv/lib/python3.11/site-packages/flake8/__init__.py�	<genexpr>r      s5   � � � �O�O�A�1�9�9�;�;�O��Q���O�O�O�O�O�O�    �.)�   �   zO%(name)-25s %(processName)-11s %(relativeCreated)6d %(levelname)-8s %(message)s�	verbosity�filename�	logformat�returnc                 ��  � | dk    rdS t          | t          t          �  �        �  �        } t          |          }|r|dv r$t          t          |pd�  �        }t
          j        }n|}t
          j        } ||�  �        }|�                    t          j	        |�  �        �  �         t          �                    |�  �         t          �                    |�  �         t          �
                    d|t          �  �         dS )aI  Configure logging for flake8.
    :param verbosity:
        How verbose to be in logging information.
    :param filename:
        Name of the file to append log information to.
        If ``None`` this will log to ``sys.stderr``.
        If the name is "stdout" or "stderr" this will log to the appropriate
        stream.
    r   N)�stderr�stdoutr   z/Added a %s logging handler to logger root at %s)�min�max�_VERBOSITY_TO_LOG_LEVEL�getattr�sys�logging�
StreamHandler�FileHandler�setFormatter�	Formatter�LOG�
addHandler�setLevel�debug�__name__)r   r   r   �	log_level�fileobj�handler_cls�handlers          r
   �configure_loggingr*   $   s�   � � �A�~�~����I�s�#:�;�;�<�<�I�'�	�2�I�� *�x�#7�7�7��#�x�3�8�4�4��-4�-B������)���k�'�"�"�G�����*�9�5�5�6�6�6��N�N�7�����L�L������I�I�9�8�X�� � � � r   )�__doc__r   r   �typingr   r   �	getLoggerr%   r!   r"