
    c                     ~    d Z ddlZddlZddlmZ ddlmZmZ ddlm	Z	 ddl
mZ dZ G d	 d
          Zd Zd Zd ZdS )z&Command line interface for pydocstyle.    N   )check)ConfigurationParserIllegalConfiguration)log)Error)mainc                       e Zd ZdZdZdZdS )
ReturnCoder   r      N)__name__
__module____qualname__no_violations_foundviolations_foundinvalid_options     .lib/python3.11/site-packages/pydocstyle/cli.pyr   r      s        OOOr   r   c            
         t          j        t          j                   t	                      } t          |                                            	 |                                  n# t          $ r t          j
        cY S w xY w|                                 }t          |           t          j        d           |j        t          _        |j        t          _        g }	 |                                 D ]0\  }}}}}|                    t%          |f||||                     1nB# t          $ r5}t          j        |j        d                    t          j
        cY d }~S d }~ww xY wd}	|D ]9}t+          |d          r"t,          j                            d|z             |	dz  }	:|	dk    rt          j        }
nt          j        }
|j        rt9          |	           |
S )Nzstarting in debug mode.)selectignore_decoratorsproperty_decoratorsignore_self_only_initr   codez%s
r   )r   setLevelloggingDEBUGr   setup_stream_handlersget_default_run_configurationparser   r   r   get_user_run_configurationdebugexplainr   sourceget_files_to_checkextendr   errorargshasattrsysstdoutwriter   r   countprint)confrun_conferrorsfilenamechecked_codesr   r   r   r(   r.   	exit_codes              r   run_pydocstyler6      s   L  D$<<>>???*

 * * *))))* ..00H (###I'((($EM?ELF* $$&&	 	 
!MMK(&7(;*?     	    * * *	%*Q-   )))))))*
 E  5&!! 	-JVe^,,,
z 02		/	~ es1   A$ $A=<A=AD" "
E!,*EE!E!c                  j    	 t          j        t                                 dS # t          $ r Y dS w xY w)zRun pydocstyle as a script.N)r+   exitr6   KeyboardInterruptr   r   r   r	   r	   L   sE    !!"""""   s    $ 
22c                     G d dt           j                  }g t          _        t          j        t
          j                  }|                    t           j                   |	                     |                       | j
        r |                    t           j                   nF| j        r |                    t           j                   n|                    t           j                   t          j        |           t          j        t
          j                  }d}|                    t          j        |                     |                    t           j                   t          j        |           dS )z8Set up logging stream handlers according to the options.c                       e Zd Zd ZdS )+setup_stream_handlers.<locals>.StdoutFilterc                 @    |j         t          j        t          j        fv S )N)levelnor   r   INFO)selfrecords     r   filterz2setup_stream_handlers.<locals>.StdoutFilter.filterX   s    >gmW\%BBBr   N)r   r   r   rB   r   r   r   StdoutFilterr<   W   s(        	C 	C 	C 	C 	Cr   rC   z%(levelname)s: %(message)s)fmtN)r   Filterr   handlersStreamHandlerr+   r,   r   WARNING	addFilterr#   r   verboser?   
addHandlerstderrsetFormatter	Formatter)r0   rC   stdout_handlerstderr_handler
msg_formats        r   r   r   T   sR   C C C C Cw~ C C C CL*3:66NGO,,,\\^^,,,z 1....	 1----000N>"""*3:66N-J 1j A A ABBBGO,,,N>"""""r   )__doc__r   r+   checkerr   configr   r   utilsr   
violationsr   __all__r   r6   r	   r   r   r   r   <module>rX      s    , ,  



       = = = = = = = =            
       6 6 6r  # # # # #r   