§ |<ˆjÔ2ãóX—dZddlZddlZddlZddlZddlZddlmZddlmZddlm Z ddlm Z ddlm Z ddlm Z ddl Z dd l mZdd l mZdd l mZdd l mZdd l mZddlmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZeje ¦«Z!Gd„d¦«Z"dS)z3Module containing the application logic for Flake8.éN)ÚDict)ÚList)ÚOptional)ÚSequence)ÚSet)ÚTuple)Úchecker)Údefaults)Ú exceptions)Ú style_guide)Úutils)Ú BaseFormatter)Údebug)Úoptions)Ú aggregator)Úconfig)Úmanager)Úfinder)Úreporterc óp—eZdZdZdd„Zdeedeej e effd„Z de fd„Z dejd ed eed eeddf d „Zdd „Zdejd ede eddfd„Zdd„Zdd„Zdd„Zdd„Zdd„Zdd„Zdd„Zdeeddfd„Zdd„Zdeeddfd„Zdeeddfd„ZdS)Ú Applicationz&Abstract our application into a class.ÚreturnNcó—tj¦«|_d|_tj¦«|_d|_d|_d|_d|_ d|_ d|_d|_ d|_ d|_ i|_dS)zInitialize our application.NrF)ÚtimeÚ start_timeÚend_timerÚstage1_arg_parserÚprelim_arg_parserÚoption_managerÚpluginsÚ formatterÚguideÚfile_checker_managerÚ result_countÚtotal_result_countÚcatastrophic_failureÚ parsed_diff©Úselfs úi/builddir/build/BUILD/cloudlinux-venv-1.0.12/venv/lib/python3.11/site-packages/flake8/main/application.pyÚ__init__zApplication.__init__$s’€õœ)™+œ+ˆŒà)-ˆŒ õ")Ô!:Ñ!<Ô!<ˆÔð@DˆÔà15ˆŒ à26ˆŒð?CˆŒ ð@DˆÔ!ð6:ˆŒ ðˆÔð#$ˆÔð%*ˆÔ!ð13ˆÔÐÐóÚargvcóŠ—|j |¦«\}}|jr| d|jf¦«||fS)a%Get preliminary options from the CLI, pre-plugin-loading. We need to know the values of a few standard options so that we can locate configuration files and configure logging. Since plugins aren't loaded yet, there may be some as-yet-unknown options; we ignore those for now, they'll be parsed later when we do real option parsing. :param argv: Command-line arguments passed in directly. :returns: Populated namespace and list of remaining argument strings. z --output-file)rÚparse_known_argsÚ output_fileÚextend)r)r-ÚargsÚrests r*Úparse_preliminary_optionsz%Application.parse_preliminary_optionsKsO€ð"Ô+×<Ò<¸TÑBÔB‰ ˆˆdð Ô ð =Ø �KŠK˜¨$Ô*:Ð;Ñ <Ô <Ð <Ø�TˆzÐr,cór—|jrdS|j€J‚|jjrdSt|jdk¦«S)zReturn the program exit code.éNr)r&rÚ exit_zeroÚintr$r(s r*Ú exit_codezApplication.exit_codecsH€à Ô $ð Ø�1ØŒ|Ð'Ð'Ð'Ø Œ<Ô !ð .Ø�1å�tÔ(¨1Ò,Ñ-Ô-Ð -r,ÚcfgÚcfg_dirÚenable_extensionsÚrequire_pluginscó”—tj||||¬¦«}tj||¦«}tj||¦«|_dS)znFind and load the plugins for this application. Set :attr:`plugins` based on loaded plugins. ©r<r=N)rÚparse_plugin_optionsÚ find_pluginsÚ load_pluginsr )r)r:r;r<r=ÚoptsÚraws r*rAzApplication.find_pluginsmsS€õÔ*Ø Ø Ø/Ø+ð  ñ ô ˆõ Ô! # tÑ,Ô,ˆÝÔ*¨3°Ñ5Ô5ˆŒ ˆ ˆ r,có—|j€J‚tjtj|j ¦«|jg¬¦«|_tj |j¦«|j  |j¦«dS)z;Register options provided by plugins to our option manager.N)ÚversionÚplugin_versionsÚparents) r rÚ OptionManagerÚflake8Ú __version__Ú versions_strrrrÚregister_default_optionsÚregister_pluginsr(s r*Úregister_plugin_optionsz#Application.register_plugin_options‚s€àŒ|Ð'Ð'Ð'å%Ô3ÝÔ&Ø œL×5Ò5Ñ7Ô7ØÔ+Ð,ð ñ ô ˆÔõ Ô(¨Ô)<Ñ=Ô=Ð=Ø Ô×,Ò,¨T¬\Ñ:Ô:Ð:Ð:Ð:r,cóœ—|j€J‚|j€J‚tj|j|||¦«|_|jjrWt jtj |j¦«}ttj |dd¬¦«¦«td¦«‚|jjr2t d¦«t#j¦«|_|j ¦«D]]}t+|jdd¦«}|€Œ ||j|j|jj¦«Œ>#t0$r||j¦«YŒZwxYwdS)z.Parse configuration files and the CLI options.NéT)ÚindentÚ sort_keysrzHthe --diff option is deprecated and will be removed in a future version.Ú parse_options)rr rÚaggregate_optionsrÚ bug_reportrÚ informationrJrKÚprintÚjsonÚdumpsÚ SystemExitÚdiffÚLOGÚwarningr Úparse_unified_diffr'Ú all_pluginsÚgetattrÚobjÚ filenamesÚ TypeError)r)r:r;r-ÚinfoÚloadedrTs r*Úparse_configuration_and_cliz'Application.parse_configuration_and_cliŽsy€ðÔ"Ð.Ð.Ð.ØŒ|Ð'Ð'Ð'Ý!Ô3Ø Ô Ø Ø Ø ñ  ô ˆŒ ð Œ<Ô "ð ÝÔ$¥VÔ%7¸¼ÑFÔFˆDÝ •$”*˜T¨!°tÐ<Ñ<Ô<Ñ =Ô =Ð =ݘQ‘-”-Ð à Œ<Ô ð :Ý �KŠKð"ñ ô ð õ %Ô7Ñ9Ô9ˆDÔ à”l×.Ò.Ñ0Ô0ð ,ð ,ˆFÝ# F¤J°ÀÑFÔFˆMØÐ$Øð ,Ø� ØÔ'Ø”LØ”LÔ*ñôððøõ ð ,ð ,ð ,Ø� ˜dœlÑ+Ô+Ð+Ð+Ð+ð ,øøøð ,ð ,sÄ !D,Ä,E ÅE có|—|j€J‚|j€J‚tj|jj|j¦«|_dS)z3Initialize a formatter based on the parsed options.N)r rrÚmakeÚ reportersr!r(s r*Úmake_formatterzApplication.make_formatter¹s<€àŒ|Ð'Ð'Ð'ØŒ|Ð'Ð'Ð'Ý!œ t¤|Ô'=¸t¼|ÑLÔLˆŒˆˆr,cóÌ—|j€J‚|j€J‚tj|j|j¦«|_|jjr!|j |j¦«dSdS)zInitialize our StyleGuide.N)r!rr ÚStyleGuideManagerr"r\Úadd_diff_rangesr'r(s r*Ú make_guidezApplication.make_guide¿ss€àŒ~Ð)Ð)Ð)ØŒ|Ð'Ð'Ð'Ý Ô2Ø ŒL˜$œ.ñ ô ˆŒ ð Œ<Ô ð 9Ø ŒJ× &Ò & tÔ'7Ñ 8Ô 8Ð 8Ð 8Ð 8ð 9ð 9r,có~—|j€J‚|j€J‚tj|j|jj¬¦«|_dS)z#Initialize our FileChecker Manager.N)r r )r"r r ÚManagerÚcheckersr#r(s r*Úmake_file_checker_managerz%Application.make_file_checker_managerÊsJ€àŒzÐ%Ð%Ð%ØŒ|Ð'Ð'Ð'Ý$+¤OØœ Ø”LÔ)ð% ñ% ô% ˆÔ!Ð!Ð!r,có—|j€J‚|j€J‚|jjrt|j¦«}|sdSnd}|j |¦« |j ¦«nN#tj$r<}tt|¦«¦«td¦«d|_ Yd}~nd}~wwxYwt  d¦«|j ¦«tj¦«|_dS)zÊRun the actual checks with the FileChecker Manager. This method encapsulates the logic to make a :class:`~flake8.checker.Manger` instance run the checks it is managing. Nz5Run flake8 with greater verbosity to see more detailsTzFinished running)rr#r\Úsortedr'ÚstartÚrunr ÚPluginExecutionFailedrXÚstrr&r]reÚstoprr)r)ÚfilesÚ plugin_faileds r*Ú run_checkszApplication.run_checksÓs$€ðŒ|Ð'Ð'Ð'ØÔ(Ð4Ð4Ð4Ø Œ<Ô ð Ý)/°Ô0@Ñ)AÔ)AˆEØð Ø�ð ðˆEà Ô!×'Ò'¨Ñ.Ô.Ð.ð -Ø Ô %× )Ò )Ñ +Ô +Ð +Ð +øÝÔ/ð -ð -ð -Ý •#�mÑ$Ô$Ñ %Ô %Ð %Ý ÐIÑ JÔ JÐ JØ(,ˆDÔ %Ð %Ð %Ð %Ð %Ð %øøøøð -øøøõ �ŠÐ#Ñ$Ô$Ð$Ø Ô!×&Ò&Ñ(Ô(Ð(Ýœ ™ œ ˆŒ ˆ ˆ sÁA/Á/B:Á>2B5Â5B:có†—|j€J‚|jjsdS|j€J‚|j€J‚|j|jz }d|fg}|j}t jdzD]I}|jj|}d|›d�}|||f¦«|›d�}||t||z ¦«f¦«ŒJ|j €J‚|j   |¦«dS)z9Aggregate, calculate, and report benchmarks for this run.Nzseconds elapsed)r{ztotal z processedz processed per second) rÚ benchmarkr#rrÚappendr ÚSTATISTIC_NAMESÚ statisticsr8r!Úshow_benchmarks)r)Ú time_elapsedr‚Ú add_statisticÚ statisticÚvalueÚtotal_descriptionÚper_second_descriptions r*Úreport_benchmarkszApplication.report_benchmarksîs€àŒ|Ð'Ð'Ð'ØŒ|Ô%ð Ø ˆFàÔ(Ð4Ð4Ð4ØŒ}Ð(Ð(Ð(Ø”} t¤Ñ6ˆ Ø(¨,Ð7Ð8ˆ Ø"Ô)ˆ Ý!Ô1°JÑ>ð Oð OˆIØÔ-Ô8¸ÔCˆEØ >¨Ð >Ð >Ð >Ð Ø ˆMÐ,¨eÐ4Ñ 5Ô 5Ð 5Ø(1Ð%HÐ%HÐ%HÐ "Ø ˆMÐ1µ3°u¸|Ñ7KÑ3LÔ3LÐMÑ NÔ NÐ NÐ NàŒ~Ð)Ð)Ð)Ø Œ×&Ò& zÑ2Ô2Ð2Ð2Ð2r,cóè—t d¦«|j€J‚|j ¦«}|\|_|_t d|j|j¦«dS)z¾Report all the errors found by flake8 3.0. This also updates the :attr:`result_count` attribute with the total number of errors, warnings, and other messages found. zReporting errorsNz.Found a total of %d violations and reported %d)r]rer#Úreportr%r$)r)Úresultss r*Ú report_errorszApplication.report_errorssy€õ �ŠÐ#Ñ$Ô$Ð$ØÔ(Ð4Ð4Ð4ØÔ+×2Ò2Ñ4Ô4ˆØ5<Ñ2ˆÔ Ô!2Ý �ŠØ <Ø Ô #Ø Ô ñ ô ð ð ð r,có —|j€J‚|jjsdS|j€J‚|j€J‚|j |jj¦«dS)z.Aggregate and report statistics from this run.N)rr‚r!r"Úshow_statisticsÚstatsr(s r*Úreport_statisticszApplication.report_statisticss_€àŒ|Ð'Ð'Ð'ØŒ|Ô&ð Ø ˆFàŒ~Ð)Ð)Ð)ØŒzÐ%Ð%Ð%Ø Œ×&Ò& t¤zÔ'7Ñ8Ô8Ð8Ð8Ð8r,cóÚ—| |¦«\}}tj|j|j¦«t j|j|j|j¬¦«\}}|  |||j |j ¬¦«|  ¦«|  |||¦«| ¦«| ¦«| ¦«dS)z—Initialize the application to be run. This finds the plugins, registers their options, and parses the command-line arguments. )rÚextraÚisolatedr?N)r4rJÚconfigure_loggingÚverboser0rÚ load_configÚ append_configr•rAr<r=rOrgrkrors)r)r-Ú prelim_optsÚremaining_argsr:r;s r*Ú initializezApplication.initializesù€ð'+×&DÒ&DÀTÑ&JÔ&JÑ#ˆ �^ÝÔ  Ô!4°kÔ6MÑNÔNÐNåÔ)ØÔ%ØÔ+Ø Ô)ð ñ ô ‰ ˆˆWð ×ÒØ Ø Ø)Ô;Ø'Ô7ð ñ ô ð ð ×$Ò$Ñ&Ô&Ð&Ø ×(Ò(¨¨g°~ÑFÔFÐFØ ×ÒÑÔÐØ �ŠÑÔÐØ ×&Ò&Ñ(Ô(Ð(Ð(Ð(r,cóô—|j€J‚|j ¦«| ¦«| ¦«| ¦«|j ¦«dS)z*Report errors, statistics, and benchmarks.N)r!rvrŽr’rŠrzr(s r*rŒzApplication.report:st€àŒ~Ð)Ð)Ð)Ø Œ×ÒÑÔÐØ ×ÒÑÔÐØ ×ÒÑ Ô Ð Ø ×ÒÑ Ô Ð Ø Œ×ÒÑÔÐÐÐr,có€—| |¦«| ¦«| ¦«dS)N)rœr}rŒ)r)r-s r*Ú_runzApplication._runCs5€Ø �Š˜ÑÔÐØ �ŠÑÔÐØ � Š ‰ Œ ˆ ˆ ˆ r,cóH— | |¦«|j€J‚|jjrt|j¦«dSdS#t $rU}td¦«t  d¦«t  |¦«d|_ Yd}~dSd}~wtj $rJ}td¦«t|¦«t  |¦«d|_ Yd}~dSd}~wtj $rd|_ td¦«YdSwxYw)zûRun our application. This method will also handle KeyboardInterrupt exceptions for the entirety of the flake8 application. If it sees a KeyboardInterrupt it will forcibly clean up the :class:`~flake8.checker.Manager`. Nz ... stoppedz#Caught keyboard interrupt from userTz6There was a critical error during execution of Flake8:z"... stopped while processing files) rŸrÚcountrXr$ÚKeyboardInterruptr]ÚcriticalÚ exceptionr&r ÚExecutionErrorÚ EarlyQuit)r)r-Úexcs r*rwzApplication.runHsV€ð )Ø �IŠI�d‰OŒOˆOð”<Ð+Ð+Ð+ØŒ|Ô!ð )Ý�dÔ'Ñ(Ô(Ð(Ð(Ð(ð )ð )øõ!ð -ð -ð -Ý �-Ñ Ô Ð Ý �LŠLÐ>Ñ ?Ô ?Ð ?Ý �MŠM˜#Ñ Ô Ð Ø(,ˆDÔ %Ð %Ð %Ð %Ð %Ð %Ð %øøøøÝÔ(ð -ð -ð -Ý ÐJÑ KÔ KÐ KÝ �#‰JŒJˆJÝ �MŠM˜#Ñ Ô Ð Ø(,ˆDÔ %Ð %Ð %Ð %Ð %Ð %Ð %øøøøÝÔ#ð 8ð 8ð 8Ø(,ˆDÔ %Ý Ð6Ñ 7Ô 7Ð 7Ð 7Ð 7Ð 7ð 8øøøs*‚AÁ D!ÁA BÂD!Â0?C5Ã5(D!Ä D!)rN)Ú__name__Ú __module__Ú __qualname__Ú__doc__r+rryrÚargparseÚ Namespacerr4r8r9Ú configparserÚRawConfigParserrrArOrgrkrorsr}rŠrŽr’rœrŒrŸrw©r,r*rr!s>€€€€€Ø0Ð0ð%3ð%3ð%3ð%3ðNؘS”Mðà ˆxÔ! 4¨¤9Ð,Ô -ððððð0.˜3ð.ð.ð.ð.ð6à Ô )ð6ðð6ð $ Cœ=ð 6ð " #œð 6ð ð6ð6ð6ð6ð* ;ð ;ð ;ð ;ð),à Ô )ð),ðð),ð�3Œið ),ð ð ),ð),ð),ð),ðVMðMðMðMð 9ð 9ð 9ð 9ð ð ð ð ð$ð$ð$ð$ð63ð3ð3ð3ð* ð ð ð ð 9ð9ð9ð9ð)˜x¨œ}ð)°ð)ð)ð)ð)ð:ðððð˜ #œð¨4ððððð )˜ œ ð)¨$ð)ð)ð)ð)ð)ð)r,r)#r«r¬r®rYÚloggingrÚtypingrrrrrrrJr r r r r Úflake8.formatting.baserÚ flake8.mainrrÚflake8.optionsrrrÚflake8.pluginsrrÚ getLoggerr¨r]rr°r,r*úr¸sêðØ9Ð9Ø€€€ØÐÐÐØ € € € Ø€€€Ø € € € ØÐÐÐÐÐØÐÐÐÐÐØÐÐÐÐÐØÐÐÐÐÐØÐÐÐÐÐØÐÐÐÐÐà € € € ØÐÐÐÐÐØÐÐÐÐÐØÐÐÐÐÐØÐÐÐÐÐØÐÐÐÐÐØ0Ð0Ð0Ð0Ð0Ð0ØÐÐÐÐÐØÐÐÐÐÐØ%Ð%Ð%Ð%Ð%Ð%Ø!Ð!Ð!Ð!Ð!Ð!Ø"Ð"Ð"Ð"Ð"Ð"Ø!Ð!Ð!Ð!Ð!Ð!Ø#Ð#Ð#Ð#Ð#Ð#ð€gÔ˜Ñ!Ô!€ð@)ð@)ð@)ð@)ð@)ñ@)ô@)ð@)ð@)ð@)r,