bISc@sdZddlmZddlZddlZddlZddlZddlmZddl m Z m Z ddl m Z ddlmZmZddlmZdd lmZmZdd lmZmZmZdd lmZdd lmZmZm Z dd l!mZ"dd l#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z-ddl.m/Z/m0Z0m1Z1ddlm2Z2m3Z3m4Z5ddl6m4Z7ddl8m9Z9dd l:mZdZ;idddfd6dddfd6dddfd6dd d!fd"6d#d$d%fd&6d'd(d)fd*6d+d,d-fd.6d/d0d1fd26d3d4d5fd66d7d8d9fd:6d;d<d=fd>6d?d@dAidBdCfgdD6fdE6ddFdGfdH6dIdJdKfdL6dMdNdOfdP6Z<dQZ=dRe e(e)e2fdSYZ>dTZ?dUZ@dVZAddWlBmCZCeDeC_EdXeFfdYYZGdZZHd[eIfd\YZJd]ZKeLd^kreJejMd_ndS(`s  %prog [options] module_or_package Check that a module satisfies a coding standard (and more !). %prog --help Display this help message and exit. %prog --help-msg [,] Display help messages about given message identifiers and exit. i(tutilsN(twarn(tUnsupportedActiontOptionsManagerMixIn(t check_csv(tload_module_from_nametget_module_part(t implements(t splitstriptunquote(tTabletTexttSection(tversion(tMANAGERtnodestAstroidBuildingException( t MSG_TYPESt OPTION_RGXtPyLintASTWalkertUnknownMessagetMessagesHandlerMixIntReportsHandlerMixInt EmptyReportt WarningScopetexpand_modulesttokenize_module(t IRawCheckert ITokenCheckertIAstroidChecker(tBaseTokenCheckerttable_lines_from_statst initialize(R (tconfigcCstjjtjjtjj|}x]trtjjtjj|dsX|S|}tjj|}||kr-tjSq-WdS(Ns __init__.py( tostpathtdirnametrealpatht expandusertTruetexiststjointgetcwd(tfilepathR$t old_dirname((sE/Users/jacob/code/ruby/exercism-analysis/vendor/python/pylint/lint.pyt_get_python_pathAs ! s%stfatalsoUsed when an error occurred preventing the analysis of a module (unable to find it for instance).tF0001s%s: %ss astroid-errorsUsed when an unexpected error occurred while building the Astroid representation. This is usually accompanied by a traceback. Please report such errors !tF0002signored builtin module %ssignored-builtin-modulesXUsed to indicate that the user asked to analyze a builtin module which has been skipped.tF0003serror while code parsing: %ss parse-errorskUsed when an exception occured while building the Astroid representation which could be handled by astroid.tF0010s0Unable to run raw checkers on built-in module %ssraw-checker-failedsRUsed to inform that a built-in module has not been checked using the raw checkers.tI0001s#Unable to consider inline option %rsbad-inline-optionsUUsed when an inline option is either badly formatted or can't be used inside modules.tI0010sLocally disabling %s (%s)slocally-disabledsEUsed when an inline option disables a message or a messages category.tI0011sLocally enabling %s (%s)slocally-enabledsDUsed when an inline option enables a message or a messages category.tI0012sIgnoring entire files file-ignoreds0Used to inform that the file will not be checkedtI0013sSuppressed %s (from line %d)ssuppressed-messagesA message was triggered on a line, but suppressed explicitly by a disable= comment in the file. This message is not generated for messages that are ignored due to configuration settings.tI0020sUseless suppression of %ssuseless-suppressionsbReported when a message is explicitly disabled for a line or a block of code, but never triggered.tI0021s+Pragma "%s" is deprecated, use "%s" insteadsdeprecated-pragmasSome inline pylint options have been renamed or reworked, only the most recent form should be used. NOTE:skip-all is only available with pylint >= 0.26tI0014sdeprecated-disable-allt old_namestI0022s syntax-errors0Used when a syntax error is raised for a module.tE0001sUnrecognized file option %rsunrecognized-inline-options2Used when an unknown inline option is encountered.tE0011sBad option value %rsbad-option-values:Used when a bad value for an inline option is encountered.tE0012cCs7d}i|d6dd6td6|d6dd6|d6S( NcWstjjd|fdS(Ns.Warning: option %s is deprecated and ignored. (tsyststderrtwrite(toptiontoptnametargs((sE/Users/jacob/code/ruby/exercism-analysis/vendor/python/pylint/lint.pyt_warn_deprecatedstshortt DEPRECATEDthelpthidettypetcallbacktaction(R'(t shortnametopt_typeRF((sE/Users/jacob/code/ruby/exercism-analysis/vendor/python/pylint/lint.pyt_deprecated_options tPyLintercBsXeZdZefZdZdZdZeZ e Z e dZ d#d$fZd%d&d'd&dZd Zd Zd Zd Zd ZdZd&d&dZdZdZdZdZdZdZdZdZdZ dZ!dZ"dZ#d&dZ$dZ%dZ&dZ'd Z(d!Z)d"Z*RS((s lint Python modules using external checkers. This is the main checker controlling the other ones and the reports generation. It is itself both a raw checker and an astroid checker in order to: * handle message activation / deactivation at the module level * handle some basic but necessary stats'data (number of classes, methods...) IDE plugins developpers: you may have to call `astroid.builder.MANAGER.astroid_cache.clear()` accross run if you want to ensure the latest code version is actually checked. tmastericCs(didd6dd6dd6d9d 6d d 6fd itd 6d d6dd6dd6dd 6fdidd6dd6d:d 6dd6dd 6fdidd 6dd6dd6dd6dd6dd 6fdidd 6d d6dd6dd6dd6d d 6fd!idd 6d d6dd6d"d6dd6d#d 6fd$idd6d%d6dd6dd6d&d 6d'd 6fd(idd 6d d6dd6dd6dd6d)d 6fd*idd6d+d6d,d6d-d6d.d 6fd/idd6d+d6d0d6d-d6d1d 6fd2idd6d3d6dd6d4d 6fd5td6d fd7td8d ff S(;NtignoretcsvRKs[,...]tmetavart black_listtdesttCVStdefaultsPAdd files or directories to the blacklist. They should be base names, not paths.RIt persistenttynsitlevels,Pickle collected data for later comparisons.s load-pluginss suList of plugins (as comma separated values of python modules names) to load, usually to register additional checkers.s output-formatttexttstringstfRGtReportstgroupsSet the output format. Available formats are text, parseable, colorized, msvs (visual studio) and html. You can also give a reporter class, eg mypackage.mymodule.MyReporterClass.s files-outputisPut messages in a separate file for each module / package specified on the command line instead of printing them on stdout. Reports (if any) will be written in a file name "pylint_global.[txt|html]".treportstrs;Tells whether to display a full report or only the messagest evaluationssN10.0 - ((float(5 * error + warning + refactor + convention) / statement) * 10)s7Python expression which should return a note less than 10 (10 is the highest note). You have access to the variables errors warning, statement which respectively contain the number of errors / warnings messages and the total number of statements analyzed. This is used by the global evaluation report (RP0004).tcommentsgAdd a comment according to your evaluation note. This is used by the global evaluation report (RP0004).tenables tesMessages controlsEnable the message, report, category or checker with the given id(s). You can either give multiple identifier separated by comma (,) or put this option multiple time. See also the "--disable" option for examples. tdisabletds`Disable the message, report, category or checker with the given id(s). You can either give multiple identifiers separated by comma (,) or put this option multiple times (only on the command line, not in the configuration file where it should appear only once).You can also use "--disable=all" to disable everything first and then reenable specific checks. For example, if you want to run only the similarities checker, you can use "--disable=all --enable=similarities". If you want to run only the classes checker, but have no Warning level messages displayed, use"--disable=all --enable=classes --disable=W"s msg-templates