o
    b	                     @   s   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gZ	ej
dk r*e	d	 dd
iZed ed< G dd deZdd ZdS )z Checker for deprecated builtins.    N)BaseChecker)check_messages)IAstroidCheckermapfilter)   r   inputz*Using a list comprehension can be clearer.c                   @   sB   e Zd ZefZdZddiZdeddddffZe	d	d
d Z
dS )BadBuiltinCheckerZdeprecated_builtinsZW0141)zUsed builtin function %sbad-builtinzUsed when a black listed builtin function is used (see the bad-function option). Usual black listed functions are the ones like map, or filter , where Python offers now some cleaner alternative like list comprehension.zbad-functionscsvz<builtin function names>zMList of builtins function names that should not be used, separated by a comma)defaulttypemetavarhelpr
   c                 C   s   t |jtjr9|jj}|| v s;|| v s=|| jjv r?t	
|}|r+d||f }nt|}| jd||d d S d S d S d S d S )Nz%r. %sr
   )nodeargs)
isinstancefuncastroidNamenameframerootconfigZbad_functionsBUILTIN_HINTSgetreprZadd_message)selfr   r   hintr    r   \/var/www/secure340b-portal/env/lib/python3.10/site-packages/pylint/extensions/bad_builtin.py
visit_call3   s   
zBadBuiltinChecker.visit_callN)__name__
__module____qualname__r   Z__implements__r   ZmsgsBAD_FUNCTIONSoptionsr   r!   r   r   r   r    r	      s    r	   c                 C   s   |  t|  dS )zRequired method to auto register this checker.

    :param linter: Main interface object for Pylint plugins
    :type linter: Pylint object
    N)Zregister_checkerr	   )Zlinterr   r   r    registerC   s   r'   )__doc__sysr   Zpylint.checkersr   Zpylint.checkers.utilsr   Zpylint.interfacesr   r%   version_infoappendr   r	   r'   r   r   r   r    <module>   s   

,