bg{dZddlmZddlZddlZddlmZddlmZddl m Z m Z ddl m Z erddlmZGd d e ZGd d e e ZddZdS)zICheck source code is ascii only or has an encoding declaration (PEP 263).) annotationsN) TYPE_CHECKING)nodes)BaseRawFileCheckerBaseTokenChecker)ManagedMessage)PyLinterc:eZdZdZdZddiZdZddZdd Zdd Z dS)ByIdManagedMessagesCheckerzIChecks for messages that are enabled or disabled by id instead of symbol. miscellaneousI0023)%suse-symbolic-message-insteadz1Used when a message is enabled or disabled by id.returnNonecB|jjdSN)linter_by_id_managed_msgsclearselfs e/builddir/build/BUILD/cloudlinux-venv-1.0.7/venv/lib/python3.11/site-packages/pylint/checkers/misc.py_clear_by_id_managed_msgsz4ByIdManagedMessagesChecker._clear_by_id_managed_msgs$s '--/////list[ManagedMessage]c|jjSr)rrrs r_get_by_id_managed_msgsz2ByIdManagedMessagesChecker._get_by_id_managed_msgs's {..rnode nodes.Modulec|}|D]=\}}}}}||jkr*|rdnd}d|d|d|d} |d|| >|d S) zHInspect the source file to find messages activated or deactivated by id.disableenable'z' is cryptic: use '# pylint: =z ' insteadrlineargsN)rname add_messager) rr managed_msgsmod_namemsgidsymbollineno is_disabledverbtxts rprocess_modulez)ByIdManagedMessagesChecker.process_module*s3355 )FIXMEXXXTODOzAList of note tags to take in consideration, separated by a comma.)typemetavardefaulthelpz notes-rgxstringzz9Regular expression of note tags to take in consideration.)rFrGrIrHrrcLtdd|jjjD}|jjjrd|d|jjjd}nd|d}tj|tj |_ dS)N|c3>K|]}tj|VdSr)reescape).0notes r z'EncodingChecker.open..cs*NNT4NNNNNNrz#\s*(z)(?=(:|\s|\Z))) superopenjoinrconfigrA notes_rgxrOcompileI_fixme_pattern)rrA regex_string __class__s rrUzEncodingChecker.open`s  NNT[5G5MNNNNN ;  ' :XEXXDK,>,HXXXLL9E999L jrt<<rr0intr(bytes file_encodingstr str | Nonec ||S#t$rYndt$rX|dr@dt |vr/|t |vrd|d}|d||YnwxYwdS)N#codingzCannot decode using encoding 'z', bad encodingz syntax-errorr')decodeUnicodeDecodeError LookupError startswithrar+)rr0r(r`msgs r_check_encodingzEncodingChecker._check_encodingks H;;}-- -!    D H H H%% HD ))!SYY..U}UUU  f3 GGG Hts BABBr r!c|jr|jnd}|5}t|D]\}}||dz|| ddddS#1swxYwYdS)z1Inspect the source file to find encoding problem.asciiN)r`stream enumeraterk)rr encodingror0r(s rr4zEncodingChecker.process_module|s)-);H4%% [[]] Af )& 1 1 A A $$VaZx@@@@ A A A A A A A A A A A A A A A A A A As0A##A'*A'tokenslist[tokenize.TokenInfo]cf|jjjsdS|D]}|jtjkr|jdd}|j d| zr2| d|j ddz||j ddS)z*Inspect the source to find fixme problems.Nrn#r@r) col_offsetr)r() rrWrArFtokenizeCOMMENTrJlstripr[searchlowerr+start)rrr token_info comment_texts rprocess_tokenszEncodingChecker.process_tokenss{!'  F  J("222%,QRR07799L"))# 0B0B0D0D*DEE   )/2Q6%#)!, !  rr5)r0r^r(r_r`rarrbr6)rrrsrr) r7r8r9r:r*r;r<rUrkr4r __classcell__)r]s@rr>r>5s D  D 53,      %S    G0 = = = = = ="AAAArr>rr rrc|t||t|dSr)register_checkerr>r )rs rregisterrsA OF33444 6v>>?????r)rr rr)r: __future__rrOrwtypingrastroidrpylint.checkersrr pylint.typingr pylint.lintr r r>rrrrrs  PO""""""  @@@@@@@@((((((%$$$$$$)))))!3)))>]]]]]&(:]]]@@@@@@@r