
    yIf                        d dl mZ g d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dddZdddZddZddZdej        dd         cxk    rdk     r
n nee_        e
ZdS )    )annotations)__version__versionmodify_sys_path
run_pylintrun_symilarrun_pyreverseN)Sequence)NoReturn)r   argvSequence[str] | NonereturnNonec                    ddl m} 	  || pt          j        dd                    dS # t          $ r t          j        d           Y dS w xY w)zjRun pylint.

    argv can be a sequence of strings normally supplied as arguments on the command line
    r   Run   N)pylint.lintr   sysr   KeyboardInterruptexit)r   	PylintRuns     C/var/www/piapp/venv/lib/python3.11/site-packages/pylint/__init__.pyr   r      sn    
 -,,,,,	$&#(122,'''''   s   ) A
Ac                P    ddl m}  || pt          j        dd                    dS )zqRun pylint-config.

    argv can be a sequence of strings normally supplied as arguments on the command line
    r   )_PylintConfigRunr   N)pylint.lint.runr   r   r   )r   r   s     r   _run_pylint_configr   '   s<    
 100000T)SXabb\*****    r   c                P    ddl m}  || pt          j        dd                    dS )zmRun pyreverse.

    argv can be a sequence of strings normally supplied as arguments on the command line
    r   r   r   N)pylint.pyreverse.mainr   r   r   )r   PyreverseRuns     r   r	   r	   1   s;    
 :99999L%!""&&&&&r   c                P    ddl m}  || pt          j        dd                    dS )zkRun symilar.

    argv can be a sequence of strings normally supplied as arguments on the command line
    r   r   r   N)pylint.checkers.similarr   r   r   )r   
SimilarRuns     r   r   r   ;   s;    
 :99999Jt#sx|$$$$$r   c                    t          j                    } t          j        d         dd| fv rt          j                            d           t           j                            dd          }|                    d          r*|d|  dfvr!t          j                            d           d	S |                    d          r*||  ddfvr#t          j                            d           d	S d	S d	S )
a  Modify sys path for execution as Python module.

    Strip out the current working directory from sys.path.
    Having the working directory in `sys.path` means that `pylint` might
    inadvertently import user code from modules having the same name as
    stdlib or pylint's own modules.
    CPython issue: https://bugs.python.org/issue33053

    - Remove the first entry. This will always be either "" or the working directory
    - Remove the working directory from the second and third entries
      if PYTHONPATH includes a ":" at the beginning or the end.
      https://github.com/pylint-dev/pylint/issues/3636
      Don't remove it if PYTHONPATH contains the cwd or '.' as the entry will
      only be added once.
    - Don't remove the working directory from the rest. It will be included
      if pylint is installed in an editable configuration (as the last item).
      https://github.com/pylint-dev/pylint/issues/4161
    r    .
PYTHONPATH:z:.z.:r   N)	osgetcwdr   pathpopenvironget
startswithendswith)cwdenv_pythonpaths     r   r   r   E   s    & )++C
x{r3n$$QZ^^L"55N  %% .SD@Q*Q*QQ		 	 	%	% .CD@Q*Q*QQ *Q*Qr   
unraisablesys.UnraisableHookArgsc                    t          | j        t                    r| j        j        d         dk    rdS t	          j        |            dS )a  Overwrite sys.unraisablehook to catch incorrect ValueError.

    Python 3.12 introduced changes that sometimes cause astroid to emit ValueErrors
    with 'generator already executing'. Fixed in Python 3.12.3 and 3.13.

    https://github.com/pylint-dev/pylint/issues/9138
    r   zgenerator already executingN)
isinstance	exc_value
ValueErrorargsr   __unraisablehook__)r4   s    r   _catch_valueerrorr<   b   sL     	:'44 %a(,III:&&&&&r   )      r   r=   )r=   r>   r=   )N)r   r   r   r   )r   r   r   r   )r   r   )r4   r5   r   r   )
__future__r   __all__r*   r   collections.abcr
   typingr   pylint.__pkginfo__r   r   r   r	   r   r   r<   version_infounraisablehookr    r   r   <module>rG      sC  
 # " " " " "   
			 



 $ $ $ $ $ $       * * * * * *

 
 
 
 
+ + + + +' ' ' ' '% % % % %   :' ' ' '" !"1"%2222
22222*C r   