/opt/cloudlinux/venv/lib/python3.11/site-packages/flake8/__pycache__
NameSizeModeActions
checker.cpython-311.pyc278860644editdlrm
defaults.cpython-311.pyc9340644editdlrm
discover_files.cpython-311.pyc39470644editdlrm
exceptions.cpython-311.pyc43190644editdlrm
processor.cpython-311.pyc211730644editdlrm
statistics.cpython-311.pyc72400644editdlrm
style_guide.cpython-311.pyc212100644editdlrm
utils.cpython-311.pyc157210644editdlrm
violation.cpython-311.pyc46630644editdlrm
_compat.cpython-311.pyc8360644editdlrm
__init__.cpython-311.pyc30360644editdlrm
__main__.cpython-311.pyc4470644editdlrm
Edit: /opt/cloudlinux/venv/lib/python3.11/site-packages/flake8/__pycache__/processor.cpython-311.pyc (21173B)
§ Á¯=›�ÞÍÁãó,—dZddlZddlZddlZddlZddlZddlmZddlmZddlm Z ddlm Z ddlm Z ddlm Z dd l mZdd l mZdd lmZeje¦«Zeejejg¦«Zeejejejejg¦«Ze e ee eeffZe e ee eefZGd „d ¦«Zdej de!fd„Z"dej de!fd„Z#dej de!fd„Z$dededefd„Z%dedefd„Z&dedefd„Z'dS)zFModule containing our file processor that tokenizes a file for checks.éN)ÚAny)ÚDict)Ú Generator)ÚList)ÚOptional)ÚTuple)Údefaults)Úutils)Ú LoadedPluginc ó|—eZdZdZdZ d(dedejdee eddfd„Z e de e j fd „¦«Zejd eded fd „¦«Zd)d „Zd)d„Zd)d„Zdeddfd„Zdeddfd„Zd)d„Zdefd„Zdejfd„Z de!eeeffd„Z"de j deeddffd„Z#de$ee%fde$ee&fde$ee&ffd„Z'dee j ddffd„Z(dedede$eeffd „Z)d edeefd!„Z*defd"„Z+de efd#„Z,de efd$„Z-de efd%„Z.de%fd&„Z/d)d'„Z0dS)*Ú FileProcessora>Processes a file and holdes state. This processes a file by generating tokens, logical and physical lines, and AST trees. This also provides a way of passing state about the file to checks expecting that state. Any public attribute on this object can be requested by a plugin. The known public attributes are: - :attr:`blank_before` - :attr:`blank_lines` - :attr:`checker_state` - :attr:`indent_char` - :attr:`indent_level` - :attr:`line_number` - :attr:`logical_line` - :attr:`max_line_length` - :attr:`max_doc_length` - :attr:`multiline` - :attr:`noqa` - :attr:`previous_indent_level` - :attr:`previous_logical` - :attr:`previous_unindented_logical_line` - :attr:`tokens` - :attr:`file_tokens` - :attr:`total_lines` - :attr:`verbose` FNÚfilenameÚoptionsÚlinesÚreturncó—||_||_|�|n| ¦«|_| ¦«d|_d|_i|_i|_|j |_ d|_ d|_ |j |_ d|_ d|_|j|_|j|_d|_d|_d|_d|_g|_t-|j¦«|_|j|_ddi|_d|_d|_dS)z]Initialice our file processor. :param filename: Name of the file to process NrÚFú logical lines)rrÚ read_linesrÚ strip_utf_bomÚ blank_beforeÚ blank_linesÚ_checker_statesÚ checker_stateÚ hang_closingÚ indent_charÚ indent_levelÚ indent_sizeÚ line_numberÚ logical_lineÚmax_line_lengthÚmax_doc_lengthÚ multilineÚprevious_indent_levelÚprevious_logicalÚ previous_unindented_logical_lineÚtokensÚlenÚ total_linesÚverboseÚ statisticsÚ _file_tokensÚ_noqa_line_mapping)Úselfrrrs úb/builddir/build/BUILD/cloudlinux-venv-1.0.12/venv/lib/python3.11/site-packages/flake8/processor.pyÚ__init__zFileProcessor.__init__<s €ðˆŒ Ø ˆŒ Ø#Ð/�U�U°T·_²_Ñ5FÔ5FˆŒ Ø ×ÒÑÔÐðˆÔàˆÔà:<ˆÔà-/ˆÔà#Ô0ˆÔà*.ˆÔàˆÔà"Ô.ˆÔàˆÔàˆÔà&Ô6ˆÔà%Ô4ˆÔàˆŒà%&ˆÔ"à "ˆÔà02ˆÔ-à02ˆŒ å˜tœz™?œ?ˆÔà”ˆŒ à*¨AÐ.ˆŒØ@DˆÔà<@ˆÔÐÐóc󚇗|j€=t|j¦«Štt jˆfd„¦«¦«|_|jS)z-Return the complete set of tokens for a file.Ncó"•—t‰¦«S©N)Únext)Ú line_iters€r/úz+FileProcessor.file_tokens..~s ø€µ°i±´€r1)r,ÚiterrÚlistÚtokenizeÚgenerate_tokens)r.r6s @r/Ú file_tokenszFileProcessor.file_tokensxsRø€ð Ô Ð $ݘTœZÑ(Ô(ˆIÝ $ÝÔ(Ð)@Ð)@Ð)@Ð)@ÑAÔAñ!ô!ˆDÔ ðÔ Ð r1r)NNNc#ó<K—||_d|_dV—d|_dS)z2Context-manager to toggle the multiline attribute.TNF)rr#)r.rs r/Úinside_multilinezFileProcessor.inside_multilineƒs+èè€ð 'ˆÔ؈ŒØ ˆˆˆØˆŒˆˆr1có—d|_dS)z)Reset the blank_before attribute to zero.rN)r©r.s r/Úreset_blank_beforez FileProcessor.reset_blank_before�s€àˆÔÐÐr1có—|jd=dS)z-Delete the first token in the list of tokens.rN)r'r@s r/Údelete_first_tokenz FileProcessor.delete_first_token‘s€à ŒK˜ˆNˆNˆNr1có&—|xjdz c_dS)z&Note that we visited a new blank line.éN)rr@s r/Úvisited_new_blank_linez$FileProcessor.visited_new_blank_line•s€à ÐÔ˜AÑÐÔÐÐr1Úmappingcó¼—|dd\}}|j|dz }t|d|…¦«|_|j|jkr|j|_dSdS)z:Update the indent level based on the logical line mapping.rrEN)rÚ expand_indentrrr)r.rGÚ start_rowÚ start_colÚ start_lines r/Ú update_statezFileProcessor.update_state™sg€à!(¨¤¨A¤Ñˆ�IØ”Z  ¨A¡ Ô.ˆ Ý)¨*°Z°i°ZÔ*@ÑAÔAˆÔØ Ô ˜tÔ/Ò /Ð /Ø $Ô 0ˆDÔ Ð Ð ð 0Ð /r1Úplugincóf—d|jvr'|j |ji¦«|_dSdS)z2Update the checker_state attribute for the plugin.rN)Ú parametersrÚ setdefaultÚ entry_namer)r.rNs r/Úupdate_checker_state_forz&FileProcessor.update_checker_state_for¡sA€à ˜fÔ/Ð /Ð /Ø!%Ô!5×!@Ò!@ØÔ! 2ñ"ô"ˆDÔ Ð Ð ð 0Ð /r1có†—|jr+|j|_|j|_|js |j|_d|_g|_dS)zoRecord the previous logical line. This also resets the tokens list and the blank_lines count. rN)r rr$r%r&rr'r@s r/Únext_logical_linezFileProcessor.next_logical_line¨sP€ð Ô ð JØ)-Ô):ˆDÔ &Ø$(Ô$5ˆDÔ !ØÔ$ð JØ8<Ô8I�Ô5ØˆÔØˆŒ ˆ ˆ r1có—g}g}g}d}dx}}|jD]ò\}}} } } |tvrŒ|sd| fg}|tjkr| |¦«Œ?|tjkrt |¦«}|rO| \} } || kr1|dz }|dz }|j||}|dks|dvr |dvrd|›�}n|| kr | || …|z}| |¦«|t|¦«z }| || f¦«| \}}Œó|||fS)z4Build the mapping, comments, and logical line lists.rNrEú,z{[(ú}])ú ) r'Ú SKIP_TOKENSr:ÚCOMMENTÚappendÚSTRINGÚ mutate_stringrr()r.ÚlogicalÚcommentsrGÚlengthÚ previous_rowÚprevious_columnÚ token_typeÚtextÚstartÚendÚlinerJÚ start_columnÚ row_indexÚ column_indexÚ previous_texts r/Úbuild_logical_line_tokensz'FileProcessor.build_logical_line_tokensµsy€àˆØˆØ#%ˆØˆØ)-Ð-ˆ �Ø26´+ð 2ð 2Ñ .ˆJ˜˜e S¨$Ø�[Ð(Ð(ØØð 'ؘu˜:˜,�Ø�XÔ-Ò-Ð-Ø—’ Ñ%Ô%Ð%ØØ�Xœ_Ò,Ð,Ý$ TÑ*Ô*�Øð EØ,1Ñ)�˜LØ 9Ò,Ð,Ø ,¨qÑ 0�IØ#2°QÑ#6�LØ$(¤J¨yÔ$9¸,Ô$G�MØ$¨Ò+Ð+Ø%¨UÐ2Ð2°tÀ5Ð7HÐ7Hà) 4˜z˜z˜øØ$¨ Ò4Ð4Ø ° Ð <Ô=ÀÑD�DØ �NŠN˜4Ñ Ô Ð Ø •c˜$‘i”iÑ ˆFØ �NŠN˜F C˜=Ñ )Ô )Ð )Ø.1Ñ +ˆ\˜?˜?ؘ 'Ð)Ð)r1cóZ—tjd |j¦«¦«S)z5Build an abstract syntax tree from the list of lines.r)ÚastÚparseÚjoinrr@s r/Ú build_astzFileProcessor.build_astØs €åŒy˜Ÿš ¤Ñ,Ô,Ñ-Ô-Ð-r1cóΗ| ¦«\}}}d |¦«}d |¦«|_|jdxxdz cc<||j|fS)z2Build a logical line from the current tokens list.rrrE)rmrqr r+)r.r`r_Ú mapping_listÚjoined_commentss r/Úbuild_logical_linez FileProcessor.build_logical_lineÜsm€à*.×*HÒ*HÑ*JÔ*JÑ'ˆ�'˜<ØŸ'š' (Ñ+Ô+ˆØŸGšG GÑ,Ô,ˆÔØ Œ˜Ð(Ð(Ô(¨AÑ-Ð(Ð(Ñ(Ø Ô 1°<Ð?Ð?r1Útokenc#ó K—t|jd|jd¦«D]$}|j|dz V—|xjdz c_Œ%dS)z|Split a physical line's line based on new-lines. This also auto-increments the line number for the caller. rrEN)Úrangerfrgrr)r.rwÚline_nos r/Ú split_linezFileProcessor.split_lineäseèè€õ˜Uœ[¨œ^¨U¬Y°q¬\Ñ:Ô:ð "ð "ˆGØ”*˜W q™[Ô)Ð )Ð )Ð )Ø Ð Ô  Ñ !Ð Ô Ð ð "ð "r1rPÚ argumentscóÌ—i}| ¦«D]L\}}||vrŒ t||¦«||<Œ#t$r!|r‚t d|¦«YŒIwxYw|S)z8Generate the keyword arguments for a list of parameters.zPPlugin requested optional parameter "%s" but this is not an available parameter.)ÚitemsÚgetattrÚAttributeErrorÚLOGÚwarning)r.rPr|ÚretÚparamÚrequireds r/Úkeyword_arguments_forz#FileProcessor.keyword_arguments_forñs¦€ð ˆØ)×/Ò/Ñ1Ô1ð ð ‰OˆE�8ؘ Ð!Ð!Øð Ý$ T¨5Ñ1Ô1��E‘ � øÝ!ð ð ð ØðØå—K’KðBàñôðððð  øøøðˆ s¢6¶(A!Á A!c#ó²K—tj|j¦«D]:}|dd|jkrdS|j |¦«|V—Œ;dS)z'Tokenize the file and yield the tokens.érN)r:r;Ú next_liner)r'r\)r.rws r/r;zFileProcessor.generate_tokenssjèè€åÔ-¨d¬nÑ=Ô=ð ð ˆEØ�QŒx˜Œ{˜TÔ-Ò-Ð-Ø��Ø ŒK× Ò ˜uÑ %Ô %Ð %؈KˆKˆKˆKð  ð r1Úmin_lineÚmax_linecó¨—t||dz¦«}d |j|dz |…¦«}t ||¦«S)NrEr)ryrqrÚdictÚfromkeys)r.rŠr‹Ú line_rangeÚjoineds r/Ú_noqa_line_rangezFileProcessor._noqa_line_rangesJ€Ý˜8 X°¡\Ñ2Ô2ˆ Ø—’˜œ H¨q¡L°8Ð$;Ô<Ñ=Ô=ˆÝ�}Š}˜Z¨Ñ0Ô0Ð0r1có~—|j�€ |j}i}t|j¦«dz}d}|D]œ\}}\}}\} }}|tjkrn}t ||¦«}t|| ¦«}|tjtj fvrB|  |  ||¦«¦«t|j¦«dz}d}Œ�|dkr)|  |  ||¦«¦«||_n##tj tf$r i|_YnwxYw|j |¦«S)z7Retrieve the line which will be used to determine noqa.Nrˆéÿÿÿÿ)r-r<r(rr:Ú ENDMARKERÚminÚmaxÚNLÚNEWLINEÚupdater‘Ú TokenErrorÚ SyntaxErrorÚget) r.rr<rƒrŠr‹ÚtpÚ_Ús_lineÚe_lines r/Ú noqa_line_forzFileProcessor.noqa_line_fors_€à Ô "Ñ *ð .Ø"Ô.� ð �å˜tœz™?œ?¨QÑ.�Ø�Ø:Eð &ð &Ñ6�B˜™;˜F A© ¨°°QØ�XÔ/Ò/Ð/ؘå" 8¨VÑ4Ô4�HÝ" 8¨VÑ4Ô4�Hà�hœk­8Ô+;Ð<Ð<Ð<ØŸ š  4×#8Ò#8¸À8Ñ#LÔ#LÑMÔMÐMå#& t¤z¡?¤?°QÑ#6˜Ø#%˜øð ˜r’>�>Ø—J’J˜t×4Ò4°X¸xÑHÔHÑIÔIÐIà*-�Ô'Ð'øõ9Ô'­Ð5ð -ð -ð -ð+-�Ô'Ð'Ð'ð -øøøðBÔ&×*Ò*¨;Ñ7Ô7Ð7sŠDÄD"Ä!D"có—|j|jkrdS|j|j}|xjdz c_|j€#|dd…tjvr |d|_|S)z Get the next line from the list.rrENr)rr)rrr Ú WHITESPACE)r.rhs r/r‰zFileProcessor.next_line=sj€à Ô ˜tÔ/Ò /Ð /Ø�2ØŒz˜$Ô*Ô+ˆØ ÐÔ˜AÑÐÔØ Ô Ð #¨¨R¨a¨R¬µHÔ4GÐ(GÐ(GØ# AœwˆDÔ Øˆ r1có¢—|j� |jdkr(|jjpd|_| ¦«}n| ¦«}|S)z%Read the lines for this file checker.Nú-Ústdin)rrÚstdin_display_nameÚread_lines_from_stdinÚread_lines_from_filename)r.rs r/rzFileProcessor.read_linesGsP€à Œ=Ð  D¤M°SÒ$8Ð$8Ø œLÔ;ÐF¸wˆDŒMØ×.Ò.Ñ0Ô0ˆEˆEà×1Ò1Ñ3Ô3ˆE؈ r1cóJ— tj|j¦«5}| ¦«cddd¦«S#1swxYwYdS#tt f$rHt|jd¬¦«5}| ¦«cddd¦«cYS#1swxYwYYdSwxYw)zRead the lines for a file.Nzlatin-1)Úencoding)r:ÚopenrÚ readlinesr›Ú UnicodeError)r.Úfds r/r©z&FileProcessor.read_lines_from_filenamePs7€ð &Ý”˜tœ}Ñ-Ô-ð &°Ø—|’|‘~”~ð &ð &ð &ð &ñ &ô &ð &ð &ð &ð &ð &ð &øøøð &ð &ð &ð &ð &ð &øå�\Ð*ð &ð &ð &õ�d”m¨iÐ8Ñ8Ô8ð &¸BØ—|’|‘~”~ð &ð &ð &ð &ñ &ô &ð &ð &ð &ð &ð &ð &ð &ð &øøøð &ð &ð &ð &ð &ð &ð &ð &øøøsU‚A ›<¯ A ¼AÁA ÁAÁA Á 'B"Á0B B"ÂB ÂB"ÂB ÂB"Â!B"có(—tj¦«S)z Read the lines from standard in.)r Ústdin_get_linesr@s r/r¨z#FileProcessor.read_lines_from_stdin[s€åÔ$Ñ&Ô&Ð&r1cóÒ—|jjs td„|jD¦«¦«rdStd„|jD¦«¦«rt d¦«dSdS)z®Check if ``flake8: noqa`` is in the file to be ignored. :returns: True if a line matches :attr:`defaults.NOQA_FILE`, otherwise False c3óTK—|]#}tj |¦«V—Œ$dSr4)r Ú NOQA_FILEÚmatch©Ú.0rhs r/ú z3FileProcessor.should_ignore_file..fsDèè€ð1 ð1 Ø/3�HÔ × $Ò $ TÑ *Ô *ð1 ð1 ð1 ð1 ð1 ð1 r1Tc3óTK—|]#}tj |¦«V—Œ$dSr4)r r´Úsearchr¶s r/r¸z3FileProcessor.should_ignore_file..js3èè€ÐHÐH°T•Ô#×*Ò*¨4Ñ0Ô0ÐHÐHÐHÐHÐHÐHr1z[Detected `flake8: noqa` on line with code. To ignore an error on a line use `noqa` instead.F)rÚ disable_noqaÚanyrr�r‚r@s r/Úshould_ignore_filez FileProcessor.should_ignore_file_s�€ðŒ|Ô(ð ­Sð1 ð1 Ø7;´zð1 ñ1 ô1 ñ. ô. ð ð�4Ý ÐHÐH¸T¼ZÐHÑHÔHÑ HÔ Hð Ý �KŠKð6ñ ô ð ð�5à�5r1có—|jsdSt|jdd¦«}|dvrdS|dkr|jddd…|jd<dS|jddd…dkr|jddd…|jd<dSdS)z-Strip the UTF bom from the lines of the file.Nr)éïéÿþrÀrEéu)rÚord)r.Ú first_bytes r/rzFileProcessor.strip_utf_bomss¤€àŒzð à ˆF嘜 Aœ qÔ)Ñ*Ô*ˆ Ø ˜^Ð +Ð +Ø ˆFð ˜Ò Ð Ø œJ qœM¨!¨"¨"Ô-ˆDŒJ�q‰MˆMˆMØ ŒZ˜Œ]˜2˜A˜2Ô  .Ò 0Ð 0Ø œJ qœM¨!¨"¨"Ô-ˆDŒJ�q‰MˆMˆMð1Ð 0r1r4)rN)1Ú__name__Ú __module__Ú __qualname__Ú__doc__ÚnoqaÚstrÚargparseÚ Namespacerrr0Úpropertyr:Ú TokenInfor<Ú contextlibÚcontextmanagerÚintrr>rArCrFÚ_LogicalMappingrMr rSrUÚ_LogicalrmroÚASTrrrrvr{rÚboolrr†r;r‘r¡r‰rr©r¨r½r©r1r/r r s„€€€€€ððð8 €Dð &*ð :Að:Aàð:AðÔ#ð:Að˜˜Sœ Ô"ð :Að ð :Að:Að:Að:Aðxð!˜T (Ô"4Ô5ð!ð!ð!ñ„Xð!ðÔðØðà Ð#Ô $ðððñÔðððððððððððððð1 Oð1¸ð1ð1ð1ð1ð¨|ðÀððððð ð ð ð ð!*¨8ð!*ð!*ð!*ð!*ðF.˜3œ7ð.ð.ð.ð.ð@ E¨#¨s°OÐ*CÔ$Dð@ð@ð@ð@ð "ØÔ'ð "à �3˜˜d�?Ô #ð "ð "ð "ð "ðà˜˜d˜”Oðð˜˜S˜”>ðð ˆc�3ˆhŒð ðððð. ¨8Ô+=¸tÀTÐ+IÔ!Jððððð1¨ð1¸ð1ÀÀSÈ#ÀXÄð1ð1ð1ð1ð &8¨ð&8°¸#´ð&8ð&8ð&8ð&8ðP˜3ððððð˜D œIððððð &¨$¨s¬)ð &ð &ð &ð &ð' t¨C¤yð'ð'ð'ð'ð Dððððð(.ð.ð.ð.ð.ð.r1r rwrcó„—|dtvp1|d|ddd… ¦«dkS)z+Check if the token is an end-of-line token.rérÁrENz\ )r˜Úlstrip©rws r/Ú is_eol_tokenrÚ„s<€à �Œ8•wÐ Ð L %¨¤(¨5°¬8°A¬;¨=¨=Ô"9×"@Ò"@Ñ"BÔ"BÀfÒ"LÐLr1cóB—|dtjko d|dvS)z$Check if this is a multiline string.rú rE)r:r]rÙs r/Úis_multiline_stringr݉s!€à �Œ8•x”Ò &Ð ;¨4°5¸´8Ð+;Ð;r1có —|dtvS)z0Check if the token type is a newline token type.r)r˜rÙs r/Útoken_is_newlinerߎs€à �Œ8•wÐ Ðr1Úcurrent_parentheses_countÚ token_textcó*—|dvr|dzS|dvr|dz S|S)z Count the number of parentheses.z([{rErXrÕ)ràrás r/Úcount_parenthesesrã“s4€à�UÐÐØ(¨1Ñ,Ð,Ø �uÐ Ð Ø(¨1Ñ,Ð,Ø $Ð$r1rhcóF—t| d¦«¦«S)zóReturn the amount of indentation. Tabs are expanded to the next multiple of 8. >>> expand_indent(' ') 4 >>> expand_indent('\t') 8 >>> expand_indent(' \t') 8 >>> expand_indent(' \t') 16 é)r(Ú expandtabs)rhs r/rIrIœs€õ ˆt�Š˜qÑ!Ô!Ñ "Ô "Ð"r1recóÊ—| |d¦«dz}t|¦«dz }|dd…dvr |dz }|dz}|d|…d||z zz||d…zS)zÈReplace contents with 'xxx' to prevent syntax matching. >>> mutate_string('"abc"') '"xxx"' >>> mutate_string("'''abc'''") "'''xxx'''" >>> mutate_string("r'abc'") "r'xxx'" r“rEéýÿÿÿN)z"""z'''rˆÚx)Úindexr()rerfrgs r/r^r^°s{€ð �JŠJ�t˜B”xÑ Ô  1Ñ $€EÝ ˆd‰)Œ)�a‰-€Cà ˆBˆCˆC„y�NÐ"Ð"Ø �‰ ˆØ ˆq‰ˆØ ���Œ<˜#  u¡Ñ-Ñ -°°S°T°T´ Ñ :Ð:r1)(rÇrÊrorÎÚloggingr:ÚtypingrrrrrrÚflake8r r Úflake8.plugins.finderr Ú getLoggerrÄr�Ú frozensetr—r˜ÚINDENTÚDEDENTrZrÐrÑrÉrÒr rÍrÔrÚrÝrßrãrIr^rÕr1r/úrós‚ðØLÐLØ€€€Ø € € € ØÐÐÐØ€€€Ø€€€ØÐÐÐÐÐØÐÐÐÐÐØÐÐÐÐÐØÐÐÐÐÐØÐÐÐÐÐØÐÐÐÐÐàÐÐÐÐÐØÐÐÐÐÐØ.Ð.Ð.Ð.Ð.Ð.à€gÔ˜Ñ!Ô!€Ø ˆ)�X”[ (Ô"2Ð3Ñ 4Ô 4€àˆiØ „[�(Ô" H¤O°X´_ÐEñô€ ð�u˜S %¨¨S¨¤/Ð1Ô2Ô3€Ø ��c”˜D œI Ð6Ô 7€ðd.ðd.ðd.ðd.ðd.ñd.ôd.ðd.ðN M˜Ô*ðM¨tðMðMðMðMð <˜xÔ1ð<°dð<ð<ð<ð<ð ˜HÔ.ð°4ððððð %°ð%À#ð%È#ð%ð%ð%ð%ð#˜ð# ð#ð#ð#ð#ð(;˜ð; ð;ð;ð;ð;ð;ð;r1