/opt/cloudlinux/venv/lib/python3.11/site-packages/pydocstyle/__pycache__
NameSizeModeActions
checker.cpython-311.pyc569620644editdlrm
cli.cpython-311.pyc53250644editdlrm
config.cpython-311.pyc397500644editdlrm
parser.cpython-311.pyc450020644editdlrm
utils.cpython-311.pyc23820644editdlrm
violations.cpython-311.pyc178770644editdlrm
wordlists.cpython-311.pyc24450644editdlrm
_version.cpython-311.pyc6380644editdlrm
__init__.cpython-311.pyc4960644editdlrm
__main__.cpython-311.pyc7230644editdlrm
Edit: /opt/cloudlinux/venv/lib/python3.11/site-packages/pydocstyle/__pycache__/checker.cpython-311.pyc (56962B)
§ HšžBW™U<ãóB—dZddlZddlZddlZddlmZddlmZm Z ddl m Z ddl m Z ddlmZdd lmZdd lmZmZmZmZmZmZmZmZmZmZmZmZdd lm Z m!Z!m"Z"m#Z#m$Z$dd l%m&Z&m'Z'm(Z(d Z)dd„Z*Gd„d¦«Z+e¦«Z, dd„Z-d„Z.d„Z/d„Z0d„Z1d„Z2dS)z5Parsed source code checkers for docstring violations.éN)Ú namedtuple)ÚchainÚ takewhile)Úcompile)Údedenté)Ú violations)ÚIllegalConfiguration) ÚAllErrorÚClassÚ DefinitionÚFunctionÚMethodÚModuleÚ NestedClassÚNestedFunctionÚPackageÚ ParseErrorÚParserÚStringIO)Úcommon_prefix_lengthÚis_blankÚlogÚpairwiseÚstrip_non_alphanumeric)ÚIMPERATIVE_BLACKLISTÚIMPERATIVE_VERBSÚstem)ÚcheckFc󇇗ˆˆfd„}|S)Ncó$•—‰|_‰|_|S©N)Ú _check_forÚ _terminal)ÚfÚkindÚterminals €€úd/builddir/build/BUILD/cloudlinux-venv-1.0.12/venv/lib/python3.11/site-packages/pydocstyle/checker.pyÚ decoratorzcheck_for..decorator(sø€ØˆŒ ؈Œ ؈ó©)r&r'r)s`` r(Ú check_forr,'s*øø€ððððððð Ðr*có|—eZdZdZdZdZed¦«Z d,d„Ze d„¦«Z e e d ¬ ¦«d „¦«Z e e d ¬ ¦«d „¦«Ze e ¦«d „¦«Ze e¦«d„¦«Ze e¦«d„¦«Ze e ¦«d„¦«Zed„¦«Ze e ¦«d„¦«Ze e ¦«d„¦«Ze e ¦«d„¦«Ze e ¦«d„¦«Ze e ¦«d„¦«Ze e ¦«d„¦«Zed„¦«Ze e ¦«d„¦«Ze e ¦«d„¦«Ze e¦«d„¦«Z e e¦«d„¦«Z!e e¦«d„¦«Z"e e¦«d„¦«Z#e e ¦«d„¦«Z$ed „¦«Z%e&d!„¦«Z'e&d"„¦«Z(e&d#„¦«Z)ed$„¦«Z*ed%„¦«Z+ed&„¦«Z,e&d'„¦«Z-ed(„¦«Z.d)„Z/d*„Z0e e ¦«d+„¦«Z1dS)-ÚConventionCheckerz´Checker for PEP 257, NumPy and Google conventions. D10x: Missing docstrings D20x: Whitespace issues D30x: Docstring formatting D40x: Docstring content issues ) z Short SummaryzExtended SummaryÚ ParametersÚReturnsÚYieldszOther ParametersÚRaisesúSee AlsoÚNotesÚ ReferencesÚExamplesÚ AttributesÚMethods)ÚArgsÚ ArgumentsÚ Attentionr7ÚCautionÚDangerÚErrorÚExampler6ÚHintÚ Importantz Keyword ArgszKeyword Argumentsr8ÚNoter4ÚReturnr0r2r5r3ÚTipÚTodoÚWarningÚWarningsÚWarnsÚYieldr1z"^\s*(\w+)\s*(\(.*?\))?\s*:\n?\s*.+NFc#ó6‡K—|€in||_||_tt|¦«|¦«}|D]ã}|jD]Ù} d} t || j¦«r¼|jdk} ‰duotˆfd„|j D¦«¦«} |s| s| s| |||j ¦«} nd} t| d¦«r| n| g}|D]Z} | �V|s| j |jvrF| j  d¦«}|\}}}|  ||¬¦«| V—| jrd} nŒ[| rnŒÚŒädS)NFÚallc3ón•K—|]/}t‰ |j¦«¦«dkV—Œ0dS)rN)ÚlenÚfindallÚname)Ú.0ÚdecÚignore_decoratorss €r(ú z1ConventionChecker.check_source..—s]øèè€ðKðKàõÐ-×5Ò5°c´hÑ?Ô?Ñ@Ô@À1ÒDðKðKðKðKðKðKr*Ú__iter__z. )Ú explanationÚ definitionT)Úproperty_decoratorsÚignore_self_only_initÚparserÚchecksÚ isinstancer#Úskipped_error_codesÚanyÚ decoratorsÚ docstringÚhasattrÚcodeÚ__doc__Ú partitionÚ set_contextr$)ÚselfÚsourceÚfilenamerRrWÚignore_inline_noqarXÚmodulerVÚ this_checkÚ terminateÚ skipping_allÚdecorator_skipÚerrorÚerrorsrcÚmessageÚ_rUs ` r(Ú check_sourcezConventionChecker.check_source„sÝøèè€ð&Ð-ˆBˆBÐ3Fð Ô ð&;ˆÔ"Ý•x Ñ'Ô'¨Ñ2Ô2ˆØ ð! ð! ˆJØ"œkð ð � Ø!� ݘj¨*Ô*?Ñ@Ô@ð&Ø#-Ô#AÀUÒ#J�LØ%6¸dÐ%Bð&ÅsðKðKðKðKà#-Ô#8ðKñKôKñHôH�Nð +ð%Ø2>ð%à,ð%ð!+  Ø  *¨jÔ.Bñ!ô!˜˜ð!%˜Ý&-¨e°ZÑ&@Ô&@ÐM˜U˜UÀuÀg�FØ!'ð &ð &˜Ø Ð,Ø.ð-à$œz°Ô1OÐOÐOà(2Ô(:×(DÒ(DÀUÑ(KÔ(K˜IØ6?Ñ3˜G Q¨ Ø!×-Ò-Ø,7ÀJð.ñôðð#(˜K˜K˜KØ)Ô3ð&Ø,0  Ø % øØðØ�EðøðA! ð! r*có–—d„tt|¦«¦« ¦«D¦«}t|d„¬¦«S)Ncó2—g|]}t|d¦«¯|‘ŒS)r#)r`)rPrjs r(ú z,ConventionChecker.checks..·s8€ð ð ð àÝ�z <Ñ0Ô0ð Ø ð ð ð r*có—|j Sr")r$)rjs r(úz*ConventionChecker.checks..¼s €°jÔ6JÐ2J€r*©Úkey)ÚvarsÚtypeÚvaluesÚsorted)rerKs r(rZzConventionChecker.checksµsS€ð ð å"¥4¨¡:¤:Ñ.Ô.×5Ò5Ñ7Ô7ð ñ ô ˆõ �cÐJÐJÐKÑKÔKÐKr*T)r'có6‡‡—ˆˆfd„}|sŒ‰jr‡ttjttjt tjt|ttj tˆfd„ttj i}|t‰¦«¦«SdSdS)a÷D10{0,1,2,3}: Public definitions should have docstrings. All modules should normally have docstrings. [...] all functions and classes exported by a module should also have docstrings. Public methods (including the __init__ constructor) should also have docstrings. Note: Public (exported) definitions are either those with names listed in __all__ variable (if present), or those that do not start with a single underscore. cóæ•—‰jrtj¦«S‰jr4‰jrt ‰j¦«dkrdStj¦«S‰jstj ¦«SdS)Nr) Úis_magicr ÚD105Úis_initrXrMÚ param_namesÚD107Ú is_overloadÚD102)rVres€€r(Úmethod_violationzCConventionChecker.check_docstring_missing..method_violationÍsyø€ØÔ"ð )Ý!”Ñ(Ô(Ð(ØÔ!ð )àÔ.ð å˜JÔ2Ñ3Ô3°qÒ8Ð8à˜4Ý!”Ñ(Ô(Ð(ØÔ)ð )Ý!”Ñ(Ô(Ð(Ø�4r*có<•—‰jstj¦«ndSr")r…r ÚD103)rVs€r(rwz;ConventionChecker.check_docstring_missing..ãs#ø€Ø%Ô1ð�JœOÑ-Ô-Ð-àðr*N)Ú is_publicrr ÚD100r ÚD101rÚD106rrr‰rrÚD104r{)rerVr_r‡Úcodess`` r(Úcheck_docstring_missingz)ConventionChecker.check_docstring_missing¾s°øø€ð ð ð ð ð ð ðð -˜ZÔ1ð -å� œÝ•z”Ý�Zœ_ÝÐ(Ý¥ ¤Ýððððõ�œð ˆEð+�5�˜jÑ)Ô)Ô*Ñ,Ô,Ð ,ð -ð -ð -ð -r*cóv—|r4ttj|¦«¦«rtj¦«SdSdS)z¶D419: Docstring is empty. If the user provided a docstring but it was empty, it is like they never provided one. NOTE: This used to report as D10X errors. N)rÚastÚ literal_evalr ÚD419©rerVr_s r(Úcheck_docstring_emptyz'ConventionChecker.check_docstring_emptyësH€ð ð %�¥#Ô"2°9Ñ"=Ô"=Ñ>Ô>ð %Ý”?Ñ$Ô$Ð $ð %ð %ð %ð %r*có—|rztj|¦« d¦«}t|¦«dkrBt d„|D¦«¦«}|dkr%t jt|¦«¦«SdSdSdS)zºD200: One-liner docstrings should fit on one line with quotes. The closing quotes are on the same line as the opening quotes. This looks better for one-liners. ú rc3ó8K—|]}t|¦«°dV—ŒdS)rN©r©rPÚls r(rSz5ConventionChecker.check_one_liners..s-èè€Ð%JÐ%J¨A½hÀq¹k¼kÐ%J aÐ%JÐ%JÐ%JÐ%JÐ%JÐ%Jr*N)r’r“ÚsplitrMÚsumr ÚD200)rerVr_ÚlinesÚnon_empty_liness r(Úcheck_one_linersz"ConventionChecker.check_one_liners÷s‹€ð ð 7ÝÔ$ YÑ/Ô/×5Ò5°dÑ;Ô;ˆEÝ�5‰zŒz˜AŠ~ˆ~Ý"%Ð%JÐ%J°Ð%JÑ%JÔ%JÑ"JÔ"J�Ø" aÒ'Ð'Ý%œ?­3¨u©:¬:Ñ6Ô6Ð6ð  7ð 7àˆ~à'Ð'r*c#óÐK—|�rZ|j |¦«\}}}ttt| d¦«dd…¦«¦«}ttt| d¦«dd…¦«¦«}t ttt|¦«¦«¦«}t tt|¦«¦«} |dkrtj |¦«V—t|¦«sH| dkrD| dkr"td¦« |¦«stj| ¦«V—dSdSdSdSdS)zÏD20{1,2}: No blank lines allowed around function/method docstring. There's no blank line either before or after the docstring unless directly followed by an inner function or class. r˜Néÿÿÿÿrrz"\s+(?:(?:class|def|async def)\s|@))rfrcÚlistÚmaprr�ržrÚboolÚreversedr ÚD201rKÚreÚmatchÚD202) reÚfunctionr_ÚbeforerqÚafterÚ blanks_beforeÚ blanks_afterÚblanks_before_countÚblanks_after_counts r(Úcheck_no_blank_beforez'ConventionChecker.check_no_blank_beforesfèè€ð ñ >Ø'œ×8Ò8¸ÑCÔCÑ ˆF�A�uÝ ¥¥X¨v¯|ª|¸DÑ/AÔ/AÀ#À2À#Ô/FÑ!GÔ!GÑHÔHˆMÝ¥¥H¨e¯kªk¸$Ñ.?Ô.?ÀÀÀÔ.CÑ DÔ DÑEÔEˆLÝ"%¥iµµh¸}Ñ6MÔ6MÑ&NÔ&NÑ"OÔ"OÐ Ý!$¥Y­t°\Ñ%BÔ%BÑ!CÔ!CÐ Ø" aÒ'Ð'Ý ”oÐ&9Ñ:Ô:Ð:Ð:Ð:Ý�|Ñ$Ô$ð >Ð);¸qÒ)@Ð)@ð '¨!Ò+Ð+ÝÐ@ÑAÔA×GÒGÈÑNÔNð,õ%œ/Ð*<Ñ=Ô=Ð=Ð=Ð=Ð=Ð=ð! >ð >ð >ð >Ð)@Ð)@ð ,Ð+r*c#ó´K—|�rN|j |¦«\}}}ttt| d¦«dd…¦«¦«}ttt| d¦«dd…¦«¦«}t ttt|¦«¦«¦«}t tt|¦«¦«} |dkrtj |¦«V—|dkrtj |¦«V—t|¦«s | dkrtj| ¦«V—dSdSdSdS)aÕD20{3,4}: Class docstring should have 1 blank line around them. Insert a blank line before and after all docstrings (one-line or multi-line) that document a class -- generally speaking, the class's methods are separated from each other by a single blank line, and the docstring needs to be offset from the first method by a blank line; for symmetry, put a blank line between the class header and the docstring. r˜Nr¤rr)rfrcr¥r¦rr�ržrr§r¨r ÚD211ÚD203rKÚD204) reÚclass_r_r®rqr¯r°r±r²r³s r(Úcheck_blank_before_after_classz0ConventionChecker.check_blank_before_after_classsRèè€ð( ñ :Ø%œ}×6Ò6°yÑAÔAÑ ˆF�A�uÝ ¥¥X¨v¯|ª|¸DÑ/AÔ/AÀ#À2À#Ô/FÑ!GÔ!GÑHÔHˆMÝ¥¥H¨e¯kªk¸$Ñ.?Ô.?ÀÀÀÔ.CÑ DÔ DÑEÔEˆLÝ"%¥iµµh¸}Ñ6MÔ6MÑ&NÔ&NÑ"OÔ"OÐ Ý!$¥Y­t°\Ñ%BÔ%BÑ!CÔ!CÐ Ø" aÒ'Ð'Ý ”oÐ&9Ñ:Ô:Ð:Ð:Ð:Ø" aÒ'Ð'Ý ”oÐ&9Ñ:Ô:Ð:Ð:Ð:Ý�|Ñ$Ô$ð :Ð);¸qÒ)@Ð)@Ý ”oÐ&8Ñ9Ô9Ð9Ð9Ð9Ð9Ð9ð :ð :ð :ð :Ð)@Ð)@r*cóv—|r²tj|¦« ¦« d¦«}t |¦«dkrht t t|dd…¦«¦«}ttt|¦«¦«}|dkrtj |¦«SdSdSdS)a©D205: Put one blank line between summary line and description. Multi-line docstrings consist of a summary line just like a one-line docstring, followed by a blank line, followed by a more elaborate description. The summary line may be used by automatic indexing tools; it is important that it fits on one line and is separated from the rest of the docstring by a blank line. r˜rN) r’r“Ústripr�rMr¥r¦rržrr§r ÚD205)rerVr_r Úpost_summary_blanksÚ blanks_counts r(Úcheck_blank_after_summaryz+ConventionChecker.check_blank_after_summary@s¯€ð ð 9ÝÔ$ YÑ/Ô/×5Ò5Ñ7Ô7×=Ò=¸dÑCÔCˆEÝ�5‰zŒz˜AŠ~ˆ~Ý&*­3­x¸¸q¸r¸r¼Ñ+CÔ+CÑ&DÔ&DÐ#Ý"¥9­TÐ3FÑ#GÔ#GÑHÔH� Ø 1Ò$Ð$Ý%œ?¨<Ñ8Ô8Ð8ð  9ð 9àˆ~ð%Ð$r*cót—|j |¦«\}}}| d¦«\}}}|S)z9Return the indentation of the docstring's opening quotes.r˜)rfrcÚ rpartition)rVr_Úbefore_docstringrqÚindents r(Ú_get_docstring_indentz'ConventionChecker._get_docstring_indentSs@€ð",Ô!2×!<Ò!<¸YÑ!GÔ!GÑИ!˜QØ'×2Ò2°4Ñ8Ô8‰ ˆˆ1ˆf؈ r*c#ó¾‡K—|�rP| ||¦«}| d¦«Št‰¦«dk�rˆfd„t‰¦«D¦«Šd„‰D¦«}t d¦«t d |¦«|z¦«krt j¦«V—t|¦«dkrt|dd…¦«|kst|¦«d kr!|d|krt j ¦«V—t|¦«d kr.t|¦«|krt j ¦«V—dSdSdSdSdS) z§D20{6,7,8}: The entire docstring should be indented same as code. The entire docstring is indented the same as the quotes at its first line. r˜rcóZ•—g|]'\}}|¯‰|dz  d¦«°%|‘Œ(S)rú\)Úendswith)rPÚiÚliner s €r(ruz2ConventionChecker.check_indent..gsSø€ðððᘘ4Øðð"' q¨1¡u¤×!6Ò!6°tÑ!<Ô!<ðØðððr*cóJ—g|] }t|¦«°t|¦«‘Œ!Sr+)rÚ leading_spacer›s r(ruz2ConventionChecker.check_indent..ls+€ÐNÐNÐN°Å(È1Á+Ä+ÐN�=¨Ñ+Ô+ÐNÐNÐNr*z ÚNr¤r) rÅr�rMÚ enumerateÚsetÚjoinr ÚD206ÚminÚD208ÚD207)rerVr_rÄÚindentsr s @r(Ú check_indentzConventionChecker.check_indentZs‚øèè€ð ñ ,Ø×/Ò/° ¸IÑFÔFˆFØ—O’O DÑ)Ô)ˆEÝ�5‰zŒz˜AŠ~‰~ððððå#,¨UÑ#3Ô#3ðñô�ð OÐN°UÐNÑNÔN�Ý�u‘:”:¥ R§W¢W¨WÑ%5Ô%5¸Ñ%>Ñ!?Ô!?Ò?Ð?Ý$œ/Ñ+Ô+Ð+Ð+Ð+ݘ‘L”L 1Ò$Ð$­¨W°S°b°S¬\Ñ):Ô):¸VÒ)CÐ)Cݘ‘L”L 1Ò$Ð$¨°¬°vÒ)=Ð)=å$œ/Ñ+Ô+Ð+Ð+Ð+Ý�w‘<”< !Ò#Ð#­¨G© ¬ °vÒ(=Ð(=Ý$œ/Ñ+Ô+Ð+Ð+Ð+Ð+Ð+ð% ,ð ,ðˆ~ð$Ð#Ð(=Ð(=r*có—|r†d„tj|¦« d¦«D¦«}t|¦«dkrD| d¦«d ¦«dvrt j¦«SdSdSdS)z¸D209: Put multi-line docstring closing quotes on separate line. Unless the entire docstring fits on a line, place the closing quotes on a line by themselves. có0—g|]}t|¦«°|‘ŒSr+ršr›s r(ruzHConventionChecker.check_newline_after_last_paragraph..s4€ðððàÝ ‘{”{ðØðððr*r˜rr¤)ú"""ú'''N)r’r“r�rMr¼r ÚD209©rerVr_r s r(Ú"check_newline_after_last_paragraphz4ConventionChecker.check_newline_after_last_paragraphvs¡€ð ð -ððåÔ)¨)Ñ4Ô4×:Ò:¸4Ñ@Ô@ðñôˆEõ �5‰zŒz˜AŠ~ˆ~Ø—?’? 4Ñ(Ô(¨Ô,×2Ò2Ñ4Ô4¸NÐJÐJÝ%œ?Ñ,Ô,Ð,ð -ð -ð ˆ~ØJÐJr*có—|rƒtj|¦« d¦«}|d d¦«s.t |¦«dkr0|d d¦«rt j¦«SdSdSdS)z8D210: No whitespaces allowed surrounding docstring text.r˜rú rN)r’r“r�Ú startswithrMrÉr ÚD210rÝs r(Úcheck_surrounding_whitespacesz/ConventionChecker.check_surrounding_whitespacesˆs’€ð ð )ÝÔ$ YÑ/Ô/×5Ò5°dÑ;Ô;ˆEà�a”×#Ò# CÑ(Ô(ð )å�u‘:”: ’?�?ؘ!”H×%Ò% cÑ*Ô*ð#õ"”Ñ(Ô(Ð(ð )ð )ð#�?�?�?r*có\—|r§gd¢}tj|¦« d¦«}t|¦«dkrk| d¦«d ¦« ¦«}||vrt j¦«St j¦«SdSdS)zÀD21{2,3}: Multi-line docstring summary style check. A multi-line docstring summary should start either at the first, or separately at the second line of a docstring. )rÚrÛzu"""zu'''zr"""zr'''zur"""zur'''r˜rrN) r’r“r�rMr¼Úlowerr ÚD212ÚD213)rerVr_Ú start_tripler Úfirsts r(Úcheck_multi_line_summary_startz0ConventionChecker.check_multi_line_summary_start”s²€ð ð -ð ð ð ˆLõÔ$ YÑ/Ô/×5Ò5°dÑ;Ô;ˆEÝ�5‰zŒz˜AŠ~ˆ~Ø!Ÿš¨Ñ-Ô-¨aÔ0×6Ò6Ñ8Ô8×>Ò>Ñ@Ô@�ؘLÐ(Ð(Ý%œ?Ñ,Ô,Ð,å%œ?Ñ,Ô,Ð,ð% -ð -ðˆ~r*có8—|r•dtj|¦«vrtd¦«}ntd¦«}| |¦«sMtd¦«}| |¦« d¦«}t j|¦«SdSdS)a˜D300: Use """triple double quotes""". For consistency, always use """triple double quotes""" around docstrings. Use r"""raw triple double quotes""" if you use any backslashes in your docstrings. For Unicode docstrings, use u"""Unicode triple-quoted strings""". Note: Exception to this is made if the docstring contains """ quotes in its body. rÚz[uU]?[rR]?'''[^'].*z[uU]?[rR]?"""[^"].*z[uU]?[rR]?("+|'+).*rN)r’r“rªr«Úgroupr ÚD300)rerVr_ÚregexÚillegal_matcherÚillegal_quotess r(Úcheck_triple_double_quotesz,ConventionChecker.check_triple_double_quotes°s©€ð ð 7Ø�Ô(¨Ñ3Ô3Ð3Ð3õÐ1Ñ2Ô2��åÐ1Ñ2Ô2�à—;’;˜yÑ)Ô)ð 7Ý"$Ð%?Ñ"@Ô"@�Ø!0×!6Ò!6°yÑ!AÔ!A×!GÒ!GÈÑ!JÔ!J�Ý!” ~Ñ6Ô6Ð6ð 7ð 7ð 7ð 7r*có¦—|rJtd¦« |¦«r*| d¦«stj¦«SdSdSdS)aXD301: Use r""" if any backslashes in a docstring. Use r"""raw triple double quotes""" if you use any backslashes (\) in your docstrings. Exceptions are backslashes for line-continuation and unicode escape sequences \N... and \u... These are considered intended unescaped content in docstrings. z \\[^\nuN])ÚrÚurN)rªÚsearchrár ÚD301r•s r(Úcheck_backslashesz#ConventionChecker.check_backslashesËsp€ð ð %å�<Ñ Ô ×'Ò'¨ Ñ2Ô2ð %ð×(Ò(¨Ñ5Ô5ð %õ ”?Ñ$Ô$Ð $ð  %ð %ð %ð %ð %ð %r*cóØ—|retj|¦« ¦« d¦«d}| |¦«s||d¦«SdSdS)aFirst line ends with one of `chars`. First line of the docstring should end with one of the characters in `chars`. `chars` supports either a `str` or an `Iterable[str]`. If the condition is evaluated to be false, it raises `violation`. r˜rr¤N)r’r“r¼r�rÉ)r_ÚcharsÚ violationÚ summary_lines r(Ú_check_ends_withz"ConventionChecker._check_ends_withàsz€ð ð 3ÝÔ+¨IÑ6Ô6×<Ò<Ñ>Ô>×DÒDÀTÑJÔJÈ1ÔMˆLØ×(Ò(¨Ñ/Ô/ð 3Ø �y ¨bÔ!1Ñ2Ô2Ð2ð 3ð 3ð 3ð 3r*cóD—| |dtj¦«S)z}D400: First line should end with a period. The [first line of a] docstring is a phrase ending in a period. ú.)rür ÚD400r•s r(Úcheck_ends_with_periodz(ConventionChecker.check_ends_with_periodîs€ð×$Ò$ Y°µZ´_ÑEÔEÐEr*cóD—| |dtj¦«S)z¨D415: should end with proper punctuation. The [first line of a] docstring is a phrase ending in a period, question mark, or exclamation point )rþú!ú?)rür ÚD415r•s r(Úcheck_ends_with_punctuationz-ConventionChecker.check_ends_with_punctuation÷s%€ð×$Ò$Ø �­ ¬ñ ô ð r*có(‡—|�r|jsþ| |j¦«sætj|¦« ¦«}|rÀt | ¦«d¦«}| ¦«Š‰tvrtj |¦«Stj t‰¦«¦«}|rG‰|vrEt|ˆfd„¬¦«}tj| ¦«|¦«SdSdSdSdSdSdS)aD401: First line should be in imperative mood: 'Do', not 'Does'. [Docstring] prescribes the function or method's effect as a command: ("Do this", "Return that"), not as a description; e.g. don't write "Returns the pathname ...". rcó$•—t‰|¦«Sr")r)r%Ú check_words €r(rwz9ConventionChecker.check_imperative_mood..sø€Õ&:¸:ÀqÑ&IÔ&I€r*rxN)Úis_testÚ is_propertyrWr’r“r¼rr�rårr ÚD401brÚgetrÚmaxÚD401Ú capitalize)rer­r_ÚstrippedÚ first_wordÚ correct_formsÚbestrs @r(Úcheck_imperative_moodz'ConventionChecker.check_imperative_moodsUø€ð ñ JàÔ$ð Jð×(Ò(¨Ô)AÑBÔBð Jõ Ô'¨ Ñ2Ô2×8Ò8Ñ:Ô:ˆHØð JÝ3°H·N²NÑ4DÔ4DÀQÔ4GÑHÔH� Ø'×-Ò-Ñ/Ô/� àÕ!5Ð5Ð5Ý%Ô+¨JÑ7Ô7Ð7å 0Ô 4µT¸*Ñ5EÔ5EÑ FÔ F� à ðJ Z°}Ð%DÐ%DÝØ%ØIÐIÐIÐIðñô�Dõ&œ?¨4¯?ª?Ñ+<Ô+<¸jÑIÔIÐIð) Jð Jð Jð Jð Jð Jð  Jð JðJðJÐ%DÐ%Dr*cóò—|rrtj|¦« ¦« d¦«d}|jdz| dd¦«vrt j¦«SdSdS)zåD402: First line should not be function's or method's "signature". The one-line docstring should NOT be a "signature" reiterating the function/method parameters (which can be obtained by introspection). r˜rú(ràrÎN)r’r“r¼r�rOÚreplacer ÚD402)rer­r_Ú first_lines r(Úcheck_no_signaturez$ConventionChecker.check_no_signature"s{€ð ð )ÝÔ)¨)Ñ4Ô4×:Ò:Ñ<Ô<×BÒBÀ4ÑHÔHÈÔKˆJØŒ}˜sÑ" j×&8Ò&8¸¸bÑ&AÔ&AÐAÐAÝ!”Ñ(Ô(Ð(ð )ð )àAÐAr*cóP—|r¡tj|¦« ¦«d}|| ¦«krdS|D]}|tjvr |dkrdSŒ|| ¦«kr)tj| ¦«|¦«SdSdS)z•D403: First word of the first line should be properly capitalized. The [first line of a] docstring is a phrase ending in a period. rNú') r’r“r�ÚupperÚstringÚ ascii_lettersrr ÚD403)rer­r_rÚchars r(Úcheck_capitalizedz#ConventionChecker.check_capitalized/sÀ€ð ð LÝÔ)¨)Ñ4Ô4×:Ò:Ñ<Ô<¸QÔ?ˆJؘZ×-Ò-Ñ/Ô/Ò/Ð/Ø�Ø"ð ð �Ø�vÔ3Ð3Ð3¸Àº ¸ Ø�F�FøØ˜Z×2Ò2Ñ4Ô4Ò4Ð4Ý!” z×'<Ò'<Ñ'>Ô'>À ÑKÔKÐKð Lð Lð5Ð4r*cóB—|r|jrtj¦«SdSdS)a"D418: Function decorated with @overload shouldn't contain a docstring. Functions that are decorated with @overload are definitions, and are for the benefit of the type checker only, since they will be overwritten by the non-@overload-decorated definition. N)r…r ÚD418)rer­r_s r(Úcheck_if_neededz!ConventionChecker.check_if_needed@s8€ð ð %˜Ô-ð %Ý”?Ñ$Ô$Ð $ð %ð %ð %ð %r*có—|sdStj|¦« ¦«}|sdSt| ¦«d¦«}| ¦«dkrt j¦«SdS)zÐD404: First word of the docstring should not be `This`. Docstrings should use short, simple language. They should not begin with "This class is [..]" or "This module contains [..]". NrÚthis)r’r“r¼rr�rår ÚD404)rer­r_rrs r(Úcheck_starts_with_thisz(ConventionChecker.check_starts_with_thisLsƒ€ðð Ø ˆFåÔ# IÑ.Ô.×4Ò4Ñ6Ô6ˆØð Ø ˆFå+¨H¯NªNÑ,<Ô,<¸QÔ,?Ñ@Ô@ˆ Ø × Ò Ñ Ô  Ò 'Ð 'Ý”?Ñ$Ô$Ð $ð (Ð 'r*cóN‡—‰j ¦« ‰j ¦«¦« ¦«}|dk}gd¢}t ˆfd„|D¦«¦«}t |¦«p|}|pt ‰j¦«}|o|S)aCheck if the suspected context is really a section header. Lets have a look at the following example docstring: '''Title. Some part of the docstring that specifies what the function returns. <----- Not a real section name. It has a suffix and the previous line is not empty and does not end with a punctuation sign. This is another line in the docstring. It describes stuff, but we forgot to add a blank line between it and the section name. Parameters <-- A real section name. The previous line ends with ---------- a period, therefore it is in a new grammatical context. param : int examples : list <------- Not a section - previous line doesn't end A list of examples. with punctuation. notes : list <---------- Not a section - there's text after the A list of notes. colon. Notes: <--- Suspected as a context because there's a suffix to the ----- section, but it's a colon so it's probably a mistake. Bla. ''' To make sure this is really a section we check these conditions: * There's no suffix to the section name or it's just a colon AND * The previous line is empty OR it ends with punctuation. If one of the conditions is true, we will consider the line as a section name. ú:) ú,ú;rþú-rÈú/ú]Ú}ú)c3óp•K—|]0}‰j ¦« |¦«V—Œ1dSr")Ú previous_liner¼rÉ)rPÚxÚcontexts €r(rSz:ConventionChecker._is_docstring_section..ŠsQøèè€ð. ð. Ø:;ˆGÔ !× 'Ò 'Ñ )Ô )× 2Ò 2°1Ñ 5Ô 5ð. ð. ð. ð. ð. ð. r*)rËr¼ÚlstripÚ section_namer]rr4)r6Úsection_name_suffixÚsection_suffix_is_only_colonÚ punctuationÚprev_line_ends_with_punctuationÚ#this_line_looks_like_a_section_nameÚ%prev_line_looks_like_end_of_paragraphs` r(Ú_is_docstring_sectionz'ConventionChecker._is_docstring_section_sØø€ðJ ŒL× Ò Ñ Ô × 'Ò '¨Ô(<×(BÒ(BÑ(DÔ(DÑ EÔ E× KÒ KÑ MÔ Mð ð(;¸cÒ'AÐ$àDÐDÐDˆ Ý*-ð. ð. ð. ð. Ø?Jð. ñ. ô. ñ+ ô+ Ð'õ Ð(Ñ )Ô )Ð IÐ-Ið ,ð ,Ð N­x¸Ô8MÑ/NÔ/Nð .ð 0ð 6Ø5ð r*c#ójK—d}|jD]}t|¦«sn4|dz }Œtj|¦«V—tj|¦«V—dS|j|}d t | ¦«¦«¦«dk}|s6tj|¦«V—|dkrtj|¦«V—dSdS|dkrtj |¦«V—| ¦«dt|¦«zkrDtj t|¦«|t| ¦«¦«¦«V—t|¦«|krtj |¦«V—|dz}|t|j¦«kr|j|} t| ¦«ra|j|d…} td | ¦«¦«stj|¦«V—dStj|¦«V—dSdStj|¦«V—dS)a_D4{07,08,09,12,14}, D215: Section underline checks. Check for correct formatting for docstring sections. Checks that: * The line that follows the section name contains dashes (D40{7,8}). * The amount of dashes is equal to the length of the section name (D409). * The section's content does not begin in the line that follows the section header (D412). * The section has no content (D414). * The indentation of the dashed line is equal to the docstring's indentation (D215). rrNrÎr.)Úfollowing_linesrr ÚD407ÚD414rÑrÐr¼ÚD412ÚD408rMÚD409rÍÚD215) Úclsr8r6Ú indentationÚblank_lines_after_headerrËÚnon_empty_lineÚdash_line_foundÚline_after_dashes_indexÚline_after_dashesÚ rest_of_liness r(Ú#_check_blanks_and_section_underlinez5ConventionChecker._check_blanks_and_section_underline›s‰èè€ð"$%Ð àÔ+ð ð ˆDݘD‘>”>ð Ø�Ø $¨Ñ )Ð $Ð $õ”/ ,Ñ/Ô/Ð /Ð /Ð /Ý”/ ,Ñ/Ô/Ð /Ð /Ð /Ø ˆFà Ô0Ð1IÔJˆØŸ'š'¥# n×&:Ò&:Ñ&<Ô&<Ñ"=Ô"=Ñ>Ô>À#ÒEˆàð" 4Ý”/ ,Ñ/Ô/Ð /Ð /Ð /Ø'¨!Ò+Ð+Ý ”o lÑ3Ô3Ð3Ð3Ð3Ð3Ð3ð,Ð+ð(¨!Ò+Ð+Ý ”o lÑ3Ô3Ð3Ð3Ð3à×#Ò#Ñ%Ô%¨­s°<Ñ/@Ô/@Ñ)@Ò@Ð@Ý ”oݘ Ñ%Ô%Ø Ý˜×,Ò,Ñ.Ô.Ñ/Ô/ñôðððõ ˜^Ñ,Ô,¨{Ò:Ð:Ý ”o lÑ3Ô3Ð3Ð3Ð3à&>ÀÑ&BÐ #ð'­¨WÔ-DÑ)EÔ)EÒEÐEØ$+Ô$;Ø+ô%Ð!õÐ-Ñ.Ô.ð<Ø$+Ô$;Ø/Ð0Ð0ô%�Mõ$ B§G¢G¨MÑ$:Ô$:Ñ;Ô;ð<Ý(œo¨lÑ;Ô;Ð;Ð;Ð;Ð;Ð;å(œo¨lÑ;Ô;Ð;Ð;Ð;Ð;Ð;ð<ð<õ!”o lÑ3Ô3Ð3Ð3Ð3Ð3Ð3r*c#óNK—| ||¦«}|j ¦«}|j|vr ||vrtj||j¦«V—t |j¦«|krtj|¦«V—|jrt|jd¦«s4|j rtj |¦«V—ntj |¦«V—t|j ¦«stj|¦«V—| |||¦«Ed{V—†dS)a°D4{05,10,11,13}, D214: Section name checks. Check for valid section names. Checks that: * The section name is properly capitalized (D405). * The section is not over-indented (D214). * There's a blank line after the section (D410, D413). * There's a blank line before the section (D411). Also yields all the errors from `_check_blanks_and_section_underline`. r¤N)rÅr8Útitler ÚD405rÍrËÚD214rArÚis_last_sectionÚD413ÚD410r4ÚD411rP)rHr_rVr6Úvalid_section_namesrIÚcapitalized_sections r(Ú_check_common_sectionz'ConventionChecker._check_common_sectionßsmèè€ð×/Ò/° ¸IÑFÔFˆ Ø%Ô2×8Ò8Ñ:Ô:Ðð Ô Ð(;Ð ;Ð ;Ø#Ð':Ð:Ð:å”/Ð"5°wÔ7KÑLÔLÐ LÐ LÐ Lå ˜œÑ &Ô &¨Ò 4Ð 4Ý”/Ð"5Ñ6Ô6Ð 6Ð 6Ð 6àÔ&ð ;­hØ Ô # BÔ 'ñ/ ô/ ð ;ðÔ&ð ;Ý ”oÐ&9Ñ:Ô:Ð:Ð:Ð:Ð:å ”oÐ&9Ñ:Ô:Ð:Ð:Ð:å˜Ô-Ñ.Ô.ð 7Ý”/Ð"5Ñ6Ô6Ð 6Ð 6Ð 6à×:Ò:Ø  ¨+ñ ô ð ð ð ð ð ð ð ð ð r*c#óºK—| ||¦«}|j ¦«}| ||||j¦«Ed{V—†|j ¦« |j¦«}|r.tj ||j ¦«¦«V—|dkr|  |||¦«Ed{V—†dSdS)a*D406: NumPy-style section name checks. Check for valid section names. Checks that: * The section name has no superfluous suffix to it (D406). Additionally, also yield all violations from `_check_common_section` which are style-agnostic section checks. Nr/) rÅr8rRr[ÚNUMPY_SECTION_NAMESrËr¼r7r ÚD406Ú_check_parameters_section)rHr_rVr6rIrZÚsuffixs r(Ú_check_numpy_sectionz&ConventionChecker._check_numpy_sections$èè€ð×/Ò/° ¸IÑFÔFˆ Ø%Ô2×8Ò8Ñ:Ô:ÐØ×,Ò,Ø �z 7¨CÔ,Cñ ô ð ð ð ð ð ð ð ð”×#Ò#Ñ%Ô%×,Ò,¨WÔ-AÑBÔBˆØ ð MÝ”/Ð"5°w´|×7IÒ7IÑ7KÔ7KÑLÔLÐ LÐ LÐ Là  ,Ò .Ð .Ø×4Ò4ؘ: wñôð ð ð ð ð ð ð ð ð ð /Ð .r*c#óöK—t¦«}t|j¦«}d |j¦« dd¦« d¦«}t||dd…¦«D]Ù\}}t|¦«|krÁtt|¦«¦«tt|¦«¦«kr‡|  ¦«rsd|vr| dd¦«\}} n|  ¦«}| d¦«} | D])} |  |   ¦«¦«Œ*ŒÚt  ||¦«Ed{V—†dS)zõD417: `Parameters` section check for numpy style. Check for a valid `Parameters` section. Checks that: * The section documents all function arguments (D417) except `self` or `cls` if it is a method. r˜z\ rÎrNr+r,) rÐrÍrËrÑrArr�ÚziprMr¼Úaddr.Ú_check_missing_args) r_rVr6Údocstring_argsÚsection_level_indentÚcontentÚ current_lineÚ next_lineÚ parametersÚparameter_typeÚparameter_listÚ parameters r(r_z+ConventionChecker._check_parameters_section s¡èè€õ™œˆÝ,¨W¬\Ñ:Ô:Ðð �IŠI�gÔ-Ñ .Ô .× 6Ò 6°v¸rÑ BÔ B× HÒ HÈÑ NÔ Nð õ(+¨7°G¸A¸B¸B´KÑ'@Ô'@ð :ð :Ñ #ˆL˜)õ˜|Ñ,Ô,Ð0DÒDÐDå�  iÑ0Ô0Ñ1Ô1Ý�-¨ Ñ5Ô5Ñ6Ô6ò7ð7ð—O’OÑ%Ô%ð7ð˜,Ð&Ð&Ø1=×1CÒ1CÀCÈÑ1KÔ1KÑ.�J  ð".×!3Ò!3Ñ!5Ô!5�Jð",×!1Ò!1°#Ñ!6Ô!6�Ø!/ð:ð:�IØ"×&Ò& y§¢Ñ'8Ô'8Ñ9Ô9Ð9Ð9øÝ$×8Ò8Ø ˜Jñ ô ð ð ð ð ð ð ð ð ð r*c#óÆ‡ K—t¦«}|jr7|jd}|dt| ¦«¦« …Š t d ˆ fd„|jD¦«¦«¦« ¦«}g}| d¬¦«D]D}|dd… ¦«s|  |¦«Œ4|dxx|z cc<ŒE|D]K}tj   |¦«} | r(|  |  d¦«¦«ŒLt ||¦«Ed{V—†dS) aD417: `Args` section checks. Check for a valid `Args` or `Argument` section. Checks that: * The section documents all function arguments (D417) except `self` or `cls` if it is a method. Documentation for each arg should start at the same indentation level. For example, in this case x and y are distinguishable:: Args: x: Lorem ipsum dolor sit amet y: Ut enim ad minim veniam In the case below, we only recognize x as a documented parameter because the rest of the content is indented as if it belongs to the description for x:: Args: x: Lorem ipsum dolor sit amet y: Ut enim ad minim veniam rNr˜cóJ•—g|]}| ‰¦«s|dk¯|‘Œ S)rΩrá)rPrËÚleading_whitespacess €r(ruz9ConventionChecker._check_args_section..qsCø€ðððàØ—’Ð':Ñ;Ô;ðð@DÀrºz¸zðà?I¸z¸zr*T)Úkeependsrr¤)rÐrArMr7rrÑr¼Ú splitlinesÚisspaceÚappendr.ÚGOOGLE_ARGS_REGEXr«rdrìre) r_rVr6rfrÚ args_contentÚ args_sectionsrËÚsectionr«rrs @r(Ú_check_args_sectionz%ConventionChecker._check_args_sectionPsºøèè€õ.™œˆð Ô "ð Jà Ô0°Ô3ˆJØ",Ð-Hµ°J×4EÒ4EÑ4GÔ4GÑ0HÔ0HÐ/HÐ-HÔ"IÐ åØ �IŠIððððà 'Ô 7ðñôñ ô ñ ô ÷ Š%‰'Œ'ð ðˆ Ø ×+Ò+°TÐ+Ñ:Ô:ð *ð *ˆDؘ˜˜”8×#Ò#Ñ%Ô%ð *ð×$Ò$ TÑ*Ô*Ð*Ð*ð˜bÐ!Ð!Ô! TÑ)Ð!Ð!Ñ!Ð!à$ð 3ð 3ˆGÝ%Ô7×=Ò=¸gÑFÔFˆEØð 3Ø×"Ò" 5§;¢;¨q¡>¤>Ñ2Ô2Ð2øÝ$×8Ò8Ø ˜Jñ ô ð ð ð ð ð ð ð ð ð r*c#óTK—t|t¦«rŽt|j¦«}|jdkr|js |dd…}d„|D¦«}t |¦«|z }|r@tjd  t|¦«¦«|j ¦«V—dSdSdS)a3D417: Yield error for missing arguments in docstring. Given a list of arguments found in the docstring and the callable definition, it checks if all the arguments of the callable are present in the docstring, else it yields a D417 with a list of missing arguments. ÚmethodrNcó0—g|]}t|¦«°|‘ŒSr+)Úis_def_arg_private)rPÚarg_names r(ruz9ConventionChecker._check_missing_args..žs6€ðððàÝ)¨(Ñ3Ô3ðØðððr*z, ) r[rÚget_function_argsrfr&Ú is_staticrÐr ÚD417rÑr}rO)rfrVÚ function_argsÚ missing_argss r(rez%ConventionChecker._check_missing_argsŒsàèè€õ �j¥(Ñ +Ô +ð Ý-¨jÔ.?Ñ@Ô@ˆMðŒ (Ò*Ð*°:Ô3GÐ*Ø -¨a¨b¨bÔ 1� ððà -ðñôˆMõ ˜}Ñ-Ô-°Ñ>ˆLØð Ý ”oØ—I’I�f \Ñ2Ô2Ñ3Ô3°Z´_ñôðððððð ð ð ð r*c#ó˜K—|j ¦«}| ||||j¦«Ed{V—†|j ¦« |j¦«}|dkr1tj|dz|j ¦«¦«V—|dvr|  |||¦«Ed{V—†dSdS)a½D416: Google-style section name checks. Check for valid section names. Checks that: * The section does not contain any blank line between its name and content (D412). * The section is not empty (D414). * The section name has colon as a suffix (D416). Additionally, also yield all violations from `_check_common_section` which are style-agnostic section checks. Nr+)r9r:) r8rRr[ÚGOOGLE_SECTION_NAMESrËr¼r7r ÚD416r{)rHr_rVr6rZr`s r(Ú_check_google_sectionz'ConventionChecker._check_google_section©s èè€ð&Ô2×8Ò8Ñ:Ô:ÐØ×,Ò,Ø �z 7¨CÔ,Dñ ô ð ð ð ð ð ð ð ð”×#Ò#Ñ%Ô%×,Ò,¨WÔ-AÑBÔBˆØ �SŠ=ˆ=Ý”/Ø# cÑ)¨7¬<×+=Ò+=Ñ+?Ô+?ñôð ð ð ð Ð"7Ð 7Ð 7Ø×.Ò.¨y¸*ÀgÑNÔNÐ NÐ NÐ NÐ NÐ NÐ NÐ NÐ NÐ Nð 8Ð 7r*c #ór‡‡‡‡ K—d„|D¦«Š ˆ fd„Šˆfd„t‰¦«D¦«}tdd¦«Šˆˆfd„|D¦«}d„|D¦«}t|d¦«D]H\}}|€d n|j}‰|j|j|j‰|jd z|…|j|du¦«V—ŒIdS) aGenerate `SectionContext` objects for valid sections. Given a list of `valid_section_names`, generate an `Iterable[SectionContext]` which provides: * Section Name * String value of the previous line * The section line * Following lines till the next section * Line index of the beginning of the section in the docstring * Boolean indicating whether the section is the last section. for each valid section. có6—g|]}| ¦«‘ŒSr+)rå)rPÚss r(ruz;ConventionChecker._get_section_contexts..Òs €ÐFÐFÐF¨Q˜qŸwšw™yœyÐFÐFÐFr*cóN•—t| ¦«¦«}|‰vSr")Úget_leading_wordsrå)Ú_lineÚresultÚlower_section_namess €r(Ú_suspected_as_sectionzFConventionChecker._get_section_contexts.._suspected_as_sectionÔs$ø€Ý& u§{¢{¡}¤}Ñ5Ô5ˆFØÐ0Ð0Ð 0r*có0•—g|]\}}‰|¦«¯|‘ŒSr+r+)rPrÊrËr’s €r(ruz;ConventionChecker._get_section_contexts..Ùs>ø€ð% ð% ð% Ù�!�TÐ1FÐ1FÀtÑ1LÔ1Lð% Ø ð% ð% ð% r*ÚSectionContext)r8r4rËrAÚoriginal_indexrUc 3ó¶•K—|]S}‰t‰| ¦«¦«‰|dz ‰|‰|dzd…|d¦«V—ŒTdS)rNF)rŽr¼)rPrÊr”r s €€r(rSz:ConventionChecker._get_section_contexts..ës…øèè€ð  ð  ðð ˆNÝ! %¨¤(§.¢.Ñ"2Ô"2Ñ3Ô3Ø�a˜!‘e” Ø�a”Ø�a˜!‘e�g�g”ØØñ  ô ð  ð  ð  ð  ð  ð  r*c3óNK—|] }t |¦«¯|V—Œ!dSr")r.r?)rPÚcs r(rSz:ConventionChecker._get_section_contexts..øsJèè€ð ð ØÕ#4×#JÒ#JÈ1Ñ#MÔ#Mð Ø ð ð ð ð ð ð r*Nr¤r)rÏrrr•r8r4rË) r rYÚsuspected_section_indicesÚcontextsÚaÚbÚendr”r’r‘s ` @@@r(Ú_get_section_contextsz'ConventionChecker._get_section_contextsÃs_øøøøèè€ðGÐFÐ2EÐFÑFÔFÐð 1ð 1ð 1ð 1ð 1ð % ð% ð% ð% Ý& uÑ-Ô-ð% ñ% ô% Ð!õ$Ø ð ñ  ô  ˆð  ð  ð  ð  ð  ð/ð  ñ  ô  ˆð ð Øð ñ ô ˆõ ˜X tÑ,Ô,ð ð ‰DˆAˆqؘ �"�" qÔ'7ˆCØ �.ؔؔؔØ�aÔ&¨Ñ*¨SÐ0Ô1ØÔ Ø�T� ñ ôð ð ð ð ð ð r*c#óˆK—d}| ||j¦«D]!}d}| |||¦«Ed{V—†Œ"|S)aÎNumPy-style docstring sections checks. Check the general format of a sectioned docstring: '''This is my one-liner. Short Summary ------------- This is my summary. Returns ------- None. ''' Section names appear in `NUMPY_SECTION_NAMES`. Yields all violation from `_check_numpy_section` for each valid Numpy-style section. FTN)ržr]ra)rer rVr_Úfound_any_numpy_sectionÚctxs r(Ú_check_numpy_sectionsz'ConventionChecker._check_numpy_sections skèè€ð(#(ÐØ×-Ò-¨e°TÔ5MÑNÔNð Mð MˆCØ&*Ð #Ø×0Ò0°¸JÈÑLÔLÐ LÐ LÐ LÐ LÐ LÐ LÐ LÐ Là&Ð&r*c#ó€K—| ||j¦«D]}| |||¦«Ed{V—†Œ dS)a¤Google-style docstring section checks. Check the general format of a sectioned docstring: '''This is my one-liner. Note: This is my summary. Returns: None. ''' Section names appear in `GOOGLE_SECTION_NAMES`. Yields all violation from `_check_google_section` for each valid Google-style section. N)ržr‡r‰)rer rVr_r¡s r(Ú_check_google_sectionsz(ConventionChecker._check_google_sections$slèè€ð$×-Ò-Ø �4Ô,ñ ô ð Nð NˆCð×1Ò1°)¸ZÈÑMÔMÐ MÐ MÐ MÐ MÐ MÐ MÐ MÐ Mð Nð Nr*c#óâK—|sdS| d¦«}t|¦«dkrdS| |||¦«Ed{V—†}|s| |||¦«Ed{V—†dSdS)zCheck for docstring sections.Nr˜é)r�rMr¢r¤)rerVr_r Ú found_numpys r(Úcheck_docstring_sectionsz*ConventionChecker.check_docstring_sections;sÏèè€ðð Ø ˆFà—’ Ñ%Ô%ˆÝ ˆu‰:Œ:˜Š>ˆ>Ø ˆFà!%×!;Ò!;Ø �:˜yñ" ô" ð ð ð ð ð ð ˆ ðð Ø×2Ò2Ø�z 9ñôð ð ð ð ð ð ð ð ð ð ð r*)NNFF)2Ú__name__Ú __module__Ú __qualname__rbr]r‡rªrwrrÚpropertyrZr,r r�r–r¢rr´r rºrÀÚ staticmethodrÅr×rÞrãrêrñr÷rürrrrr"r%r)r?Ú classmethodrPr[rar_r{rer‰ržr¢r¤r¨r+r*r(r.r.0s€€€ðððÐð ÐðH˜ð ñôÐð4Ø Ø Ø#ð/ð/ð/ð/ðbðLðLñ„XðLð€Yˆz DÐ)Ñ)Ô)ð*-ð*-ñ*Ô)ð*-ðX€Yˆz DÐ)Ñ)Ô)ð %ð %ñ*Ô)ð %ð€YˆzÑÔð 7ð 7ñÔð 7ð€YˆxÑÔð>ð>ñÔð>ð0€YˆuÑÔð:ð:ñÔð:ð@€YˆzÑÔð9ð9ñÔð9ð$ððñ„\ðð €YˆzÑÔð,ð,ñÔð,ð6€YˆzÑÔð-ð-ñÔð-ð"€YˆzÑÔð )ð )ñÔð )ð€YˆzÑÔð-ð-ñÔð-ð6€YˆzÑÔð7ð7ñÔð7ð4€YˆzÑÔð%ð%ñÔð%ð(ð 3ð 3ñ„\ð 3ð€YˆzÑÔðFðFñÔðFð€YˆzÑÔð  ð  ñÔð  ð€YˆxÑÔðJðJñÔðJð<€YˆxÑÔð )ð )ñÔð )ð€YˆxÑÔðLðLñÔðLð €YˆxÑÔð %ð %ñÔð %ð€YˆzÑÔð%ð%ñÔð%ð$ð9 ð9 ñ„\ð9 ðvðA4ðA4ñ„[ðA4ðFð& ð& ñ„[ð& ðPððñ„[ðð.ð- ð- ñ„\ð- ð^ð9 ð9 ñ„\ð9 ðvððñ„\ðð8ðOðOñ„[ðOð2ðCðCñ„\ðCðJ'ð'ð'ð6NðNðNð.€YˆzÑÔððñÔðððr*r.c #óðK—|�|�td¦«‚|�|}n\|�Itttj ¦«¦«t|¦«z ¦«}ntjj}|D]ü}tj d|¦« tj |¦«5} |   ¦«} ddd¦«n #1swxYwYt¦« | |||||¦«D]} t| dd¦«} | |vr| V—ŒŒ›#t t"t$f$r$} tjd|| ¦«| V—Yd} ~ ŒÑd} ~ wtj$rt+d|z¦«V—YŒùwxYwdS)aÜGenerate docstring errors that exist in `filenames` iterable. By default, the PEP-257 convention is checked. To specifically define the set of error codes to check for, supply either `select` or `ignore` (but not both). In either case, the parameter should be a collection of error code strings, e.g., {'D100', 'D404'}. When supplying `select`, only specified error codes will be reported. When supplying `ignore`, all error codes which were not specified will be reported. Note that ignored error code refer to the entire set of possible error codes, which is larger than just the PEP-257 convention. To your convenience, you may use `pydocstyle.violations.conventions.pep257` as a base set to add or remove errors from. `ignore_inline_noqa` controls if `# noqa` comments are respected or not. `ignore_self_only_init` controls if D107 is reported on __init__ only containing `self`. Examples --------- >>> check(['pydocstyle.py']) >>> check(['pydocstyle.py'], select=['D100']) >>> check(['pydocstyle.py'], ignore=conventions.pep257 - {'D100'}) Nz@Cannot pass both select and ignore. They are mutually exclusive.zChecking file %s.razError in file %s: %szinvalid syntax in file %s)r r¥rÐr Ú ErrorRegistryÚget_error_codesÚ conventionsÚpep257rÚinfoÚtkÚopenÚreadr.rrÚgetattrÚOSErrorr rÚwarningÚ TokenErrorÚ SyntaxError) Ú filenamesÚselectÚignorerRrWrhrXÚ checked_codesrgÚfilerfrnras r(rrQsèè€ðRИfÐ0Ý"ð +ñ ô ð ð Р؈ ˆ Ø Ð ÝÝ • Ô(×8Ò8Ñ:Ô:Ñ ;Ô ;½cÀ&¹k¼kÑ Iñ ô ˆ ˆ õ#Ô.Ô5ˆ àðFðFˆÝ ŒÐ$ hÑ/Ô/Ð/ð FÝ”˜Ñ"Ô"ð % dØŸš™œ�ð %ð %ð %ñ %ô %ð %ð %ð %ð %ð %ð %øøøð %ð %ð %ð %å*Ñ,Ô,×9Ò9ØØØ!Ø#Ø"Ø%ñ ôð ð �õ˜u f¨dÑ3Ô3�ؘ=Ð(Ð(Ø�K�K�Køð øõ�¥:Ð.ð ð ð Ý ŒKÐ.°¸%Ñ @Ô @Ð @؈KˆKˆKˆKˆKˆKˆKˆKøøøøÝŒ}ð Fð Fð FÝÐ9¸HÑDÑEÔEÐ EÐ EÐ EÐ EÐ Eð Føøøð'FðFsCÂDÂ%CÂ: DÃC à Dà C ÃADÄE3Ä+E Å &E3Å2E3có4—td„|D¦«¦«S)zBReturn a boolean indicating if `string` only has ascii characters.c3ó<K—|]}t|¦«dkV—ŒdS)é€N)Úord)rPr!s r(rSzis_ascii..¡s,èè€Ð2Ð2 4�s�4‰yŒy˜3ŠÐ2Ð2Ð2Ð2Ð2Ð2r*)rK©rs r(Úis_asciirÇŸs€å Ð2Ð2¨6Ð2Ñ2Ô2Ñ 2Ô 2Ð2r*cój—td¦« |¦« ¦«S)z'Return any leading space from `string`.z\s*)rªr«rìrÆs r(rÍrͤs(€å ˆf‰:Œ:× Ò ˜FÑ #Ô #× )Ò )Ñ +Ô +Ð+r*cóš—td¦« | ¦«¦«}|�| ¦«SdS)z{Return any leading set of words from `line`. For example, if `line` is " Hello world!!!", returns "Hello world". z[\w ]+N)rªr«r¼rì)rËr�s r(rŽrŽ©sA€õ � ‰]Œ]× Ò  §¢¡¤Ñ .Ô .€FØ ÐØ�|Š|‰~Œ~ÐðÐr*có,—| d¦«S)z.Ès€Ð LÐ LÐ L˜XˆHŒLÐ LÐ LÐ Lr*)r’rYr7ÚbodyÚargsr¼Ú kwonlyargsr)Úfunction_sourceÚfunction_arg_nodeÚ arg_nodesÚkwonly_arg_nodess r(r�r�¸s‰€ðÝœI o×&<Ò&<Ñ&>Ô&>Ñ?Ô?ÔDÀQÔGÔLÐÐøÝ ððððˆ ˆ ˆ ðøøøð"Ô&€IØ(Ô3ÐØ LÐ L­¨yÐ:JÑ)KÔ)KÐ LÑ LÔ LÐLs‚69¹ AÁA)F)NNNNFF)3rbr’rÚtokenizerµÚ collectionsrÚ itertoolsrrrªrÚtextwraprrÎr Úconfigr Úparserr r r rrrrrrrrrÚutilsrrrrrÚ wordlistsrrrÚ__all__r,r.rYrrÇrÍrŽrr�r+r*r(úrßspðØ;Ð;à € € € Ø € € € ØÐÐÐØ"Ð"Ð"Ð"Ð"Ð"Ø&Ð&Ð&Ð&Ð&Ð&Ð&Ð&ØÐÐÐÐÐØÐÐÐÐÐàÐÐÐÐÐØ(Ð(Ð(Ð(Ð(Ð(ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ðððððððððððððððDÐCÐCÐCÐCÐCÐCÐCÐCÐCà €ððððð[ð[ð[ð[ð[ñ[ô[ð[ð| ˆ‰Œ€ð Ø ØØØØðKFðKFðKFðKFð\3ð3ð3ð ,ð,ð,ð ððð$ð$ð$ð MðMðMðMðMr*