ó
    rõhK'  ã                  óŽ   • S SK Jr  S SKrS SKrS SKJr  S SKJr   S SKJ	r
  S	S jrS r\S:X  a  \" 5         gg! \ a    Sr
 N!f = f)
é    )ÚannotationsN)Úcommon)Ú
commonTest)ÚRunc                ó>  • [         R                  " 5       n[        c  [        S5        g[        R
                  " 5       nS/n/ SQn/ SQnU(       d  Xe-   nSSSSSSSS	.nU(       d  S
OSnU(       d  SOSn	SSSSSS[        U5      -   SSS[        U	5      -   S[        U5      -   SS/n
UR                  5        H"  u  p¼U
R                  SU-   S-   U-   S-   5        M$     U H  nU
R                  SU 35        M     / nUR                   HW  nSnU H  nUU;   d  M  Sn  O   U(       a  M!  U (       a  SnU  H  nUU;   d  M  Sn  O   U(       a  MF  UR                  U5        MY     X®-   nU(       d  [        S 5        g [        USS!9  g! [         a    [        USS"9   gf = f)#zJ
`fnAccept` is a list of one or more files to test.  Otherwise, runs all.
Nz<make sure that 'sudo pip3 install pylint' is there. exiting.z/ext/)ztoo-many-statementsztoo-many-argumentsztoo-many-public-methodsztoo-many-branchesztoo-many-linesztoo-many-return-statementsztoo-many-instance-attributesztoo-many-positional-argumentszinconsistent-return-statementszprotected-accesszkeyword-arg-before-vararg) zarguments-differzarguments-renamedzmultiple-importszredefined-variable-typezno-else-returnzcyclic-importzunnecessary-passzlocally-disabledzconsider-using-getzchained-comparisonztoo-many-ancestorsÚfixmezsuperfluous-parensztoo-many-localszbad-whitespacezbad-continuationztoo-many-boolean-expressionszunsubscriptable-objectzconsider-iterating-dictionaryzconsider-using-dict-itemszinvalid-nameztoo-few-public-methodsztrailing-whitespaceztrailing-newlineszmissing-docstringz	star-argszunused-argumentzimport-selfzsimplifiable-if-statementzconsider-using-enumerateznot-callablezraise-missing-fromz[a-z_][A-Za-z0-9_]{2,30}$z[A-Z_][A-Za-z0-9_]{2,30}$z,(([a-z_][a-zA-Z0-9_]*)|([A-Z][a-zA-Z0-9]+))$)zargument-rgxzattr-rgxz	class-rgxzfunction-rgxz
method-rgxz
module-rgxzvariable-rgxé   é   é   é
   z--output-format=parseablez:--dummy-variables-rgx="_$|dummy|unused|i$|j$|junk|counter"z--docstring-min-length=3z--ignore-docstrings=yesz--min-similarity-lines=8z--max-args=z!--bad-names="foo,shit,fuck,stuff"z--reports=nz--max-branches=z-j z&--ignore-long-lines="converter\.parse"z--max-line-length=100z--z="Ú"z
--disable=FTzNo matching files were found.)Úexit)Údo_exit)r   ÚcpusÚ	pylintRunÚprintr   ÚModuleGatherÚstrÚitemsÚappendÚmodulePathsÚ	TypeError)ÚfnAcceptÚstrictÚpoolSizeÚmgÚfnPathRejectÚdisable_unless_strictÚdisableÚ
goodNameRxÚmaxArgsÚmaxBranchesÚcmdÚgnÚgnvÚpyLintIdÚ
acceptableÚfpÚrejectItÚ
rejectPathÚacceptableNameÚcmdFiles                       ÚO/home/james-whalen/.local/lib/python3.13/site-packages/music21/test/testLint.pyÚmainr.   3   sÙ  € ô {Š{‹}€HäÑÜÐLÔMØä	×	 Ò	 Ó	"€Bð
 	ð€LòÐò"=€Gö| ØÑ1ˆà">Ø:Ø;Ø">Ø <Ø OØ">ñ€Jö ‰a 1€GÞ"‘"¨€Kà&ØHØ%Ø$Ø%Øœ3˜w›<Ñ'Ø.ØØœs ;Ó/Ñ/Ø”3x“=Ñ Ø4Ø"ð€Cð ×#Ñ#Ö%‰ˆØ
‰
4˜"‘9˜tÑ# cÑ)¨CÑ/Ö0ñ &ó ˆØ
‰
Z ˜zÐ*Ö+ñ ð €JØnŒnˆØˆÛ&ˆJØ˜RÕØÙñ 'ö ÙÞØˆHÛ"*Ø! RÕ'Ø$HÙñ #+ö Ùà×Ñ˜"Öñ# ð& Ñ€GÞÜÐ-Ô.Øð*ä' Ó&øÜó *ä' 5Ô)ð*ús   Å:
F ÆFÆFc                 ó   • [         R                  " SS9n U R                  SS[        SSS9  U R                  SS	S
S9  U R	                  5       nUR
                  (       a  UR
                  OS nU(       a‚  U Vs/ s H"  n[        R                  R                  U5      PM$     nn/ nU HK  n[        R                  R                  U5      (       a  UR                  U5        M:  [        SU-   S-   5        MM     [        X!R                  5        g s  snf )Nz/Run pylint on music21 according to style guide.)ÚdescriptionÚfilesÚfilenameÚ*z#Files to parse (default nearly all))ÚmetavarÚtypeÚnargsÚhelpz--strictÚ
store_truezRun the file in strict mode)Úactionr7   z	skipping z: no matching file)ÚargparseÚArgumentParserÚadd_argumentr   Ú
parse_argsr1   ÚosÚpathÚabspathÚexistsr   r   r.   r   )ÚparserÚargsr1   ÚfÚfilesMids        r-   ÚargRunrF   ß   sæ   € Ü×$Ò$ØEñG€Fà
×Ñ˜¨¼#ÀSØBð ñ Dà
×Ñ˜
¨<Ø:ð ñ <à×ÑÓ€Dð Ÿ*Ÿ*ˆDJŠJ¨$€EÞÙ05Ó6²¨1”B—G‘G—O‘O AÖ&±ˆÐ6ØˆÛˆAÜw‰w~‰~˜a× Ñ Ø—‘˜Q–äk A‘oÐ(<Ñ<Ö=ñ	 ô
 	ˆ—‘Õùò 7s   Á7)DÚ__main__)NF)Ú
__future__r   r:   r>   Úmusic21r   Úmusic21.testr   Úpylint.lintr   r   ÚImportErrorr.   rF   Ú__name__© ó    r-   Ú<module>rP      sW   ðõ #ó
 Û 	å Ý #ðå,ô4i*òXð, ˆzÓÙ
…Hð øðw ó Ø‚Iðús   œ9 ¹AÁA