Z8 VddlmZddlZddlZddlmZmZmZddlm Z ddl m Z m Z m Z mZddlmZmZejdkrddlmZnddlmZerdd lmZddZGdde ZejejejejfZddZd dZdS)!) annotationsN) TYPE_CHECKINGAnycast)BaseTokenChecker) ParagraphSectionTableText) LinterStats diff_string))Literal)PyLintersectr statsr old_statsLinterStats | NonereturnNonec |jd}|dtt|dggd}dD]}t t d|}|j|}|rt |dz|z nd}|r |j|nd}|rt||nd} ||t|||dnd |rt|nd | r| nd gz }| t|d d dS) z5Calculate percentage of code / doc / comment / empty.totalrz lines have been analyzed )typenumber%previous difference)code docstringcommentemptydNz.2fNC)childrencolsrheaders) code_type_countinsertrr rrfloatr strappendr ) rrr total_lineslines node_typerpercentolddiff_strs m/builddir/build/BUILD/cloudlinux-venv-1.0.10/venv/lib/python3.11/site-packages/pylint/checkers/raw_metrics.pyreport_raw_statsr6sD '0KKK9dk#N#N#NOOPQQRRR = = =E>   !HI9UU %i06AK% $${22t6?Ii' 22T.1;;sE***t  JJ ' 3w    %CHHH *HHd    KKu1q999:::::cFeZdZUdZdZdZiZded<ddeffZ dd Z dd Z dS)RawMetricsCheckerzChecker that provides raw metrics instead of checking anything. Provides: * total number of lines * total number of code lines * total number of docstring lines * total number of comments lines * total number of empty lines metricsrmsgsRP0701z Raw metricsrrcB|jjdS)zInit statistics.N)linterrreset_code_count)selfs r5openzRawMetricsChecker.openEs **,,,,,r7tokenslist[tokenize.TokenInfo]cd}t|}|t|krgt||\}}}|jjjdxx|z cc<|jjj|xx|z cc<|t|kedSdS)z Update stats.rrN)listlenget_typer?rr*)rArCi lines_number line_types r5process_tokensz RawMetricsChecker.process_tokensIs f#f++oo)1&!)<)< &A|Y K  -g 6 6 6, F 6 6 6 K  -i 8 8 8L H 8 8 8#f++oooooor7N)rr)rCrDrr) __name__ __module__ __qualname____doc__nameoptionsr<__annotations__r6reportsrBrLr;r7r5r9r91sw DGDNNNN-)9:rqsz #""""" ++++++++++,,,,,,KKKKKKKKKKKK11111111v))))))%$$$$$$;;;;2IIIII(IIID  X_h&68JK////:777777r7