bg dZddlmZddlZddlmZddlmZddlm Z ddl m Z ddl m Z erdd lmZGd d e jZddZdS)z'Looks for comparisons to empty string.) annotationsN) TYPE_CHECKING)nodes)checkers)utils)HIGH)PyLintercReZdZdZddiZdZejdd d Zd S) CompareToEmptyStringCheckercompare-to-empty-stringC1901)z;"%s" can be simplified to "%s" as an empty string is falseyr z@Used when Pylint detects comparison to an empty string constant.node nodes.ComparereturnNoneclhd}d|jfg}||jt|}t t j|}tt|dz D]}||}||dz}||dz}d} ||||vr+d} tj |rd} | } n*tj |rd} | } | r=|dvrd | n| } | d | | f|t dS) a Checks for comparisons to empty string. Most of the time you should use the fact that empty strings are false. An exception to this rule is when an empty string value is allowed in the program and has a different meaning than None! >!=is notis==FNT>rrznot r )argsr confidence)leftextendopsiterlist itertoolschainrangelenris_empty_str_literal as_string add_messager) selfr _operatorsriter_opsops_idxop_1op_2op_3error_detected node_name suggestions n/builddir/build/BUILD/cloudlinux-venv-1.0.7/venv/lib/python3.11/site-packages/pylint/extensions/emptystring.py visit_comparez)CompareToEmptyStringChecker.visit_compare"sp211 8:49o5F 48999?H-..SXX\**  G(+G DGaK(D(+GaK(8D"N|t|t:/E/EI)$// -!% NN,, +D11 -!% NN,,  37<3G3G/I///Y   -..**J7# !%  N)rrrr) __name__ __module__ __qualname__namemsgsoptionsronly_required_for_messagesr4rr5r3r r s] $D  DG%U%&?@@'''A@'''r5r linterr rrcJ|t|dS)N)register_checkerr )r=s r3registerr@Ms% 7??@@@@@r5)r=r rr)__doc__ __future__rr"typingrastroidrpylintrpylint.checkersrpylint.interfacesr pylint.lintr BaseCheckerr r@rr5r3rJs .-"""""" !!!!!!""""""%$$$$$$44444("6444nAAAAAAr5