--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/pylint.rc Mon Dec 28 16:03:33 2009 +0000 @@ -0,0 +1,496 @@ +# lint Python modules using external checkers. +# +# This is the main checker controling the other ones and the reports +# generation. It is itself both a raw checker and an astng checker in order +# to: +# * handle message activation / deactivation at the module level +# * handle some basic but necessary stats'data (number of classes, methods...) +# +# This checker also defines the following reports: +# * R0001: Total errors / warnings +# * R0002: % errors / warnings by module +# * R0003: Messages +# * R0004: Global evaluation +# +[MASTER] +# Add <file or directory> to the black list. It should be a base name, not a +# path. You may set this option multiple times. +ignore=CVS, + .svn, + .hg, + .ropeproject, + .eric4project, + ThirdParty, + Examples, + Ruby, +# ignore autogenerated files for Qt designer forms +# Checks + Ui_PyLintConfigDialog.py, + Ui_PyLintExecDialog.py, + Ui_SyntaxCheckerDialog.py, + Ui_TabnannyDialog.py, + Tabnanny.py, +# DataViews + Ui_CodeMetricsDialog.py, + Ui_PyCoverageDialog.py, + Ui_PyProfileDialog.py, +# Debugger + Ui_EditBreakpointDialog.py, + Ui_EditWatchpointDialog.py, + Ui_ExceptionsFilterDialog.py, + Ui_StartCoverageDialog.py, + Ui_StartDebugDialog.py, + Ui_StartProfileDialog.py, + Ui_StartRunDialog.py, + Ui_VariableDetailDialog.py, + Ui_VariablesFilterDialog.py, +# DocumentationTools + Ui_DocGeneratorExecDialog.py, + Ui_EricapiConfigDialog.py, + Ui_EricdocConfigDialog.py, +# Graphics + Ui_UMLSceneSizeDialog.py, + Ui_ZoomDialog, +# Helpviewer + Ui_BookmarkDialog.py, + Ui_SearchDialog.py, +# Packagers + Ui_CxfreezeConfigDialog.py, + Ui_PackagersExecDialog.py, +# Preferences + Ui_ConfigurationDialog.py, + Ui_ShortcutDialog.py, + Ui_ShortcutsDialog.py, + Ui_ToolConfigurationDialog.py, + Ui_ToolGroupConfigurationDialog.py, + Ui_ViewProfileDialog.py, +# Preferences - ConfigurationPages + Ui_ApplicationPage.py, + Ui_CorbaPage.py, + Ui_DebuggerGeneral1Page.py, + Ui_DebuggerGeneral2Page.py, + Ui_DebuggerPythonPage.py, + Ui_DebuggerRubyPage.py, + Ui_EditorAPIsPage.py, + Ui_EditorAutocompletionPage.py, + Ui_EditorCalltipsPage.py, + Ui_EditorColoursPage.py, + Ui_EditorGeneralPage.py, + Ui_EditorHighlightersPage.py, + Ui_EditorHighlightingStylesPage.py, + Ui_EditorProperties1Page.py, + Ui_EditorProperties2Page.py, + Ui_EditorStylesPage.py, + Ui_EmailPage.py, + Ui_GraphicsPage.py, + Ui_HelpDocumentationPage.py, + Ui_HelpViewersPage.py, + Ui_IconsPage.py, + Ui_IconsPreviewDialog.py, + Ui_InterfacePage.py, + Ui_PrinterPage.py, + Ui_ProgramsPage.py, + Ui_ProjectPage.py, + Ui_ProjectBrowserPage.py, + Ui_PythonPage.py, + Ui_QtPage.py, + Ui_RefactoringPage.py, + Ui_ShellPage.py, + Ui_TasksPage.py, + Ui_TemplatesPage.py, + Ui_VcsPage.py, + Ui_ViewmanagerPage.py, +# Project + Ui_AddDirectoryDialog.py, + Ui_AddFileDialog.py, + Ui_AddFoundFilesDialog.py, + Ui_AddLanguageDialog.py, + Ui_DebuggerPropertiesDialog.py, + Ui_FiletypeAssociationsDialog.py, + Ui_PropertiesDialog.py, + Ui_TranslationPropertiesDialog.py, + Ui_UserPropertiesDialog.py, +# PyUnit + Ui_UnittestDialog.py, + Ui_UnittestStacktraceDialog.py, +# QScintilla + Ui_GotoDialog.py, + Ui_ReplaceDialog.py, + Ui_SearchDialog.py, + Ui_ZoomDialog.py, +# Refactoring + Ui_MatchesDialog.py, +# Scripting + Ui_LoadScriptDialog.py, +# Tasks + Ui_TaskFilterConfigDialog.py, + Ui_TaskPropertiesDialog.py, +# Templates + Ui_TemplatePropertiesDialog.py, + Ui_TemplateSingleVariableDialog.py, +# UI + Ui_AboutDialog.py, + Ui_CompareDialog.py, + Ui_DeleteFilesConfirmationDialog.py, + Ui_DiffDialog.py, + Ui_EmailDialog.py, + Ui_FindFileDialog.py, + Ui_FindFileNameDialog.py, +# VCS + Ui_CommandOptionsDialog.py, + Ui_RepositoryInfoDialog.py, +# VCS - vcsCVS + Ui_CvsCommandDialog.py, + Ui_CvsCommitDialog.py, + Ui_CvsDialog.py, + Ui_CvsHistoryDialog.py, + Ui_CvsLogDialog.py, + Ui_CvsLoginDialog.py, + Ui_CvsLogoutDialog.py, + Ui_CvsMergeDialog.py, + Ui_CvsNewProjectOptionsDialog.py, + Ui_CvsOptionsDialog.py, + Ui_CvsSwitchDialog.py, + Ui_CvsTagDialog.py, +# VCS - vcsPySvn, vcsSubversion + Ui_SvnBlameDialog.py, + Ui_SvnCommandDialog.py, + Ui_SvnCommitDialog.py, + Ui_SvnCopyDialog.py, + Ui_SvnDialog.py, + Ui_SvnDiffDialog.py, + Ui_SvnLogDialog.py, + Ui_SvnLoginDialog.py, + Ui_SvnMergeDialog.py, + Ui_SvnNewProjectOptionsDialog.py, + Ui_SvnOptionsDialog.py, + Ui_SvnPropDelDialog.py, + Ui_SvnPropListDialog.py, + Ui_SvnPropSetDialog.py, + Ui_SvnRelocateDialog.py, + Ui_SvnRevisionSelectionDialog.py, + Ui_SvnStatusDialog.py, + Ui_SvnSwitchDialog.py, + Ui_SvnTagBranchListDialog.py, + Ui_SvnTagDialog.py, + Ui_SvnUrlSelectionDialog.py, +# ViewManager + Ui_BookmarkedFilesDialog.py, +# Wizards + Ui_ColorDialogWizardDialog.py, + Ui_FileDialogWizardDialog.py, + Ui_FontDialogWizardDialog.py, + Ui_InputDialogWizardDialog.py, + Ui_MessageBoxWizardDialog.py, + Ui_PyRegExpWizardCharactersDialog.py, + Ui_PyRegExpWizardDialog.py, + Ui_PyRegExpWizardRepeatDialog.py, + Ui_QRegExpWizardCharactersDialog.py, + Ui_QRegExpWizardDialog.py, + Ui_QRegExpWizardRepeatDialog.py, +# XML + Ui_XMLMessageDialog.py + +# Pickle collected data for later comparisons. +persistent=yes + +# Set the cache size for astng objects. +cache-size=500 + + + +[REPORTS] +# Tells wether to display a full report or only the messages +reports=yes + +# Use HTML as output format instead of text +html=no + +# Use a parseable text output format, so your favorite text editor will be able +# to jump to the line corresponding to a message. +parseable=no + +# Colorizes text output using ansi escape codes +color=no + +# Put 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]". +files-output=no + +# Python expression which should return a note less than 10 (10 is the highest +# note).You have access to the variables errors warning, statement which +# respectivly contain the number of errors / warnings messages and the total +# number of statements analyzed. This is used by the global evaluation report +# (R0004). +evaluation=10.0 - ((float(5 * error + warning + refactor + convention) / statement) * 10) + +# Add a comment according to your evaluation note. This is used by the global +# evaluation report (R0004). +comment=no + +# Include message's id in output +include-ids=no + + + +# checks for +# * unused variables / imports +# * undefined variables +# * redefinition of variable from builtins or from an outer scope +# * use of variable before assigment +# +[VARIABLES] +# Enable / disable this checker +enable-variables=yes + +# Tells wether we should check for unused import in __init__ files. +init-import=no + +# List of variable names used for dummy variables (i.e. not used). +dummy-variables=_,dummy + +# List of additional names supposed to be defined in builtins. Remember that you +# should avoid to define new builtins when possible. +additional-builtins= + + + +# checks for : +# * doc strings +# * modules / classes / functions / methods / arguments / variables name +# * number of arguments, local variables, branchs, returns and statements in +# functions, methods +# * required module attributes +# * dangerous default values as arguments +# * redefinition of function / method / class +# * uses of the global statement +# +# This checker also defines the following reports: +# * R0101: Statistics by type +# +[BASIC] +# Enable / disable this checker +enable-basic=yes + +# Required attributes for module, separated by a comma +#required-attributes=__revision__ +required-attributes= + +# Regular expression which should only match functions or classes name which do +# not require a docstring +no-docstring-rgx=__.*__ + +# Minimal length for module / class / function / method / argument / variable +# names +min-name-length=2 + +# Regular expression which should only match correct module names +module-rgx=(([a-z_][a-z0-9_\-]*)|([A-Z][a-zA-Z0-9_\-]+))$ + +# Regular expression which should only match correct module level names +const-rgx=(([a-z_][a-zA-Z0-9_]*)|(__.*__))$ + +# Regular expression which should only match correct class names +class-rgx=(([A-Z_][a-zA-Z0-9]+)|(__qt[A-Z][a-zA-Z0-9]+)|(__kde[A-Z][a-zA-Z0-9]+))$ + +# Regular expression which should only match correct function names +function-rgx=[a-z_][a-zA-Z0-9_]*$ + +# Regular expression which should only match correct method names +method-rgx=[a-z_][a-zA-Z0-9_]*$ + +# Regular expression which should only match correct instance attribute names +attr-rgx=[a-z_][a-zA-Z0-9_]*$ + +# Regular expression which should only match correct argument names +argument-rgx=[a-z_][a-zA-Z0-9_]*$ + +# Regular expression which should only match correct variable names +variable-rgx=[a-z_][a-zA-Z0-9_]*$ + +# Regular expression which should only match correct list comprehension / +# generator expression variable names +inlinevar-rgx=[A-Za-z_][A-Za-z0-9_]*$ + +# Good variable names which should always be accepted, separated by a comma +good-names=i,j,k,_,s,f + +# Bad variable names which should always be refused, separated by a comma +bad-names=foo,bar,baz,toto,tutu,tata + +# List of builtins function names that should not be used, separated by a comma +bad-functions=map,filter,apply,input + + + +# checks for sign of poor/misdesign: +# * number of methods, attributes, local variables... +# * size, complexity of functions, methods +# +[DESIGN] +# Enable / disable this checker +enable-design=yes + +# Maximum number of arguments for function / method +max-args=5 + +# Maximum number of locals for function / method body +max-locals=15 + +# Maximum number of return / yield for function / method body +max-returns=6 + +# Maximum number of branch for function / method body +max-branchs=12 + +# Maximum number of statements in function / method body +max-statements=100 + +# Maximum number of parents for a class (see R0901). +max-parents=7 + +# Maximum number of attributes for a class (see R0902). +max-attributes=20 + +# Minimum number of public methods for a class (see R0903). +min-public-methods=2 + +# Maximum number of public methods for a class (see R0904). +max-public-methods=20 + + + +# checks for +# * external modules dependencies +# * relative / wildcard imports +# * cyclic imports +# * uses of deprecated modules +# +# This checker also defines the following reports: +# * R0401: External dependencies +# * R0402: Modules dependencies graph +# +[IMPORTS] +# Enable / disable this checker +enable-imports=yes + +# Deprecated modules which should not be used, separated by a comma +deprecated-modules=regsub,string,TERMIOS,Bastion,rexec + +# Create a graph of every (i.e. internal and external) dependencies in the given +# file (report R0402 must not be disabled) +import-graph= + +# Create a graph of external dependencies in the given file (report R0402 must +# not be disabled) +ext-import-graph= + +# Create a graph of internal dependencies in the given file (report R0402 must +# not be disabled) +int-import-graph= + + + +# checks for : +# * methods without self as first argument +# * overriden methods signature +# * access only to existant members via self +# * attributes not defined in the __init__ method +# * supported interfaces implementation +# * unreachable code +# +[CLASSES] +# Enable / disable this checker +enable-classes=yes + +# List of interface methods to ignore, separated by a comma. This is used for +# instance to not check methods defines in Zope's Interface base class. +ignore-iface-methods=isImplementedBy,deferred,extends,names,namesAndDescriptions,queryDescriptionFor,getBases,getDescriptionFor,getDoc,getName,getTaggedValue,getTaggedValueTags,isEqualOrExtendedBy,setTaggedValue,isImplementedByInstancesOf,adaptWith,is_implemented_by + +# Tells wether missing members accessed in mixin class should be ignored. A +# mixin class is detected if its name ends with "mixin" (case insensitive). +ignore-mixin-members=yes + + + +# checks for +# * excepts without exception filter +# * string exceptions +# +[EXCEPTIONS] +# Enable / disable this checker +enable-exceptions=yes + + + +# does not check anything but gives some raw metrics : +# * total number of lines +# * total number of code lines +# * total number of docstring lines +# * total number of comments lines +# * total number of empty lines +# +# This checker also defines the following reports: +# * R0701: Raw metrics +# +[METRICS] +# Enable / disable this checker +enable-metrics=yes + + + +# checks for similarities and duplicated code. This computation may be +# memory / CPU intensive, so you should disable it if you experiments some +# problems. +# +# This checker also defines the following reports: +# * R0801: Duplication +# +[SIMILARITIES] +# Enable / disable this checker +enable-similarities=yes + +# Minimum lines number of a similarity. +min-similarity-lines=4 + +# Ignore comments when computing similarities. +ignore-comments=yes + + + +# checks for: +# * warning notes in the code like FIXME, XXX +# * PEP 263: source code with non ascii character but no encoding declaration +# +[MISCELLANEOUS] +# Enable / disable this checker +enable-miscellaneous=yes + +# List of note tags to take in consideration, separated by a comma. Default to +# FIXME, XXX, TODO +notes=FIXME,XXX,TODO + + + +# checks for : +# * unauthorized constructions +# * strict indentation +# * line length +# * use of <> instead of != +# +[FORMAT] +# Enable / disable this checker +enable-format=yes + +# Maximum number of characters on a single line. +max-line-length=90 + +# Maximum number of lines in a module +max-module-lines=1000 + +# String used as indentation unit. This is usually " " (4 spaces) or "\t" (1 tab). +indent-string=' ' + + +