Line 464 in otherLogArchiveTexst.testOnWorkerNodes E1101 Instance of 'otherLogArchiveTexst' has no 'assertRaises' member
Line 464 in otherLogArchiveTexst.testOnWorkerNodes E0602 Undefined variable 'LogArchiveError'
Line 473 in otherLogArchiveTexst.testOnWorkerNodes E1101 Instance of 'otherLogArchiveTexst' has no 'assertFalse' member
Line 474 in otherLogArchiveTexst.testOnWorkerNodes E1101 Instance of 'otherLogArchiveTexst' has no 'assertFalse' member
Line 476 in otherLogArchiveTexst.addLogArchiveFile R0201 Method could be a function
Line 35 W0611 Unused import inspect
Line 39 W0611 Unused import ReportEmu
Line 11 W0611 Unused import CMSSWTemplate
Line 31 W0611 Unused import TaskSpace
Line 25 W0611 Unused import WMStep
Line 37 W0611 Unused import ModuleLocator
Line 15 W0611 Unused import tempfile
Line 21 W0611 Unused import nose
plus 238 comments on code style

src/python/WMCore/Storage/StageInMgr.py got worse in pylint. Report follows:

Line 143 in StageInMgr.initialiseOverride W0612 Unused variable 'ex'
Line 232 in StageInMgr.localStageIn W0612 Unused variable 'seName'
Line 233 in StageInMgr.localStageIn W0612 Unused variable 'pnn'
plus 18 comments on code style

src/python/WMCore/WorkQueue/Policy/Start/StartPolicyInterface.py got worse in pylint. Report follows:

Line 17 in StartPolicyInterface R0902 Too many instance attributes (12/7)
Line 41 in StartPolicyInterface.validateCommon R0912 Too many branches (14/12)
Line 132 in StartPolicyInterface.call W0201 Attribute 'mask' defined outside init
Line 10 W0611 Unused import sitesFromStorageEelements
Line 17 in StartPolicyInterface R0921 Abstract class not referenced
plus 7 comments on code style

src/python/WMCore/Services/DBS/DBSWriter.py fails the pylint check. Report follows:

Line 12 W0622 Redefining built-in 'Exception'
Line 12 W0401 Wildcard import DBSAPI.dbsException
Line 13 W0401 Wildcard import DBSAPI.dbsStorageElement
Line 14 W0401 Wildcard import DBSAPI.dbsApiException
Line 50 in _CreateDatasetOperator.call E1101 Instance of '_CreateDatasetOperator' has no 'getOutputDatasetsWithPSet' member
Line 56 in _CreateDatasetOperator.call W0703 Catching too general exception Exception
Line 56 in _CreateDatasetOperator.call W0623 Redefining name 'ex' from outer scope (line 12) in exception handler
Line 68 in _CreateDatasetOperator.call W0612 Unused variable 'processed'
Line 36 in _CreateDatasetOperator R0903 Too few public methods (0/2)
Line 87 in _CreateMergeDatasetOperator.call W0212 Access to a protected member _OutputDatasets of a client class
Line 110 in _CreateMergeDatasetOperator.call W1201 Specify string format arguments as logging function parameters
Line 111 in _CreateMergeDatasetOperator.call W1201 Specify string format arguments as logging function parameters
Line 112 in _CreateMergeDatasetOperator.call W1201 Specify string format arguments as logging function parameters
Line 73 in _CreateMergeDatasetOperator R0903 Too few public methods (0/2)
Line 130 in _remapBlockParentage.dropNode W1201 Specify string format arguments as logging function parameters
Line 131 in _remapBlockParentage.dropNode W1201 Specify string format arguments as logging function parameters
Line 212 in DBSWriter.init W0623 Redefining name 'ex' from outer scope (line 12) in exception handler
Line 230 in DBSWriter.createDatasets W0623 Redefining name 'ex' from outer scope (line 12) in exception handler
Line 366 in DBSWriter.insertFilesForDBSBuffer W0622 Redefining built-in 'file'
Line 237 in DBSWriter.insertFilesForDBSBuffer R0913 Too many arguments (10/7)
Line 237 in DBSWriter.insertFilesForDBSBuffer R0914 Too many local variables (35/30)
Line 285 in DBSWriter.insertFilesForDBSBuffer W1201 Specify string format arguments as logging function parameters
Line 330 in DBSWriter.insertFilesForDBSBuffer W1201 Specify string format arguments as logging function parameters
Line 356 in DBSWriter.insertFilesForDBSBuffer W0623 Redefining name 'ex' from outer scope (line 12) in exception handler
Line 395 in DBSWriter.insertFilesForDBSBuffer W1201 Specify string format arguments as logging function parameters
Line 410 in DBSWriter.insertFilesForDBSBuffer W1201 Specify string format arguments as logging function parameters
Line 346 in DBSWriter.insertFilesForDBSBuffer W0612 Unused variable 'blockList'
Line 238 in DBSWriter.insertFilesForDBSBuffer W0613 Unused argument 'jobType'
Line 344 in DBSWriter.insertFilesForDBSBuffer W0612 Unused variable 'sumFiles'
Line 345 in DBSWriter.insertFilesForDBSBuffer W0612 Unused variable 'tmpFiles'
Line 343 in DBSWriter.insertFilesForDBSBuffer W0612 Unused variable 'sumSize'
Line 238 in DBSWriter.insertFilesForDBSBuffer W0613 Unused argument 'insertDetectorData'
Line 237 in DBSWriter.insertFilesForDBSBuffer R0912 Too many branches (22/12)
Line 624 in DBSWriter.insertFiles W0622 Redefining built-in 'hash'
Line 570 in DBSWriter.insertFiles W1201 Specify string format arguments as logging function parameters
Line 594 in DBSWriter.insertFiles W0623 Redefining name 'ex' from outer scope (line 12) in exception handler
Line 664 in DBSWriter.insertFiles W1201 Specify string format arguments as logging function parameters
Line 685 in DBSWriter.insertFiles W1201 Specify string format arguments as logging function parameters
Line 534 in DBSWriter.insertFiles R0912 Too many branches (19/12)
Line 691 in DBSWriter.manageFileBlock W0102 Dangerous default value [] as argument
Line 691 in DBSWriter.manageFileBlock W0102 Dangerous default value [] as argument
Line 691 in DBSWriter.manageFileBlock R0913 Too many arguments (8/7)
Line 734 in DBSWriter.manageFileBlock W0623 Redefining name 'ex' from outer scope (line 12) in exception handler
Line 751 in DBSWriter.manageFileBlock W1201 Specify string format arguments as logging function parameters
Line 753 in DBSWriter.manageFileBlock W1201 Specify string format arguments as logging function parameters
Line 824 in DBSWriter.manageFileBlock W1201 Specify string format arguments as logging function parameters
Line 826 in DBSWriter.manageFileBlock W1201 Specify string format arguments as logging function parameters
Line 819 in DBSWriter.manageFileBlock W0612 Unused variable 'algo'
Line 691 in DBSWriter.manageFileBlock R0912 Too many branches (18/12)
Line 883 in DBSWriter.migrateDatasetBlocks E1101 Instance of 'DbsApi' has no 'listDatasetContents' member
Line 884 in DBSWriter.migrateDatasetBlocks W0623 Redefining name 'ex' from outer scope (line 12) in exception handler
Line 953 in DBSWriter.importDatasetWithExistingParents E1101 Instance of 'DbsApi' has no 'listDatasetContents' member
Line 956 in DBSWriter.importDatasetWithExistingParents W0623 Redefining name 'ex' from outer scope (line 12) in exception handler
Line 908 in DBSWriter.importDatasetWithExistingParents W0613 Unused argument 'targetDBS'
Line 1035 in DBSWriter.importDataset W0623 Redefining name 'ex' from outer scope (line 12) in exception handler
Line 1100 in DBSWriter.importDatasetWithoutParentage W0623 Redefining name 'ex' from outer scope (line 12) in exception handler
Line 1120 in DBSWriter.getOutputDatasetsWithPSet E0213 Method should have "self" as first argument
Line 1133 in DBSWriter.getOutputDatasetsWithPSet E1101 Instance of 'DBSWriter' has no '_OutputDatasets' member
Line 1136 in DBSWriter.getOutputDatasetsWithPSet E1101 Instance of 'DBSWriter' has no 'application' member
Line 1137 in DBSWriter.getOutputDatasetsWithPSet E1101 Instance of 'DBSWriter' has no 'application' member
Line 1138 in DBSWriter.getOutputDatasetsWithPSet E1101 Instance of 'DBSWriter' has no 'application' member
Line 1145 in DBSWriter.getOutputDatasetsWithPSet W0703 Catching too general exception Exception
Line 1142 in DBSWriter.getOutputDatasetsWithPSet E1101 Instance of 'DBSWriter' has no 'cfgInterface' member
Line 1145 in DBSWriter.getOutputDatasetsWithPSet W0623 Redefining name 'ex' from outer scope (line 12) in exception handler
Line 1150 in DBSWriter.getOutputDatasetsWithPSet E0602 Undefined variable '_sortDatasets'
Line 1145 in DBSWriter.getOutputDatasetsWithPSet W0612 Unused variable 'ex'
Line 1189 in DatasetInfo.str E1101 Instance of 'DatasetInfo' has no 'save' member
Line 13 W0614 Unused import isListType from wildcard import
Line 34 W0611 Unused import base64
Line 12 W0614 Unused import InvalidArgument from wildcard import
Line 13 W0614 Unused import isStringType from wildcard import
Line 14 W0614 Unused import DbsDatabaseError from wildcard import
Line 12 W0614 Unused import ex from wildcard import
Line 12 W0614 Unused import MethodNotImplemented from wildcard import
Line 13 W0614 Unused import isLongType from wildcard import
Line 12 W0614 Unused import DataNotInitialized from wildcard import
Line 13 W0614 Unused import isDictType from wildcard import
Line 14 W0614 Unused import DbsBadRequest from wildcard import
Line 14 W0614 Unused import DbsExecutionError from wildcard import
Line 14 W0614 Unused import DbsConnectionError from wildcard import
Line 14 W0614 Unused import DbsNoObject from wildcard import
Line 13 W0614 Unused import DbsStorageElement from wildcard import
Line 13 W0614 Unused import verifyDatasetPathName from wildcard import
Line 27 W0611 Unused import DbsFileBlock
Line 14 W0614 Unused import DbsToolError from wildcard import
Line 14 W0614 Unused import InvalidDatasetPathName from wildcard import
Line 13 W0614 Unused import ValidationTable from wildcard import
Line 14 W0614 Unused import DbsConfigurationError from wildcard import
Line 14 W0614 Unused import DbsObjectExists from wildcard import
Line 14 W0614 Unused import DbsBadData from wildcard import
Line 14 W0614 Unused import DbsProxyNotFound from wildcard import
Line 13 W0614 Unused import string from wildcard import
Line 13 W0614 Unused import isIntType from wildcard import
Line 13 W0614 Unused import dbsException from wildcard import
Line 14 W0614 Unused import DbsApiException from wildcard import
Line 13 W0614 Unused import re from wildcard import
Line 13 W0614 Unused import isFloatType from wildcard import
Line 13 W0614 Unused import types from wildcard import
Line 13 W0614 Unused import ALLOWED_DATASET_REGEX_ from wildcard import
Line 14 W0614 Unused import DbsBadXMLData from wildcard import
Line 14 W0614 Unused import DbsBadResponse from wildcard import
Line 26 W0611 Unused import get_path
Line 13 W0614 Unused import ALLOWED_NAME_CHARS_ from wildcard import
Line 14 W0614 Unused import InvalidDataTier from wildcard import
Line 13 W0614 Unused import DbsBase from wildcard import
plus 168 comments on code style

src/python/WMCore/WMRuntime/Scripts/SetupCMSSWPset.py fails the pylint check. Report follows:

Line 628 W0311 Bad indentation. Found 16 spaces, expected 12
Line 184 in SetupCMSSWPset.createProcess E1101 Instance of 'SetupCMSSWPset' has no 'job' member
Line 191 in SetupCMSSWPset.createProcess W0703 Catching too general exception Exception
Line 199 in SetupCMSSWPset.createProcess W0703 Catching too general exception Exception
Line 208 in SetupCMSSWPset.createProcess W0703 Catching too general exception Exception
Line 226 in SetupCMSSWPset.loadPSet W0212 Access to a protected member _internal_name of a client class
Line 226 in SetupCMSSWPset.loadPSet E1101 Instance of 'SetupCMSSWPset' has no 'step' member
Line 291 in SetupCMSSWPset.handleSeeding E1101 Instance of 'SetupCMSSWPset' has no 'job' member
Line 297 in SetupCMSSWPset.handleSeeding W0212 Access to a protected member _internal_name of a client class
Line 316 in SetupCMSSWPset.handlePerformanceSettings E1101 Instance of 'SetupCMSSWPset' has no 'step' member
Line 339 in SetupCMSSWPset.handleChainedProcessing E1101 Instance of 'SetupCMSSWPset' has no 'step' member
Line 340 in SetupCMSSWPset.handleChainedProcessing E1101 Instance of 'SetupCMSSWPset' has no 'step' member
Line 359 in SetupCMSSWPset.handleChainedProcessing E1101 Instance of 'SetupCMSSWPset' has no 'step' member
Line 417 in SetupCMSSWPset._processPileupMixingModules E1101 Instance of 'SetupCMSSWPset' has no 'step' member
Line 435 in SetupCMSSWPset._processPileupMixingModules E1101 Instance of 'SetupCMSSWPset' has no 'job' member
Line 439 in SetupCMSSWPset._processPileupMixingModules E1101 Instance of 'SetupCMSSWPset' has no 'job' member
Line 516 in SetupCMSSWPset.handleDQMFileSaver E1101 Instance of 'SetupCMSSWPset' has no 'job' member
Line 520 in SetupCMSSWPset.handleDQMFileSaver E1101 Instance of 'SetupCMSSWPset' has no 'step' member
Line 521 in SetupCMSSWPset.handleDQMFileSaver E1101 Instance of 'SetupCMSSWPset' has no 'step' member
Line 545 in SetupCMSSWPset.handleRepackSettings E1101 Instance of 'SetupCMSSWPset' has no 'step' member
Line 546 in SetupCMSSWPset.handleRepackSettings E1101 Instance of 'SetupCMSSWPset' has no 'step' member
Line 587 in SetupCMSSWPset.call E1101 Instance of 'SetupCMSSWPset' has no 'step' member
Line 589 in SetupCMSSWPset.call E1101 Instance of 'SetupCMSSWPset' has no 'step' member
Line 590 in SetupCMSSWPset.call E1101 Instance of 'SetupCMSSWPset' has no 'step' member
Line 591 in SetupCMSSWPset.call E1101 Instance of 'SetupCMSSWPset' has no 'step' member
Line 618 in SetupCMSSWPset.call E1101 Instance of 'SetupCMSSWPset' has no 'step' member
Line 619 in SetupCMSSWPset.call E1101 Instance of 'SetupCMSSWPset' has no 'step' member
Line 630 in SetupCMSSWPset.call E1101 Instance of 'SetupCMSSWPset' has no 'step' member
Line 632 in SetupCMSSWPset.call E1101 Instance of 'SetupCMSSWPset' has no 'applyPSetTweak' member
Line 635 in SetupCMSSWPset.call E1101 Instance of 'SetupCMSSWPset' has no 'step' member
Line 641 in SetupCMSSWPset.call E1101 Instance of 'SetupCMSSWPset' has no 'step' member
Line 642 in SetupCMSSWPset.call E1101 Instance of 'SetupCMSSWPset' has no 'step' member
Line 646 in SetupCMSSWPset.call E1101 Instance of 'SetupCMSSWPset' has no 'job' member
Line 651 in SetupCMSSWPset.call E1101 Instance of 'SetupCMSSWPset' has no 'step' member
Line 655 in SetupCMSSWPset.call E1101 Instance of 'SetupCMSSWPset' has no 'step' member
Line 658 in SetupCMSSWPset.call E1101 Instance of 'SetupCMSSWPset' has no 'job' member
Line 662 in SetupCMSSWPset.call E1101 Instance of 'SetupCMSSWPset' has no 'step' member
Line 678 in SetupCMSSWPset.call E1101 Instance of 'SetupCMSSWPset' has no 'step' member
Line 680 in SetupCMSSWPset.call E1101 Instance of 'SetupCMSSWPset' has no 'step' member
Line 683 in SetupCMSSWPset.call E1101 Instance of 'SetupCMSSWPset' has no 'step' member
Line 685 in SetupCMSSWPset.call E1101 Instance of 'SetupCMSSWPset' has no 'step' member
Line 688 in SetupCMSSWPset.call E1101 Instance of 'SetupCMSSWPset' has no 'step' member
Line 689 in SetupCMSSWPset.call E1101 Instance of 'SetupCMSSWPset' has no 'step' member
Line 691 in SetupCMSSWPset.call E1101 Instance of 'SetupCMSSWPset' has no 'step' member
Line 693 in SetupCMSSWPset.call E1101 Instance of 'SetupCMSSWPset' has no 'step' member
Line 694 in SetupCMSSWPset.call E1101 Instance of 'SetupCMSSWPset' has no 'step' member
Line 577 in SetupCMSSWPset.call R0912 Too many branches (23/12)
Line 190 in SetupCMSSWPset.createProcess W0201 Attribute 'process' defined outside init
Line 198 in SetupCMSSWPset.createProcess W0201 Attribute 'process' defined outside init
Line 207 in SetupCMSSWPset.createProcess W0201 Attribute 'process' defined outside init
Line 230 in SetupCMSSWPset.loadPSet W0201 Attribute 'process' defined outside init
Line 584 in SetupCMSSWPset.call W0201 Attribute 'process' defined outside init
Line 10 W0611 Unused import types
Line 19 W0611 Unused import makeTweak
Line 18 W0611 Unused import WMStep
Line 157 in SetupCMSSWPset R0923 Interface not implemented
plus 18 comments on code style

src/python/WMCore/WorkQueue/Policy/Start/Dataset.py got worse in pylint. Report follows:

Line 16 in Dataset W0223 Method 'modifyPolicyForWorkAddition' is abstract in class 'StartPolicyInterface' but is not overridden
Line 16 in Dataset W0223 Method 'newDataAvailable' is abstract in class 'StartPolicyInterface' but is not overridden
Line 82 in Dataset.validBlocks R0912 Too many branches (19/12)
Line 13 W0611 Unused import sitesFromStorageEelements
Line 16 in Dataset R0923 Interface not implemented
plus 17 comments on code style

src/python/WMCore/Storage/FileManager.py got worse in pylint. Report follows:

Line 344 W0511 FIXME add checksum stuff
Line 27 in FileManager R0902 Too many instance attributes (12/7)
Line 131 in FileManager.stageFile E0702 Raising NoneType while only classes, instances or string are allowed
Line 164 in FileManager.deleteLFN W1201 Specify string format arguments as logging function parameters
Line 184 in FileManager.deleteLFN W0703 Catching too general exception Exception
Line 197 in FileManager.deleteLFN E0702 Raising NoneType while only classes, instances or string are allowed
Line 335 in FileManager._doTransfer W1201 Specify string format arguments as logging function parameters
Line 359 in FileManager._doTransfer W0703 Catching too general exception Exception
Line 318 in FileManager._doTransfer W0612 Unused variable 'pnn'
Line 387 in FileManager.cleanSuccessfulStageOuts E1101 Instance of 'FileManager' has no 'info' member
Line 92 in FileManager.stageFile W0201 Attribute 'firstException' defined outside init
Line 178 in FileManager.deleteLFN W0201 Attribute 'firstException' defined outside init
Line 189 in FileManager.deleteLFN W0201 Attribute 'firstException' defined outside init
Line 353 in FileManager._doTransfer W0201 Attribute 'firstException' defined outside init
Line 366 in FileManager._doTransfer W0201 Attribute 'firstException' defined outside init
Line 449 in DeleteMgr E0102 class already defined line 19
Line 14 W0611 Unused import WMException
Line 19 W0611 Unused import DeleteMgr
Line 23 W0611 Unused import WMCore
Line 18 W0611 Unused import StageOutInitError
Line 10 W0611 Unused import os
plus 91 comments on code style

src/python/WMQuality/Emulators/SiteDBClient/SiteDB.py fails the pylint check. Report follows:

Line 70 in SiteDBJSON.init W0102 Dangerous default value {} as argument
Line 75 in SiteDBJSON._people W0141 Used builtin function 'filter'
Line 75 in SiteDBJSON._people W0110 map/filter on lambda could be replaced by comprehension
Line 73 in SiteDBJSON._people W0613 Unused argument 'clearCache'
Line 81 in SiteDBJSON._sitenames W0141 Used builtin function 'filter'
Line 81 in SiteDBJSON._sitenames W0110 map/filter on lambda could be replaced by comprehension
Line 79 in SiteDBJSON._sitenames W0613 Unused argument 'clearCache'
Line 85 in SiteDBJSON._siteresources W0613 Unused argument 'clearCache'
Line 88 in SiteDBJSON._dataProcessing W0613 Unused argument 'clearCache'
Line 97 in SiteDBJSON.dnUserName W0141 Used builtin function 'filter'
Line 97 in SiteDBJSON.dnUserName W0110 map/filter on lambda could be replaced by comprehension
Line 100 in SiteDBJSON.dnUserName W0141 Used builtin function 'filter'
Line 100 in SiteDBJSON.dnUserName W0110 map/filter on lambda could be replaced by comprehension
Line 125 in SiteDBJSON.getAllCENames W0141 Used builtin function 'filter'
Line 125 in SiteDBJSON.getAllCENames W0110 map/filter on lambda could be replaced by comprehension
Line 126 in SiteDBJSON.getAllCENames W0141 Used builtin function 'map'
Line 126 in SiteDBJSON.getAllCENames W0110 map/filter on lambda could be replaced by comprehension
Line 137 in SiteDBJSON.getAllSENames W0141 Used builtin function 'filter'
Line 137 in SiteDBJSON.getAllSENames W0110 map/filter on lambda could be replaced by comprehension
Line 138 in SiteDBJSON.getAllSENames W0141 Used builtin function 'map'
Line 138 in SiteDBJSON.getAllSENames W0110 map/filter on lambda could be replaced by comprehension
Line 149 in SiteDBJSON.getAllCMSNames W0141 Used builtin function 'filter'
Line 149 in SiteDBJSON.getAllCMSNames W0110 map/filter on lambda could be replaced by comprehension
Line 150 in SiteDBJSON.getAllCMSNames W0141 Used builtin function 'map'
Line 150 in SiteDBJSON.getAllCMSNames W0110 map/filter on lambda could be replaced by comprehension
Line 153 in SiteDBJSON.cmsNametoList W0622 Redefining built-in 'file'
Line 162 in SiteDBJSON.cmsNametoList W0141 Used builtin function 'filter'
Line 162 in SiteDBJSON.cmsNametoList W0110 map/filter on lambda could be replaced by comprehension
Line 164 in SiteDBJSON.cmsNametoList W0141 Used builtin function 'map'
Line 164 in SiteDBJSON.cmsNametoList W0110 map/filter on lambda could be replaced by comprehension
Line 165 in SiteDBJSON.cmsNametoList W0141 Used builtin function 'filter'
Line 165 in SiteDBJSON.cmsNametoList W0110 map/filter on lambda could be replaced by comprehension
Line 166 in SiteDBJSON.cmsNametoList W0141 Used builtin function 'filter'
Line 166 in SiteDBJSON.cmsNametoList W0110 map/filter on lambda could be replaced by comprehension
Line 167 in SiteDBJSON.cmsNametoList W0141 Used builtin function 'map'
Line 167 in SiteDBJSON.cmsNametoList W0110 map/filter on lambda could be replaced by comprehension
Line 153 in SiteDBJSON.cmsNametoList W0613 Unused argument 'file'
Line 177 in SiteDBJSON.ceToCMSName W0141 Used builtin function 'filter'
Line 177 in SiteDBJSON.ceToCMSName W0110 map/filter on lambda could be replaced by comprehension
Line 183 in SiteDBJSON.ceToCMSName W0141 Used builtin function 'filter'
Line 183 in SiteDBJSON.ceToCMSName W0110 map/filter on lambda could be replaced by comprehension
Line 191 in SiteDBJSON.seToCMSName W0141 Used builtin function 'filter'
Line 191 in SiteDBJSON.seToCMSName W0110 map/filter on lambda could be replaced by comprehension
Line 197 in SiteDBJSON.seToCMSName W0141 Used builtin function 'filter'
Line 197 in SiteDBJSON.seToCMSName W0110 map/filter on lambda could be replaced by comprehension
Line 206 in SiteDBJSON.cmsNametoPhEDExNode W0141 Used builtin function 'filter'
Line 206 in SiteDBJSON.cmsNametoPhEDExNode W0110 map/filter on lambda could be replaced by comprehension
Line 209 in SiteDBJSON.cmsNametoPhEDExNode W0141 Used builtin function 'filter'
Line 209 in SiteDBJSON.cmsNametoPhEDExNode W0110 map/filter on lambda could be replaced by comprehension
Line 210 in SiteDBJSON.cmsNametoPhEDExNode W0141 Used builtin function 'map'
Line 210 in SiteDBJSON.cmsNametoPhEDExNode W0110 map/filter on lambda could be replaced by comprehension
Line 220 in SiteDBJSON.PNNtoPSN W0141 Used builtin function 'filter'
Line 220 in SiteDBJSON.PNNtoPSN W0110 map/filter on lambda could be replaced by comprehension
Line 9 in SiteDBJSON R0921 Abstract class not referenced
plus 65 comments on code style

test/python/WMCore_t/WMSpec_t/Steps_t/Executors_t/StageOut_t.py fails the pylint check. Report follows:

Line 445 W0511 TODO make a stagein step in the task - Melo
Line 19 W0404 Reimport 'unittest' (imported line 14)
Line 44 in StageOutTest R0902 Too many instance attributes (14/7)
Line 93 in StageOutTest.setUp W0702 No exception type(s) specified
Line 162 in StageOutTest.tearDown W0702 No exception type(s) specified
Line 176 in StageOutTest.makeReport W0612 Unused variable 'file3'
Line 172 in StageOutTest.makeReport W0612 Unused variable 'mod1'
Line 174 in StageOutTest.makeReport W0612 Unused variable 'file1'
Line 175 in StageOutTest.makeReport W0612 Unused variable 'file2'
Line 173 in StageOutTest.makeReport W0612 Unused variable 'mod2'
Line 169 in StageOutTest.makeReport R0201 Method could be a function
Line 44 in StageOutTest R0904 Too many public methods (21/20)
Line 246 in otherStageOutTexst R0902 Too many instance attributes (11/7)
Line 246 in otherStageOutTexst W0232 Class has no init method
Line 270 in otherStageOutTexst.setUp W0702 No exception type(s) specified
Line 339 in otherStageOutTexst.tearDown W0702 No exception type(s) specified
Line 358 in otherStageOutTexst.testCPBackendStageOutAgainstReportNew E1101 Instance of 'otherStageOutTexst' has no 'assertTrue' member
Line 359 in otherStageOutTexst.testCPBackendStageOutAgainstReportNew E1101 Instance of 'otherStageOutTexst' has no 'assertTrue' member
Line 373 in otherStageOutTexst.testCPBackendStageOutAgainstReportFailedStepNew E1101 Instance of 'otherStageOutTexst' has no 'assertFalse' member
Line 374 in otherStageOutTexst.testCPBackendStageOutAgainstReportFailedStepNew E1101 Instance of 'otherStageOutTexst' has no 'assertFalse' member
Line 389 in otherStageOutTexst.testCPBackendStageOutAgainstReportOld E1101 Instance of 'otherStageOutTexst' has no 'assertTrue' member
Line 390 in otherStageOutTexst.testCPBackendStageOutAgainstReportOld E1101 Instance of 'otherStageOutTexst' has no 'assertTrue' member
Line 405 in otherStageOutTexst.testCPBackendStageOutAgainstReportFailedStepOld E1101 Instance of 'otherStageOutTexst' has no 'assertFalse' member
Line 406 in otherStageOutTexst.testCPBackendStageOutAgainstReportFailedStepOld E1101 Instance of 'otherStageOutTexst' has no 'assertFalse' member
Line 424 in otherStageOutTexst.testOnWorkerNodes W0622 Redefining built-in 'file'
Line 413 in otherStageOutTexst.testOnWorkerNodes W0101 Unreachable code
Line 451 in otherStageOutTexst.testOnWorkerNodes E1123 Unexpected keyword argument 'stageOut' in method call
Line 454 in otherStageOutTexst.testOnWorkerNodes E1101 Instance of 'otherStageOutTexst' has no 'assertTrue' member
Line 455 in otherStageOutTexst.testOnWorkerNodes E1101 Instance of 'otherStageOutTexst' has no 'assertEqual' member
Line 465 in otherStageOutTexst.testOnWorkerNodes E1101 Instance of 'otherStageOutTexst' has no 'assertRaises' member
Line 474 in otherStageOutTexst.testOnWorkerNodes E1101 Instance of 'otherStageOutTexst' has no 'assertFalse' member
Line 475 in otherStageOutTexst.testOnWorkerNodes E1101 Instance of 'otherStageOutTexst' has no 'assertFalse' member
Line 477 in otherStageOutTexst.addStageOutFile R0201 Method could be a function
Line 16 W0611 Unused import tempfile
Line 36 W0611 Unused import inspect
Line 40 W0611 Unused import ReportEmu
Line 32 W0611 Unused import TaskSpace
Line 26 W0611 Unused import WMStep
Line 38 W0611 Unused import ModuleLocator
Line 11 W0611 Unused import CMSSWTemplate
Line 22 W0611 Unused import nose
plus 238 comments on code style

src/python/WMCore/Services/SiteDB/SiteDB.py fails the pylint check. Report follows:

Line 35 in SiteDBJSON.init W0102 Dangerous default value {} as argument
Line 40 in SiteDBJSON.getJSON W0622 Redefining built-in 'file'
Line 40 in SiteDBJSON.getJSON W0102 Dangerous default value {} as argument
Line 70 in SiteDBJSON.getJSON E0602 Undefined variable 'args'
Line 75 in SiteDBJSON._people W0622 Redefining built-in 'file'
Line 83 in SiteDBJSON._sitenames W0622 Redefining built-in 'file'
Line 86 in SiteDBJSON._sitenames W0141 Used builtin function 'filter'
Line 86 in SiteDBJSON._sitenames W0110 map/filter on lambda could be replaced by comprehension
Line 90 in SiteDBJSON._siteresources W0622 Redefining built-in 'file'
Line 89 in SiteDBJSON._siteresources W0613 Unused argument 'clearCache'
Line 94 in SiteDBJSON._dataProcessing W0622 Redefining built-in 'file'
Line 97 in SiteDBJSON._dataProcessing W0141 Used builtin function 'filter'
Line 97 in SiteDBJSON._dataProcessing W0110 map/filter on lambda could be replaced by comprehension
Line 106 in SiteDBJSON.dnUserName W0141 Used builtin function 'filter'
Line 106 in SiteDBJSON.dnUserName W0110 map/filter on lambda could be replaced by comprehension
Line 109 in SiteDBJSON.dnUserName W0141 Used builtin function 'filter'
Line 109 in SiteDBJSON.dnUserName W0110 map/filter on lambda could be replaced by comprehension
Line 119 in SiteDBJSON.userNameDn W0141 Used builtin function 'filter'
Line 119 in SiteDBJSON.userNameDn W0110 map/filter on lambda could be replaced by comprehension
Line 122 in SiteDBJSON.userNameDn W0141 Used builtin function 'filter'
Line 122 in SiteDBJSON.userNameDn W0110 map/filter on lambda could be replaced by comprehension
Line 147 in SiteDBJSON.getAllCENames W0141 Used builtin function 'filter'
Line 147 in SiteDBJSON.getAllCENames W0110 map/filter on lambda could be replaced by comprehension
Line 148 in SiteDBJSON.getAllCENames W0141 Used builtin function 'map'
Line 148 in SiteDBJSON.getAllCENames W0110 map/filter on lambda could be replaced by comprehension
Line 159 in SiteDBJSON.getAllSENames W0141 Used builtin function 'filter'
Line 159 in SiteDBJSON.getAllSENames W0110 map/filter on lambda could be replaced by comprehension
Line 160 in SiteDBJSON.getAllSENames W0141 Used builtin function 'map'
Line 160 in SiteDBJSON.getAllSENames W0110 map/filter on lambda could be replaced by comprehension
Line 171 in SiteDBJSON.getAllCMSNames W0141 Used builtin function 'filter'
Line 171 in SiteDBJSON.getAllCMSNames W0110 map/filter on lambda could be replaced by comprehension
Line 172 in SiteDBJSON.getAllCMSNames W0141 Used builtin function 'map'
Line 172 in SiteDBJSON.getAllCMSNames W0110 map/filter on lambda could be replaced by comprehension
Line 183 in SiteDBJSON.getAllPhEDExNodeNames W0141 Used builtin function 'filter'
Line 183 in SiteDBJSON.getAllPhEDExNodeNames W0110 map/filter on lambda could be replaced by comprehension
Line 184 in SiteDBJSON.getAllPhEDExNodeNames W0141 Used builtin function 'map'
Line 184 in SiteDBJSON.getAllPhEDExNodeNames W0110 map/filter on lambda could be replaced by comprehension
Line 186 in SiteDBJSON.getAllPhEDExNodeNames W0141 Used builtin function 'filter'
Line 186 in SiteDBJSON.getAllPhEDExNodeNames W0110 map/filter on lambda could be replaced by comprehension
Line 189 in SiteDBJSON.cmsNametoList W0622 Redefining built-in 'file'
Line 198 in SiteDBJSON.cmsNametoList W0141 Used builtin function 'filter'
Line 198 in SiteDBJSON.cmsNametoList W0110 map/filter on lambda could be replaced by comprehension
Line 200 in SiteDBJSON.cmsNametoList W0141 Used builtin function 'map'
Line 200 in SiteDBJSON.cmsNametoList W0110 map/filter on lambda could be replaced by comprehension
Line 201 in SiteDBJSON.cmsNametoList W0141 Used builtin function 'filter'
Line 201 in SiteDBJSON.cmsNametoList W0110 map/filter on lambda could be replaced by comprehension
Line 202 in SiteDBJSON.cmsNametoList W0141 Used builtin function 'filter'
Line 202 in SiteDBJSON.cmsNametoList W0110 map/filter on lambda could be replaced by comprehension
Line 203 in SiteDBJSON.cmsNametoList W0141 Used builtin function 'map'
Line 203 in SiteDBJSON.cmsNametoList W0110 map/filter on lambda could be replaced by comprehension
Line 189 in SiteDBJSON.cmsNametoList W0613 Unused argument 'file'
Line 213 in SiteDBJSON.ceToCMSName W0141 Used builtin function 'filter'
Line 213 in SiteDBJSON.ceToCMSName W0110 map/filter on lambda could be replaced by comprehension
Line 219 in SiteDBJSON.ceToCMSName W0141 Used builtin function 'filter'
Line 219 in SiteDBJSON.ceToCMSName W0110 map/filter on lambda could be replaced by comprehension
Line 228 in SiteDBJSON.seToCMSName W0141 Used builtin function 'filter'
Line 228 in SiteDBJSON.seToCMSName W0110 map/filter on lambda could be replaced by comprehension
Line 234 in SiteDBJSON.seToCMSName W0141 Used builtin function 'filter'
Line 234 in SiteDBJSON.seToCMSName W0110 map/filter on lambda could be replaced by comprehension
Line 244 in SiteDBJSON.cmsNametoPhEDExNode W0141 Used builtin function 'filter'
Line 244 in SiteDBJSON.cmsNametoPhEDExNode W0110 map/filter on lambda could be replaced by comprehension
Line 247 in SiteDBJSON.cmsNametoPhEDExNode W0141 Used builtin function 'filter'
Line 247 in SiteDBJSON.cmsNametoPhEDExNode W0110 map/filter on lambda could be replaced by comprehension
Line 248 in SiteDBJSON.cmsNametoPhEDExNode W0141 Used builtin function 'map'
Line 248 in SiteDBJSON.cmsNametoPhEDExNode W0110 map/filter on lambda could be replaced by comprehension
Line 259 in SiteDBJSON.PNNtoPSN W0141 Used builtin function 'filter'
Line 259 in SiteDBJSON.PNNtoPSN W0110 map/filter on lambda could be replaced by comprehension
Line 29 in SiteDBJSON R0904 Too many public methods (34/20)
Line 29 in SiteDBJSON R0921 Abstract class not referenced
plus 48 comments on code style

src/python/WMCore/Services/DBS/DBS3Reader.py got worse in pylint. Report follows:

Line 10 W0401 Wildcard import dbs.exceptions.dbsClientException
Line 32 in remapDBS3Keys W0622 Redefining built-in 'format'
Line 155 in DBS3Reader.listRuns W0106 Expression "[runs.extend(x['run_num']) for x in results]" is assigned to nothing
Line 582 in DBS3Reader.listFileBlockLocation E0602 Undefined variable 'fileBlockName'
Line 560 in DBS3Reader.listFileBlockLocation R0912 Too many branches (14/12)
Line 685 in DBS3Reader.getFiles W0106 Expression "[result.update(self.getFileBlock(x)) for x in blocks]" is assigned to nothing
Line 789 in DBS3Reader.checkDatasetPath R0201 Method could be a function
Line 796 in DBS3Reader.checkBlockName R0201 Method could be a function
Line 42 in DBS3Reader R0904 Too many public methods (28/20)
Line 13 W0611 Unused import emulatorHook
Line 16 W0611 Unused import cmsname
Line 10 W0614 Unused import exceptions from wildcard import
plus 104 comments on code style

src/python/WMCore/Storage/DeleteMgr.py got worse in pylint. Report follows:

Line 21 in DeleteMgr R0902 Too many instance attributes (9/7)
Line 139 in DeleteMgr.initialiseOverride W0612 Unused variable 'ex'
Line 232 in DeleteMgr.deleteLFN W0612 Unused variable 'seName'
Line 237 in DeleteMgr.deleteLFN W0612 Unused variable 'protocol'
Line 233 in DeleteMgr.deleteLFN W0612 Unused variable 'pnn'
Line 235 in DeleteMgr.deleteLFN W0612 Unused variable 'options'
Line 11 W0611 Unused import os
plus 21 comments on code style

test/python/WMCore_t/Services_t/SiteDB_t/SiteDB_t.py got worse in pylint. Report follows:

Line 13 in SiteDBTest R0904 Too many public methods (24/20)
Line 11 W0611 Unused import attr
plus 3 comments on code style

Pre-python 2.6 idioms found in changed files. Please consider updating the code. Suggested patch follows:
--- src/python/WMComponent/DBS3Buffer/DBSBufferFile.py (original)
+++ src/python/WMComponent/DBS3Buffer/DBSBufferFile.py (refactored)
@@ -232,7 +232,7 @@

         Set one or more lfns as the child of this file.
         """
-        if type(lfns) != list:
+        if not isinstance(lfns, list):
             lfns = [lfns]

         existingTransaction = self.beginTransaction()
--- src/python/WMComponent/DBSBuffer/Database/Interface/DBSBufferFile.py (original)
+++ src/python/WMComponent/DBSBuffer/Database/Interface/DBSBufferFile.py (refactored)
@@ -225,7 +225,7 @@

         Set one or more lfns as the child of this file.
         """
-        if type(lfns) != list:
+        if not isinstance(lfns, list):
             lfns = [lfns]

         existingTransaction = self.beginTransaction()
--- src/python/WMComponent/DBSUpload/DBSInterface.py (original)
+++ src/python/WMComponent/DBSUpload/DBSInterface.py (refactored)
@@ -83,7 +83,7 @@

     tierList = dataTier.split("-")

-    if not type(algorithm) == list:
+    if not isinstance(algorithm, list):
         algorithm = [algorithm]

     processedDataset = DbsProcessedDataset(PrimaryDataset = primary,
@@ -680,7 +680,7 @@
         take just one.
         """

-        if type(blockNames) != list:
+        if not isinstance(blockNames, list):
             blockNames = [blockNames]

@@ -721,7 +721,7 @@
             logging.debug("Skipping migration due to doGlobalMigration tag.")
             return blocks

-        if type(blocks) != list:
+        if not isinstance(blocks, list):
             blocks = [blocks]

--- src/python/WMCore/DataStructs/File.py (original)
+++ src/python/WMCore/DataStructs/File.py (refactored)
@@ -98,9 +98,9 @@
         File is equal if it has the same name
         """
         eq = False
-        if type(rhs) == type(self):
+        if isinstance(rhs, type(self)):
             eq = self['lfn'] == rhs['lfn']
-        elif type(rhs) == type('string'):
+        elif isinstance(rhs, type('string')):
             eq = self['lfn'] == rhs
         return eq

@@ -131,7 +131,7 @@
                     "parents": []}

         for parent in self["parents"]:
-            if type(parent) == str:
+            if isinstance(parent, str):
                 # Then for some reason, we're passing strings
                 # Done specifically for ErrorHandler
                 fileDict['parents'].append(parent)
--- src/python/WMCore/Services/DBS/DBS3Reader.py (original)
+++ src/python/WMCore/Services/DBS/DBS3Reader.py (refactored)
@@ -29,7 +29,7 @@
                'block_name': 'BlockName', 'lumi_section_num': 'LumiSectionNumber'}

     mapping.update(others)
-    format = lambda x: str(x) if stringify and type(x) == unicode else x
+    format = lambda x: str(x) if stringify and isinstance(x, unicode) else x
     for name, newname in mapping.iteritems():
         if name in data:
             data[newname] = format(data[name])
--- src/python/WMCore/Services/PhEDEx/PhEDEx.py (original)
+++ src/python/WMCore/Services/PhEDEx/PhEDEx.py (refactored)
@@ -134,7 +134,7 @@

         Update a request approving/disapproving it.
         """
-        if type(nodes) == str:
+        if isinstance(nodes, str):
             nodes = [nodes]
         args = {}
         args['decision'] = decision.lower()
--- src/python/WMCore/WMBS/File.py (original)
+++ src/python/WMCore/WMBS/File.py (refactored)
@@ -31,7 +31,7 @@
         if locations == None:
             self.setdefault("newlocations", set())
         else:
-            if type(locations) == str:
+            if isinstance(locations, str):
                 self.setdefault("newlocations", set())
                 self['newlocations'].add(locations)
             else:
@@ -107,10 +107,9 @@

         def _getAncestorIDs(ids, level):
             action = self.daofactory(classname = "Files.GetParentIDsByID")
-            parentIDs = action.execute(ids, conn = self.getDBConn(),
-                                       transaction = self.existingTransaction())
-
-            parentIDs.sort()
+            parentIDs = sorted(action.execute(ids, conn = self.getDBConn(),
+                                       transaction = self.existingTransaction()))
+
             if level == 1 or len(parentIDs) == 0:
                 return parentIDs
             else:
@@ -149,10 +148,9 @@

         def _getDescendantIDs(ids, level):
             action = self.daofactory(classname = "Files.GetChildIDsByID")
-            childIDs = action.execute(ids, conn = self.getDBConn(),
-                                       transaction = self.existingTransaction())
-
-            childIDs.sort()
+            childIDs = sorted(action.execute(ids, conn = self.getDBConn(),
+                                       transaction = self.existingTransaction()))
+
             if level == 1 or len(childIDs) == 0:
                 return childIDs
             else:
@@ -470,10 +468,10 @@
         # parents should be set of wmbs files in WMBS File class
         self["parents"] = set()

-        if type(file["locations"]) == set:
+        if isinstance(file["locations"], set):
             s = file["locations"].copy()
             pnn = s.pop()
-        elif type(file["locations"]) == list:
+        elif isinstance(file["locations"], list):
             pnn = file["locations"][0]
         else:
             pnn = file["locations"]
--- src/python/WMCore/WMBS/MySQL/Jobs/LoadForErrorHandler.py (original)
+++ src/python/WMCore/WMBS/MySQL/Jobs/LoadForErrorHandler.py (refactored)
@@ -89,7 +89,7 @@
         the result.
         """

-        if type(jobID) == list:
+        if isinstance(jobID, list):
             if len(jobID) < 1:
                 # Nothing to do
                 return []
--- src/python/WMCore/WorkQueue/WorkQueueBackend.py (original)
+++ src/python/WMCore/WorkQueue/WorkQueueBackend.py (refactored)
@@ -542,7 +542,7 @@
         """
         deleted = 0
         dbs = [self.db, self.inbox]
-        if type(workflowNames) != list:
+        if not isinstance(workflowNames, list):
             workflowNames = [workflowNames]

         if len(workflowNames) == 0:
--- test/python/WMComponent_t/JobAccountant_t/JobAccountant_t.py (original)
+++ test/python/WMComponent_t/JobAccountant_t/JobAccountant_t.py (refactored)
@@ -553,7 +553,7 @@
             assert dbsFile["datasetPath"] == datasetPath, \
                    "Error: dataset path in buffer is wrong."

-            if type(parentFileLFNs) == dict:
+            if isinstance(parentFileLFNs, dict):
                 parentFileLFNsCopy = copy.deepcopy(parentFileLFNs[fwkJobReportFile["lfn"]])
             else:
                 parentFileLFNsCopy = copy.deepcopy(parentFileLFNs)
--- test/python/WMComponent_t/JobSubmitter_t/JobSubmitter_t.py (original)
+++ test/python/WMComponent_t/JobSubmitter_t/JobSubmitter_t.py (refactored)
@@ -178,7 +178,7 @@
             #site = self.sites[0]
             testFile = File(lfn = "/singleLfn/%s/%s" % (name, n),
                             size = 1024, events = 10)
-            if type(site) == list:
+            if isinstance(site, list):
                 for singleSite in site:
                     testFile.setLocation(singleSite)
             else:
--- test/python/WMCore_t/WMBS_t/File_t.py (original)
+++ test/python/WMCore_t/WMBS_t/File_t.py (refactored)
@@ -280,26 +280,26 @@
         assert testFileA == testFileC, \
                "ERROR: File load by ID didn't work"

-        assert type(testFileB["id"]) == int, \
+        assert isinstance(testFileB["id"], int), \
                "ERROR: File id is not an integer type."
-        assert type(testFileB["size"]) == int, \
+        assert isinstance(testFileB["size"], int), \
                "ERROR: File size is not an integer type."
-        assert type(testFileB["events"]) == int, \
+        assert isinstance(testFileB["events"], int), \
                "ERROR: File events is not an integer type."
-        assert type(testFileB["checksums"]) == dict, \
+        assert isinstance(testFileB["checksums"], dict), \
                "ERROR: File cksum is not a string type."
-        assert type(testFileB["first_event"]) == int, \
+        assert isinstance(testFileB["first_event"], int), \
                "ERROR: File first_event is not an integer type."

-        assert type(testFileC["id"]) == int, \
+        assert isinstance(testFileC["id"], int), \
                "ERROR: File id is not an integer type."
-        assert type(testFileC["size"]) == int, \
+        assert isinstance(testFileC["size"], int), \
                "ERROR: File size is not an integer type."
-        assert type(testFileC["events"]) == int, \
+        assert isinstance(testFileC["events"], int), \
                "ERROR: File events is not an integer type."
-        assert type(testFileC["checksums"]) == dict, \
+        assert isinstance(testFileC["checksums"], dict), \
                "ERROR: File cksum is not an string type."
-        assert type(testFileC["first_event"]) == int, \
+        assert isinstance(testFileC["first_event"], int), \
                "ERROR: File first_event is not an integer type."

         self.assertEqual(testFileC['checksums'], {'cksum': '101'})
--- test/python/WMCore_t/WMBS_t/Fileset_t.py (original)
+++ test/python/WMCore_t/WMBS_t/Fileset_t.py (refactored)
@@ -159,10 +159,10 @@
         testFilesetC = Fileset(id = testFilesetA.id)
         testFilesetC.load()

-        assert type(testFilesetB.id) == int, \
+        assert isinstance(testFilesetB.id, int), \
                "ERROR: Fileset id is not an int."

-        assert type(testFilesetC.id) == int, \
+        assert isinstance(testFilesetC.id, int), \
                "ERROR: Fileset id is not an int."

         assert testFilesetB.id == testFilesetA.id, \
--- test/python/WMCore_t/WMBS_t/JobGroup_t.py (original)
+++ test/python/WMCore_t/WMBS_t/JobGroup_t.py (refactored)
@@ -308,22 +308,22 @@
         testJobGroupC = JobGroup(uid = testJobGroupA.uid)
         testJobGroupC.load()

-        assert type(testJobGroupB.id) == int, \
+        assert isinstance(testJobGroupB.id, int), \
                "ERROR: Job group id is not an int."

-        assert type(testJobGroupC.id) == int, \
+        assert isinstance(testJobGroupC.id, int), \
                "ERROR: Job group id is not an int."

-        assert type(testJobGroupB.subscription["id"]) == int, \
+        assert isinstance(testJobGroupB.subscription["id"], int), \
                "ERROR: Job group subscription id is not an int."

-        assert type(testJobGroupC.subscription["id"]) == int, \
+        assert isinstance(testJobGroupC.subscription["id"], int), \
                "ERROR: Job group subscription id is not an int."

-        assert type(testJobGroupB.output.id) == int, \
+        assert isinstance(testJobGroupB.output.id, int), \
                "ERROR: Job group output id is not an int."

-        assert type(testJobGroupC.output.id) == int, \
+        assert isinstance(testJobGroupC.output.id, int), \
                "ERROR: Job group output id is not an int."

         assert testJobGroupB.uid == testJobGroupA.uid, \
--- test/python/WMCore_t/WMBS_t/Subscription_t.py (original)
+++ test/python/WMCore_t/WMBS_t/Subscription_t.py (refactored)
@@ -814,22 +814,22 @@
         testSubscriptionB.load()
         testSubscriptionC.load()

-        assert type(testSubscriptionB["id"]) == int, \
+        assert isinstance(testSubscriptionB["id"], int), \
                "ERROR: Subscription id is not an int."

-        assert type(testSubscriptionC["id"]) == int, \
+        assert isinstance(testSubscriptionC["id"], int), \
                "ERROR: Subscription id is not an int."

-        assert type(testSubscriptionB["workflow"].id) == int, \
+        assert isinstance(testSubscriptionB["workflow"].id, int), \
                "ERROR: Subscription workflow id is not an int."

-        assert type(testSubscriptionC["workflow"].id) == int, \
+        assert isinstance(testSubscriptionC["workflow"].id, int), \
                "ERROR: Subscription workflow id is not an int."

-        assert type(testSubscriptionB["fileset"].id) == int, \
+        assert isinstance(testSubscriptionB["fileset"].id, int), \
                "ERROR: Subscription fileset id is not an int."

-        assert type(testSubscriptionC["fileset"].id) == int, \
+        assert isinstance(testSubscriptionC["fileset"].id, int), \
                "ERROR: Subscription fileset id is not an int."

         assert testWorkflow.id == testSubscriptionB["workflow"].id, \

Unit test changes for pull request 5989:

WMCore_t.Services_t.SiteDB_t.SiteDB_t.SiteDBTest:testPhEDExNodetocmsName was deleted. Prior status was success
WMCore_t.WorkQueue_t.Policy_t.Start_t.Dataset_t.DatasetTestCase:testDataDirectiveFromQueue changed from error to success
WMCore_t.WorkQueue_t.Policy_t.Start_t.Dataset_t.DatasetTestCase:testMultiTaskProcessingWorkload changed from error to failure
WMCore_t.WorkQueue_t.Policy_t.Start_t.Dataset_t.DatasetTestCase:testTier1ReRecoWorkload changed from error to failure
WMCore_t.WorkQueue_t.Policy_t.Start_t.Dataset_t.DatasetTestCase:testWhiteBlackLists changed from error to failure
WMCore_t.WorkQueue_t.WorkQueue_t.WorkQueueTest:testCancelWork changed from error to failure
WMCore_t.WorkQueue_t.WorkQueue_t.WorkQueueTest:testGlobalDatasetSplitting changed from error to failure

This is looking good. Now the only transitions are "error to failure" Maybe this is good to merge or do we need to investigate the error to failure issues?

@ericvaandering, @ticoann I will differ to Seangchan to answer this as he said he was looking at the Workqueue tests.

 Just wondering whether it should be merged into master or a new branch would be better.

Thanks Alan for reminding us to be careful. As far as I remember, i think this change will only affects the agent but I think we should test against current testbed to make sure whether it breaks anything or not.
Since the new testbed deploy deadline is today, I think it is better to wait for the merge until we make sure it is compatible with current reqmgr, workqueue, tier0, etc.

And thanks Alex for completing this big change.

The list of files changed does not open in my laptop/browser :-) but AFAIR there are database changes, risn't that right @alexanderrichards ? Or did you manage to deploy the current production agent version and simply applied this patch?
Ok Seangchan, I'll run our battery of tests this week.

the tables and keys in the database remain the same but the content now have pnns.

Beginning pylint and unit tests.
See https://cmssdt.cern.ch/jenkins/job/DMWM-PR-test/746/ for details

Beginning pylint and unit tests.
See https://cmssdt.cern.ch/jenkins/job/DMWM-PR-test/747/ for details

Summary of pylint changes for pull request 5989:

Score for src/python/WMCore/Services/DBS/DBS3Reader.py changed from 9.76 to 9.61 with 1 (7) total errors (warnings)
Score for src/python/WMCore/Storage/DeleteMgr.py changed from 9.71 to 9.68 with 0 (6) total errors (warnings)
Score for src/python/WMCore/Storage/FileManager.py changed from 8.64 to 8.65 with 4 (16) total errors (warnings)
Score for src/python/WMCore/Storage/StageInMgr.py changed from 9.88 to 9.83 with 0 (3) total errors (warnings)
Score for src/python/WMCore/Storage/StageOutMgr.py changed from 9.55 to 9.53 with 1 (6) total errors (warnings)
Score for src/python/WMCore/WorkQueue/Policy/Start/Dataset.py changed from 9.81 to 9.72 with 0 (3) total errors (warnings)
Score for src/python/WMCore/WorkQueue/Policy/Start/StartPolicyInterface.py changed from 9.93 to 9.86 with 0 (2) total errors (warnings)
Score for test/data/ReqMgr/RequestQuery.py changed from 9.45 to 9.14 with 1 (10) total errors (warnings)
Score for test/python/WMCore_t/Services_t/SiteDB_t/SiteDB_t.py changed from 9.84 to 9.82 with 0 (1) total errors (warnings)

Abbreviated pylint report for src/python/WMComponent/DBS3Buffer/DBSBufferFile.py follows:

Line 18 in DBSBufferFile.init W0613 Unused argument 'prep_id'
plus 7 total warnings
plus 173 comments on code style

Abbreviated pylint report for src/python/WMComponent/DBS3Buffer/DBSBufferUtil.py follows:

Line 23 in DBSBufferUtil.init W0613 Unused argument 'dbfactory'
Line 40 in DBSBufferUtil.addFile E1123 Unexpected keyword argument 'dataset' in constructor call
Line 40 in DBSBufferUtil.addFile E1123 Unexpected keyword argument 'cksum' in constructor call
Line 36 in DBSBufferUtil.addFile W0612 Unused variable 'myThread'
Line 70 in DBSBufferUtil.addDataset W0613 Unused argument 'algoInDBS'
Line 74 in DBSBufferUtil.addDataset W0612 Unused variable 'myThread'
Line 89 in DBSBufferUtil.addAlgo W0612 Unused variable 'myThread'
Line 119 in DBSBufferUtil.updateAlgo W0612 Unused variable 'myThread'
Line 139 in DBSBufferUtil.loadDBSBufferFilesBulk W0612 Unused variable 'myThread'
Line 193 in DBSBufferUtil.findUploadableDAS W0612 Unused variable 'myThread'
Line 213 in DBSBufferUtil.findOpenBlocks W0612 Unused variable 'myThread'
Line 233 in DBSBufferUtil.loadBlocksByDAS W0612 Unused variable 'myThread'
Line 260 in DBSBufferUtil.loadBlocks W0612 Unused variable 'myThread'
Line 282 in DBSBufferUtil.findUploadableFilesByDAS W0612 Unused variable 'myThread'
Line 328 in DBSBufferUtil.updateBlocks W0612 Unused variable 'myThread'
Line 346 in DBSBufferUtil.updateFileStatus W0612 Unused variable 'myThread'
Line 442 in DBSBufferUtil.getCompletedWorkflows W0612 Unused variable 'myThread'
Line 8 W0611 Unused import logging
Line 11 W0611 Unused import WMFactory
plus 19 total warnings
plus 77 comments on code style

Abbreviated pylint report for src/python/WMComponent/DBSBuffer/Database/Interface/AddToBuffer.py follows:

Line 39 in AddToBuffer.addFile E1123 Unexpected keyword argument 'dataset' in constructor call
Line 39 in AddToBuffer.addFile E1123 Unexpected keyword argument 'cksum' in constructor call
Line 35 in AddToBuffer.addFile W0612 Unused variable 'myThread'
Line 68 in AddToBuffer.addDataset W0613 Unused argument 'algoInDBS'
Line 12 W0611 Unused import logging
Line 13 W0611 Unused import os
plus 6 total warnings
plus 52 comments on code style

Abbreviated pylint report for src/python/WMComponent/DBSBuffer/Database/Interface/DBSBufferFile.py follows:

Line 17 W0611 Unused import Transaction
Line 13 W0611 Unused import logging
Line 12 W0611 Unused import threading
Line 11 W0611 Unused import time
plus 10 total warnings
plus 167 comments on code style

Abbreviated pylint report for src/python/WMComponent/DBSUpload/DBSInterface.py follows:

Line 2 E0012 Bad option value 'W6501'
Line 16 W0611 Unused import time
plus 5 total warnings
plus 144 comments on code style

Abbreviated pylint report for src/python/WMComponent/JobAccountant/AccountantWorker.py follows:

Line 2 E0012 Bad option value 'W6501'
Line 615 in AccountantWorker.createMissingFWKJR W0613 Unused argument 'parameters'
Line 37 W0611 Unused import newWorkload
Line 16 W0611 Unused import shutil
plus 29 total warnings
plus 230 comments on code style

Abbreviated pylint report for src/python/WMCore/BossAir/Plugins/CondorPlugin.py follows:

Line 285 in CondorPlugin.close W0612 Unused variable 'x'
Line 433 in CondorPlugin.submit W0612 Unused variable 'n'
Line 456 in CondorPlugin.submit W0612 Unused variable 'output'
Line 541 in CondorPlugin.track W0613 Unused argument 'info'
Line 587 in CondorPlugin.track W0612 Unused variable 'ex'
Line 710 in CondorPlugin.complete W0612 Unused variable 'ex'
Line 753 in CondorPlugin.updateSiteInformation W0612 Unused variable 'out'
Line 753 in CondorPlugin.updateSiteInformation W0612 Unused variable 'err'
Line 776 in CondorPlugin.kill W0613 Unused argument 'info'
Line 788 in CondorPlugin.kill W0612 Unused variable 'err'
Line 788 in CondorPlugin.kill W0612 Unused variable 'out'
Line 801 in CondorPlugin.killWorkflowJobs W0612 Unused variable 'err'
Line 801 in CondorPlugin.killWorkflowJobs W0612 Unused variable 'out'
Line 907 in CondorPlugin.initSubmit W0612 Unused variable 'err'
Line 907 in CondorPlugin.initSubmit W0612 Unused variable 'out'
Line 915 in CondorPlugin.customizeCommon W0613 Unused argument 'jobList'
plus 36 total warnings
plus 113 comments on code style

Abbreviated pylint report for src/python/WMCore/BossAir/Plugins/PyCondorPlugin.py follows:

Line 306 in PyCondorPlugin.close W0612 Unused variable 'x'
Line 461 in PyCondorPlugin.submit W0612 Unused variable 'n'
Line 484 in PyCondorPlugin.submit W0612 Unused variable 'output'
Line 569 in PyCondorPlugin.track W0613 Unused argument 'info'
Line 587 in PyCondorPlugin.track W0612 Unused variable 'sd'
Line 676 in PyCondorPlugin.complete W0612 Unused variable 'ex'
Line 736 in PyCondorPlugin.kill W0613 Unused argument 'info'
Line 853 in PyCondorPlugin.initSubmit W0612 Unused variable 'err'
Line 853 in PyCondorPlugin.initSubmit W0612 Unused variable 'out'
Line 861 in PyCondorPlugin.customizeCommon W0613 Unused argument 'jobList'
plus 32 total warnings
plus 188 comments on code style

Abbreviated pylint report for src/python/WMCore/DataStructs/File.py follows:

Line 11 W0611 Unused import datetime
plus 6 total warnings
plus 12 comments on code style

Abbreviated pylint report for src/python/WMCore/FwkJobReport/Report.py follows:

Line 36 in checkFileForCompletion W0613 Unused argument 'filee'
Line 148 in Report.parse W0612 Unused variable 'crashMessage'
Line 206 in Report.to_json W0613 Unused argument 'thunker'
plus 24 total warnings
plus 103 comments on code style

Abbreviated pylint report for src/python/WMCore/JobSplitting/SiblingProcessingBased.py follows:

Line 10 W0611 Unused import logging
plus 1 total warnings
plus 18 comments on code style

Abbreviated pylint report for src/python/WMCore/JobSplitting/SplitFileBased.py follows:

Line 121 in SplitFileBased.defineMergeUnits E0601 Using variable 'newMergeUnit' before assignment
plus 2 total warnings
plus 8 comments on code style

Abbreviated pylint report for src/python/WMCore/JobSplitting/WMBSMergeBySize.py follows:

Line 119 in WMBSMergeBySize.defineMergeUnits E0601 Using variable 'newMergeUnit' before assignment
plus 8 total warnings
plus 20 comments on code style

src/python/WMCore/Services/DBS/DBS3Reader.py got worse in pylint. Report follows:

Line 10 W0401 Wildcard import dbs.exceptions.dbsClientException
Line 32 in remapDBS3Keys W0622 Redefining built-in 'format'
Line 155 in DBS3Reader.listRuns W0106 Expression "[runs.extend(x['run_num']) for x in results]" is assigned to nothing
Line 582 in DBS3Reader.listFileBlockLocation E0602 Undefined variable 'fileBlockName'
Line 560 in DBS3Reader.listFileBlockLocation R0912 Too many branches (14/12)
Line 685 in DBS3Reader.getFiles W0106 Expression "[result.update(self.getFileBlock(x)) for x in blocks]" is assigned to nothing
Line 789 in DBS3Reader.checkDatasetPath R0201 Method could be a function
Line 796 in DBS3Reader.checkBlockName R0201 Method could be a function
Line 42 in DBS3Reader R0904 Too many public methods (28/20)
Line 13 W0611 Unused import emulatorHook
Line 16 W0611 Unused import cmsname
Line 10 W0614 Unused import exceptions from wildcard import
plus 104 comments on code style

src/python/WMCore/Services/DBS/DBSWriter.py fails the pylint check. Report follows:

Line 12 W0622 Redefining built-in 'Exception'
Line 12 W0401 Wildcard import DBSAPI.dbsException
Line 13 W0401 Wildcard import DBSAPI.dbsStorageElement
Line 14 W0401 Wildcard import DBSAPI.dbsApiException
Line 50 in _CreateDatasetOperator.call E1101 Instance of '_CreateDatasetOperator' has no 'getOutputDatasetsWithPSet' member
Line 56 in _CreateDatasetOperator.call W0703 Catching too general exception Exception
Line 56 in _CreateDatasetOperator.call W0623 Redefining name 'ex' from outer scope (line 12) in exception handler
Line 68 in _CreateDatasetOperator.call W0612 Unused variable 'processed'
Line 36 in _CreateDatasetOperator R0903 Too few public methods (0/2)
Line 87 in _CreateMergeDatasetOperator.call W0212 Access to a protected member _OutputDatasets of a client class
Line 110 in _CreateMergeDatasetOperator.call W1201 Specify string format arguments as logging function parameters
Line 111 in _CreateMergeDatasetOperator.call W1201 Specify string format arguments as logging function parameters
Line 112 in _CreateMergeDatasetOperator.call W1201 Specify string format arguments as logging function parameters
Line 73 in _CreateMergeDatasetOperator R0903 Too few public methods (0/2)
Line 130 in _remapBlockParentage.dropNode W1201 Specify string format arguments as logging function parameters
Line 131 in _remapBlockParentage.dropNode W1201 Specify string format arguments as logging function parameters
Line 212 in DBSWriter.init W0623 Redefining name 'ex' from outer scope (line 12) in exception handler
Line 230 in DBSWriter.createDatasets W0623 Redefining name 'ex' from outer scope (line 12) in exception handler
Line 366 in DBSWriter.insertFilesForDBSBuffer W0622 Redefining built-in 'file'
Line 237 in DBSWriter.insertFilesForDBSBuffer R0913 Too many arguments (10/7)
Line 237 in DBSWriter.insertFilesForDBSBuffer R0914 Too many local variables (35/30)
Line 285 in DBSWriter.insertFilesForDBSBuffer W1201 Specify string format arguments as logging function parameters
Line 330 in DBSWriter.insertFilesForDBSBuffer W1201 Specify string format arguments as logging function parameters
Line 356 in DBSWriter.insertFilesForDBSBuffer W0623 Redefining name 'ex' from outer scope (line 12) in exception handler
Line 395 in DBSWriter.insertFilesForDBSBuffer W1201 Specify string format arguments as logging function parameters
Line 410 in DBSWriter.insertFilesForDBSBuffer W1201 Specify string format arguments as logging function parameters
Line 346 in DBSWriter.insertFilesForDBSBuffer W0612 Unused variable 'blockList'
Line 238 in DBSWriter.insertFilesForDBSBuffer W0613 Unused argument 'jobType'
Line 344 in DBSWriter.insertFilesForDBSBuffer W0612 Unused variable 'sumFiles'
Line 345 in DBSWriter.insertFilesForDBSBuffer W0612 Unused variable 'tmpFiles'
Line 343 in DBSWriter.insertFilesForDBSBuffer W0612 Unused variable 'sumSize'
Line 238 in DBSWriter.insertFilesForDBSBuffer W0613 Unused argument 'insertDetectorData'
Line 237 in DBSWriter.insertFilesForDBSBuffer R0912 Too many branches (22/12)
Line 624 in DBSWriter.insertFiles W0622 Redefining built-in 'hash'
Line 570 in DBSWriter.insertFiles W1201 Specify string format arguments as logging function parameters
Line 594 in DBSWriter.insertFiles W0623 Redefining name 'ex' from outer scope (line 12) in exception handler
Line 664 in DBSWriter.insertFiles W1201 Specify string format arguments as logging function parameters
Line 685 in DBSWriter.insertFiles W1201 Specify string format arguments as logging function parameters
Line 534 in DBSWriter.insertFiles R0912 Too many branches (19/12)
Line 691 in DBSWriter.manageFileBlock W0102 Dangerous default value [] as argument
Line 691 in DBSWriter.manageFileBlock W0102 Dangerous default value [] as argument
Line 691 in DBSWriter.manageFileBlock R0913 Too many arguments (8/7)
Line 734 in DBSWriter.manageFileBlock W0623 Redefining name 'ex' from outer scope (line 12) in exception handler
Line 751 in DBSWriter.manageFileBlock W1201 Specify string format arguments as logging function parameters
Line 753 in DBSWriter.manageFileBlock W1201 Specify string format arguments as logging function parameters
Line 824 in DBSWriter.manageFileBlock W1201 Specify string format arguments as logging function parameters
Line 826 in DBSWriter.manageFileBlock W1201 Specify string format arguments as logging function parameters
Line 819 in DBSWriter.manageFileBlock W0612 Unused variable 'algo'
Line 691 in DBSWriter.manageFileBlock R0912 Too many branches (18/12)
Line 883 in DBSWriter.migrateDatasetBlocks E1101 Instance of 'DbsApi' has no 'listDatasetContents' member
Line 884 in DBSWriter.migrateDatasetBlocks W0623 Redefining name 'ex' from outer scope (line 12) in exception handler
Line 953 in DBSWriter.importDatasetWithExistingParents E1101 Instance of 'DbsApi' has no 'listDatasetContents' member
Line 956 in DBSWriter.importDatasetWithExistingParents W0623 Redefining name 'ex' from outer scope (line 12) in exception handler
Line 908 in DBSWriter.importDatasetWithExistingParents W0613 Unused argument 'targetDBS'
Line 1035 in DBSWriter.importDataset W0623 Redefining name 'ex' from outer scope (line 12) in exception handler
Line 1100 in DBSWriter.importDatasetWithoutParentage W0623 Redefining name 'ex' from outer scope (line 12) in exception handler
Line 1120 in DBSWriter.getOutputDatasetsWithPSet E0213 Method should have "self" as first argument
Line 1133 in DBSWriter.getOutputDatasetsWithPSet E1101 Instance of 'DBSWriter' has no '_OutputDatasets' member
Line 1136 in DBSWriter.getOutputDatasetsWithPSet E1101 Instance of 'DBSWriter' has no 'application' member
Line 1137 in DBSWriter.getOutputDatasetsWithPSet E1101 Instance of 'DBSWriter' has no 'application' member
Line 1138 in DBSWriter.getOutputDatasetsWithPSet E1101 Instance of 'DBSWriter' has no 'application' member
Line 1145 in DBSWriter.getOutputDatasetsWithPSet W0703 Catching too general exception Exception
Line 1142 in DBSWriter.getOutputDatasetsWithPSet E1101 Instance of 'DBSWriter' has no 'cfgInterface' member
Line 1145 in DBSWriter.getOutputDatasetsWithPSet W0623 Redefining name 'ex' from outer scope (line 12) in exception handler
Line 1150 in DBSWriter.getOutputDatasetsWithPSet E0602 Undefined variable '_sortDatasets'
Line 1145 in DBSWriter.getOutputDatasetsWithPSet W0612 Unused variable 'ex'
Line 1189 in DatasetInfo.str E1101 Instance of 'DatasetInfo' has no 'save' member
Line 13 W0614 Unused import isListType from wildcard import
Line 34 W0611 Unused import base64
Line 12 W0614 Unused import InvalidArgument from wildcard import
Line 13 W0614 Unused import isStringType from wildcard import
Line 14 W0614 Unused import DbsDatabaseError from wildcard import
Line 12 W0614 Unused import ex from wildcard import
Line 12 W0614 Unused import MethodNotImplemented from wildcard import
Line 13 W0614 Unused import isLongType from wildcard import
Line 12 W0614 Unused import DataNotInitialized from wildcard import
Line 13 W0614 Unused import isDictType from wildcard import
Line 14 W0614 Unused import DbsBadRequest from wildcard import
Line 14 W0614 Unused import DbsExecutionError from wildcard import
Line 14 W0614 Unused import DbsConnectionError from wildcard import
Line 14 W0614 Unused import DbsNoObject from wildcard import
Line 13 W0614 Unused import DbsStorageElement from wildcard import
Line 13 W0614 Unused import verifyDatasetPathName from wildcard import
Line 27 W0611 Unused import DbsFileBlock
Line 14 W0614 Unused import DbsToolError from wildcard import
Line 14 W0614 Unused import InvalidDatasetPathName from wildcard import
Line 13 W0614 Unused import ValidationTable from wildcard import
Line 14 W0614 Unused import DbsConfigurationError from wildcard import
Line 14 W0614 Unused import DbsObjectExists from wildcard import
Line 14 W0614 Unused import DbsBadData from wildcard import
Line 14 W0614 Unused import DbsProxyNotFound from wildcard import
Line 13 W0614 Unused import string from wildcard import
Line 13 W0614 Unused import isIntType from wildcard import
Line 13 W0614 Unused import dbsException from wildcard import
Line 14 W0614 Unused import DbsApiException from wildcard import
Line 13 W0614 Unused import re from wildcard import
Line 13 W0614 Unused import isFloatType from wildcard import
Line 13 W0614 Unused import types from wildcard import
Line 13 W0614 Unused import ALLOWED_DATASET_REGEX_ from wildcard import
Line 14 W0614 Unused import DbsBadXMLData from wildcard import
Line 14 W0614 Unused import DbsBadResponse from wildcard import
Line 26 W0611 Unused import get_path
Line 13 W0614 Unused import ALLOWED_NAME_CHARS_ from wildcard import
Line 14 W0614 Unused import InvalidDataTier from wildcard import
Line 13 W0614 Unused import DbsBase from wildcard import
plus 168 comments on code style

Abbreviated pylint report for src/python/WMCore/Services/PhEDEx/PhEDEx.py follows:

Line 20 in PhEDEx.init W0613 Unused argument 'secure'
plus 8 total warnings
plus 49 comments on code style

src/python/WMCore/Services/SiteDB/SiteDB.py fails the pylint check. Report follows:

Line 35 in SiteDBJSON.init W0102 Dangerous default value {} as argument
Line 40 in SiteDBJSON.getJSON W0102 Dangerous default value {} as argument
Line 40 in SiteDBJSON.getJSON W0622 Redefining built-in 'file'
Line 70 in SiteDBJSON.getJSON E0602 Undefined variable 'args'
Line 75 in SiteDBJSON._people W0622 Redefining built-in 'file'
Line 83 in SiteDBJSON._sitenames W0622 Redefining built-in 'file'
Line 86 in SiteDBJSON._sitenames W0141 Used builtin function 'filter'
Line 86 in SiteDBJSON._sitenames W0110 map/filter on lambda could be replaced by comprehension
Line 90 in SiteDBJSON._siteresources W0622 Redefining built-in 'file'
Line 89 in SiteDBJSON._siteresources W0613 Unused argument 'clearCache'
Line 94 in SiteDBJSON._dataProcessing W0622 Redefining built-in 'file'
Line 97 in SiteDBJSON._dataProcessing W0141 Used builtin function 'filter'
Line 97 in SiteDBJSON._dataProcessing W0110 map/filter on lambda could be replaced by comprehension
Line 106 in SiteDBJSON.dnUserName W0141 Used builtin function 'filter'
Line 106 in SiteDBJSON.dnUserName W0110 map/filter on lambda could be replaced by comprehension
Line 109 in SiteDBJSON.dnUserName W0141 Used builtin function 'filter'
Line 109 in SiteDBJSON.dnUserName W0110 map/filter on lambda could be replaced by comprehension
Line 119 in SiteDBJSON.userNameDn W0141 Used builtin function 'filter'
Line 119 in SiteDBJSON.userNameDn W0110 map/filter on lambda could be replaced by comprehension
Line 122 in SiteDBJSON.userNameDn W0141 Used builtin function 'filter'
Line 122 in SiteDBJSON.userNameDn W0110 map/filter on lambda could be replaced by comprehension
Line 147 in SiteDBJSON.getAllCENames W0141 Used builtin function 'filter'
Line 147 in SiteDBJSON.getAllCENames W0110 map/filter on lambda could be replaced by comprehension
Line 148 in SiteDBJSON.getAllCENames W0141 Used builtin function 'map'
Line 148 in SiteDBJSON.getAllCENames W0110 map/filter on lambda could be replaced by comprehension
Line 159 in SiteDBJSON.getAllSENames W0141 Used builtin function 'filter'
Line 159 in SiteDBJSON.getAllSENames W0110 map/filter on lambda could be replaced by comprehension
Line 160 in SiteDBJSON.getAllSENames W0141 Used builtin function 'map'
Line 160 in SiteDBJSON.getAllSENames W0110 map/filter on lambda could be replaced by comprehension
Line 171 in SiteDBJSON.getAllCMSNames W0141 Used builtin function 'filter'
Line 171 in SiteDBJSON.getAllCMSNames W0110 map/filter on lambda could be replaced by comprehension
Line 172 in SiteDBJSON.getAllCMSNames W0141 Used builtin function 'map'
Line 172 in SiteDBJSON.getAllCMSNames W0110 map/filter on lambda could be replaced by comprehension
Line 183 in SiteDBJSON.getAllPhEDExNodeNames W0141 Used builtin function 'filter'
Line 183 in SiteDBJSON.getAllPhEDExNodeNames W0110 map/filter on lambda could be replaced by comprehension
Line 184 in SiteDBJSON.getAllPhEDExNodeNames W0141 Used builtin function 'map'
Line 184 in SiteDBJSON.getAllPhEDExNodeNames W0110 map/filter on lambda could be replaced by comprehension
Line 186 in SiteDBJSON.getAllPhEDExNodeNames W0141 Used builtin function 'filter'
Line 186 in SiteDBJSON.getAllPhEDExNodeNames W0110 map/filter on lambda could be replaced by comprehension
Line 189 in SiteDBJSON.cmsNametoList W0622 Redefining built-in 'file'
Line 198 in SiteDBJSON.cmsNametoList W0141 Used builtin function 'filter'
Line 198 in SiteDBJSON.cmsNametoList W0110 map/filter on lambda could be replaced by comprehension
Line 200 in SiteDBJSON.cmsNametoList W0141 Used builtin function 'map'
Line 200 in SiteDBJSON.cmsNametoList W0110 map/filter on lambda could be replaced by comprehension
Line 201 in SiteDBJSON.cmsNametoList W0141 Used builtin function 'filter'
Line 201 in SiteDBJSON.cmsNametoList W0110 map/filter on lambda could be replaced by comprehension
Line 202 in SiteDBJSON.cmsNametoList W0141 Used builtin function 'filter'
Line 202 in SiteDBJSON.cmsNametoList W0110 map/filter on lambda could be replaced by comprehension
Line 203 in SiteDBJSON.cmsNametoList W0141 Used builtin function 'map'
Line 203 in SiteDBJSON.cmsNametoList W0110 map/filter on lambda could be replaced by comprehension
Line 189 in SiteDBJSON.cmsNametoList W0613 Unused argument 'file'
Line 213 in SiteDBJSON.ceToCMSName W0141 Used builtin function 'filter'
Line 213 in SiteDBJSON.ceToCMSName W0110 map/filter on lambda could be replaced by comprehension
Line 219 in SiteDBJSON.ceToCMSName W0141 Used builtin function 'filter'
Line 219 in SiteDBJSON.ceToCMSName W0110 map/filter on lambda could be replaced by comprehension
Line 228 in SiteDBJSON.seToCMSName W0141 Used builtin function 'filter'
Line 228 in SiteDBJSON.seToCMSName W0110 map/filter on lambda could be replaced by comprehension
Line 234 in SiteDBJSON.seToCMSName W0141 Used builtin function 'filter'
Line 234 in SiteDBJSON.seToCMSName W0110 map/filter on lambda could be replaced by comprehension
Line 244 in SiteDBJSON.cmsNametoPhEDExNode W0141 Used builtin function 'filter'
Line 244 in SiteDBJSON.cmsNametoPhEDExNode W0110 map/filter on lambda could be replaced by comprehension
Line 247 in SiteDBJSON.cmsNametoPhEDExNode W0141 Used builtin function 'filter'
Line 247 in SiteDBJSON.cmsNametoPhEDExNode W0110 map/filter on lambda could be replaced by comprehension
Line 248 in SiteDBJSON.cmsNametoPhEDExNode W0141 Used builtin function 'map'
Line 248 in SiteDBJSON.cmsNametoPhEDExNode W0110 map/filter on lambda could be replaced by comprehension
Line 259 in SiteDBJSON.PNNtoPSN W0141 Used builtin function 'filter'
Line 259 in SiteDBJSON.PNNtoPSN W0110 map/filter on lambda could be replaced by comprehension
Line 29 in SiteDBJSON R0904 Too many public methods (34/20)
Line 29 in SiteDBJSON R0921 Abstract class not referenced
plus 48 comments on code style

src/python/WMCore/Storage/DeleteMgr.py got worse in pylint. Report follows:

Line 21 in DeleteMgr R0902 Too many instance attributes (9/7)
Line 139 in DeleteMgr.initialiseOverride W0612 Unused variable 'ex'
Line 232 in DeleteMgr.deleteLFN W0612 Unused variable 'seName'
Line 237 in DeleteMgr.deleteLFN W0612 Unused variable 'protocol'
Line 233 in DeleteMgr.deleteLFN W0612 Unused variable 'pnn'
Line 235 in DeleteMgr.deleteLFN W0612 Unused variable 'options'
Line 11 W0611 Unused import os
plus 21 comments on code style

src/python/WMCore/Storage/FileManager.py got worse in pylint. Report follows:

Line 344 W0511 FIXME add checksum stuff
Line 27 in FileManager R0902 Too many instance attributes (12/7)
Line 131 in FileManager.stageFile E0702 Raising NoneType while only classes, instances or string are allowed
Line 164 in FileManager.deleteLFN W1201 Specify string format arguments as logging function parameters
Line 184 in FileManager.deleteLFN W0703 Catching too general exception Exception
Line 197 in FileManager.deleteLFN E0702 Raising NoneType while only classes, instances or string are allowed
Line 335 in FileManager._doTransfer W1201 Specify string format arguments as logging function parameters
Line 359 in FileManager._doTransfer W0703 Catching too general exception Exception
Line 318 in FileManager._doTransfer W0612 Unused variable 'pnn'
Line 387 in FileManager.cleanSuccessfulStageOuts E1101 Instance of 'FileManager' has no 'info' member
Line 92 in FileManager.stageFile W0201 Attribute 'firstException' defined outside init
Line 178 in FileManager.deleteLFN W0201 Attribute 'firstException' defined outside init
Line 189 in FileManager.deleteLFN W0201 Attribute 'firstException' defined outside init
Line 353 in FileManager._doTransfer W0201 Attribute 'firstException' defined outside init
Line 366 in FileManager._doTransfer W0201 Attribute 'firstException' defined outside init
Line 449 in DeleteMgr E0102 class already defined line 19
Line 14 W0611 Unused import WMException
Line 19 W0611 Unused import DeleteMgr
Line 23 W0611 Unused import WMCore
Line 18 W0611 Unused import StageOutInitError
Line 10 W0611 Unused import os
plus 91 comments on code style

Abbreviated pylint report for src/python/WMCore/Storage/RuntimeCleanUp.py follows:

Line 10 E0611 No name 'TaskState' in module 'WMCore.Storage'
Line 13 E0611 No name 'FwkJobReport' in module 'WMCore.Storage'
Line 14 E0611 No name 'MergeReports' in module 'WMCore.Storage'
Line 358 in cleanUp W0612 Unused variable 'ex'
Line 11 W0611 Unused import StageOut
plus 16 total warnings
plus 28 comments on code style

Abbreviated pylint report for src/python/WMCore/Storage/SiteLocalConfig.py follows:

Line 101 in SiteLocalConfig.trivialFileCatalog W0612 Unused variable 'ex'
Line 13 W0611 Unused import Node
plus 3 total warnings
plus 10 comments on code style

src/python/WMCore/Storage/StageInMgr.py got worse in pylint. Report follows:

Line 143 in StageInMgr.initialiseOverride W0612 Unused variable 'ex'
Line 232 in StageInMgr.localStageIn W0612 Unused variable 'seName'
Line 233 in StageInMgr.localStageIn W0612 Unused variable 'pnn'
plus 18 comments on code style

src/python/WMCore/Storage/StageOutMgr.py got worse in pylint. Report follows:

Line 23 in StageOutMgr R0902 Too many instance attributes (10/7)
Line 211 in StageOutMgr.call W0703 Catching too general exception Exception
Line 236 in StageOutMgr.call W0703 Catching too general exception Exception
Line 240 in StageOutMgr.call E0702 Raising NoneType while only classes, instances or string are allowed
Line 288 in StageOutMgr.localStageOut W0612 Unused variable 'seName'
Line 289 in StageOutMgr.localStageOut W0612 Unused variable 'pnn'
Line 20 W0611 Unused import WMCore
Line 11 W0611 Unused import os
plus 26 comments on code style

Abbreviated pylint report for src/python/WMCore/WMBS/File.py follows:

Line 427 in File.setCksum W0612 Unused variable 'myThread'
Line 12 W0611 Unused import time
plus 12 total warnings
plus 187 comments on code style

Abbreviated pylint report for src/python/WMCore/WMBS/Job.py follows:

Line 436 in Job.loadOutputID E1120 No value for argument 'group' in method call
Line 20 W0611 Unused import Fileset
Line 17 W0611 Unused import datetime
Line 23 W0611 Unused import WMBSFileset
plus 10 total warnings
plus 119 comments on code style

Abbreviated pylint report for src/python/WMCore/WMBS/MySQL/Locations/GetSiteSE.py follows:

Line 14 W0611 Unused import logging
plus 1 total warnings
plus 5 comments on code style

Abbreviated pylint report for src/python/WMCore/WMRuntime/Bootstrap.py follows:

Line 213 in createInitialReport W0613 Unused argument 'task'
Line 18 W0611 Unused import sys
Line 31 W0611 Unused import SiteLocalConfig
Line 25 W0611 Unused import WMLogging
plus 5 total warnings
plus 46 comments on code style

src/python/WMCore/WMRuntime/Scripts/SetupCMSSWPset.py fails the pylint check. Report follows:

Line 628 W0311 Bad indentation. Found 16 spaces, expected 12
Line 184 in SetupCMSSWPset.createProcess E1101 Instance of 'SetupCMSSWPset' has no 'job' member
Line 191 in SetupCMSSWPset.createProcess W0703 Catching too general exception Exception
Line 199 in SetupCMSSWPset.createProcess W0703 Catching too general exception Exception
Line 208 in SetupCMSSWPset.createProcess W0703 Catching too general exception Exception
Line 226 in SetupCMSSWPset.loadPSet W0212 Access to a protected member _internal_name of a client class
Line 226 in SetupCMSSWPset.loadPSet E1101 Instance of 'SetupCMSSWPset' has no 'step' member
Line 291 in SetupCMSSWPset.handleSeeding E1101 Instance of 'SetupCMSSWPset' has no 'job' member
Line 297 in SetupCMSSWPset.handleSeeding W0212 Access to a protected member _internal_name of a client class
Line 316 in SetupCMSSWPset.handlePerformanceSettings E1101 Instance of 'SetupCMSSWPset' has no 'step' member
Line 339 in SetupCMSSWPset.handleChainedProcessing E1101 Instance of 'SetupCMSSWPset' has no 'step' member
Line 340 in SetupCMSSWPset.handleChainedProcessing E1101 Instance of 'SetupCMSSWPset' has no 'step' member
Line 359 in SetupCMSSWPset.handleChainedProcessing E1101 Instance of 'SetupCMSSWPset' has no 'step' member
Line 417 in SetupCMSSWPset._processPileupMixingModules E1101 Instance of 'SetupCMSSWPset' has no 'step' member
Line 435 in SetupCMSSWPset._processPileupMixingModules E1101 Instance of 'SetupCMSSWPset' has no 'job' member
Line 439 in SetupCMSSWPset._processPileupMixingModules E1101 Instance of 'SetupCMSSWPset' has no 'job' member
Line 516 in SetupCMSSWPset.handleDQMFileSaver E1101 Instance of 'SetupCMSSWPset' has no 'job' member
Line 520 in SetupCMSSWPset.handleDQMFileSaver E1101 Instance of 'SetupCMSSWPset' has no 'step' member
Line 521 in SetupCMSSWPset.handleDQMFileSaver E1101 Instance of 'SetupCMSSWPset' has no 'step' member
Line 545 in SetupCMSSWPset.handleRepackSettings E1101 Instance of 'SetupCMSSWPset' has no 'step' member
Line 546 in SetupCMSSWPset.handleRepackSettings E1101 Instance of 'SetupCMSSWPset' has no 'step' member
Line 587 in SetupCMSSWPset.call E1101 Instance of 'SetupCMSSWPset' has no 'step' member
Line 589 in SetupCMSSWPset.call E1101 Instance of 'SetupCMSSWPset' has no 'step' member
Line 590 in SetupCMSSWPset.call E1101 Instance of 'SetupCMSSWPset' has no 'step' member
Line 591 in SetupCMSSWPset.call E1101 Instance of 'SetupCMSSWPset' has no 'step' member
Line 618 in SetupCMSSWPset.call E1101 Instance of 'SetupCMSSWPset' has no 'step' member
Line 619 in SetupCMSSWPset.call E1101 Instance of 'SetupCMSSWPset' has no 'step' member
Line 630 in SetupCMSSWPset.call E1101 Instance of 'SetupCMSSWPset' has no 'step' member
Line 632 in SetupCMSSWPset.call E1101 Instance of 'SetupCMSSWPset' has no 'applyPSetTweak' member
Line 635 in SetupCMSSWPset.call E1101 Instance of 'SetupCMSSWPset' has no 'step' member
Line 641 in SetupCMSSWPset.call E1101 Instance of 'SetupCMSSWPset' has no 'step' member
Line 642 in SetupCMSSWPset.call E1101 Instance of 'SetupCMSSWPset' has no 'step' member
Line 646 in SetupCMSSWPset.call E1101 Instance of 'SetupCMSSWPset' has no 'job' member
Line 651 in SetupCMSSWPset.call E1101 Instance of 'SetupCMSSWPset' has no 'step' member
Line 655 in SetupCMSSWPset.call E1101 Instance of 'SetupCMSSWPset' has no 'step' member
Line 658 in SetupCMSSWPset.call E1101 Instance of 'SetupCMSSWPset' has no 'job' member
Line 662 in SetupCMSSWPset.call E1101 Instance of 'SetupCMSSWPset' has no 'step' member
Line 678 in SetupCMSSWPset.call E1101 Instance of 'SetupCMSSWPset' has no 'step' member
Line 680 in SetupCMSSWPset.call E1101 Instance of 'SetupCMSSWPset' has no 'step' member
Line 683 in SetupCMSSWPset.call E1101 Instance of 'SetupCMSSWPset' has no 'step' member
Line 685 in SetupCMSSWPset.call E1101 Instance of 'SetupCMSSWPset' has no 'step' member
Line 688 in SetupCMSSWPset.call E1101 Instance of 'SetupCMSSWPset' has no 'step' member
Line 689 in SetupCMSSWPset.call E1101 Instance of 'SetupCMSSWPset' has no 'step' member
Line 691 in SetupCMSSWPset.call E1101 Instance of 'SetupCMSSWPset' has no 'step' member
Line 693 in SetupCMSSWPset.call E1101 Instance of 'SetupCMSSWPset' has no 'step' member
Line 694 in SetupCMSSWPset.call E1101 Instance of 'SetupCMSSWPset' has no 'step' member
Line 577 in SetupCMSSWPset.call R0912 Too many branches (23/12)
Line 190 in SetupCMSSWPset.createProcess W0201 Attribute 'process' defined outside init
Line 198 in SetupCMSSWPset.createProcess W0201 Attribute 'process' defined outside init
Line 207 in SetupCMSSWPset.createProcess W0201 Attribute 'process' defined outside init
Line 230 in SetupCMSSWPset.loadPSet W0201 Attribute 'process' defined outside init
Line 584 in SetupCMSSWPset.call W0201 Attribute 'process' defined outside init
Line 10 W0611 Unused import types
Line 19 W0611 Unused import makeTweak
Line 18 W0611 Unused import WMStep
Line 157 in SetupCMSSWPset R0923 Interface not implemented
plus 18 comments on code style

Abbreviated pylint report for src/python/WMCore/WMSpec/DashboardInterface.py follows:

Line 32 W0611 Unused import Report
Line 27 W0611 Unused import Run
plus 6 total warnings
plus 40 comments on code style

Abbreviated pylint report for src/python/WMCore/WMSpec/Steps/Emulators/LogCollect.py follows:

Line 11 W0611 Unused import re
Line 12 W0611 Unused import shutil
Line 9 W0611 Unused import os
plus 4 total warnings
plus 3 comments on code style

Abbreviated pylint report for src/python/WMCore/WMSpec/Steps/Executors/DeleteFiles.py follows:

Line 13 W0611 Unused import os
plus 4 total warnings
plus 27 comments on code style

Abbreviated pylint report for src/python/WMCore/WMSpec/Steps/Executors/StageOut.py follows:

Line 2 E0012 Bad option value 'W6501'
Line 133 in StageOut.execute W0612 Unused variable 'taskID'
Line 24 W0611 Unused import DeleteMgr
plus 15 total warnings
plus 34 comments on code style

Abbreviated pylint report for src/python/WMCore/WorkQueue/DataLocationMapper.py follows:

Line 32 in isGlobalDBS W0612 Unused variable 'ex'
plus 8 total warnings
plus 23 comments on code style

src/python/WMCore/WorkQueue/Policy/Start/Dataset.py got worse in pylint. Report follows:

Line 16 in Dataset W0223 Method 'modifyPolicyForWorkAddition' is abstract in class 'StartPolicyInterface' but is not overridden
Line 16 in Dataset W0223 Method 'newDataAvailable' is abstract in class 'StartPolicyInterface' but is not overridden
Line 82 in Dataset.validBlocks R0912 Too many branches (19/12)
Line 13 W0611 Unused import sitesFromStorageEelements
Line 16 in Dataset R0923 Interface not implemented
plus 17 comments on code style

src/python/WMCore/WorkQueue/Policy/Start/StartPolicyInterface.py got worse in pylint. Report follows:

Line 17 in StartPolicyInterface R0902 Too many instance attributes (12/7)
Line 41 in StartPolicyInterface.validateCommon R0912 Too many branches (14/12)
Line 132 in StartPolicyInterface.call W0201 Attribute 'mask' defined outside init
Line 10 W0611 Unused import sitesFromStorageEelements
Line 17 in StartPolicyInterface R0921 Abstract class not referenced
plus 7 comments on code style

Abbreviated pylint report for src/python/WMCore/WorkQueue/WorkQueue.py follows:

Line 385 in WorkQueue._getDBSBlock W0612 Unused variable 'collection'
Line 703 in WorkQueue.pullWork W0613 Unused argument 'continuousReplication'
Line 17 W0611 Unused import HTTPException
plus 14 total warnings
plus 190 comments on code style

Abbreviated pylint report for src/python/WMCore/WorkQueue/WorkQueueBackend.py follows:

Line 301 in WorkQueueBackend.deleteElements W0612 Unused variable 'result'
Line 415 in WorkQueueBackend.getElementsForData W0613 Unused argument 'dbs'
Line 12 W0611 Unused import CouchMonitor
plus 25 total warnings
plus 74 comments on code style

Abbreviated pylint report for src/python/WMQuality/Emulators/DBSClient/DBS3Reader.py follows:

Line 24 in _MockDBSApi.listFileArray W0613 Unused argument 'lumi_list'
Line 24 in _MockDBSApi.listFileArray W0613 Unused argument 'run_num'
Line 24 in _MockDBSApi.listFileArray W0613 Unused argument 'detail'
Line 41 in _MockDBSApi.listFileLumis W0613 Unused argument 'validFileOnly'
Line 96 in _MockDBSApi.listFileSummaries W0612 Unused variable 'run'
Line 69 in _MockDBSApi.listFileSummaries W0613 Unused argument 'validFileOnly'
Line 111 in DBS3Reader.getFileBlocksInfo W0613 Unused argument 'onlyClosedBlocks'
Line 140 in DBS3Reader.listFileBlocks W0613 Unused argument 'onlyClosedBlocks'
Line 296 in DBS3Reader.getDBSSummaryInfo E0602 Undefined variable 'formatEx'
Line 9 W0611 Unused import pdb
plus 15 total warnings
plus 60 comments on code style

Abbreviated pylint report for src/python/WMQuality/Emulators/DBSClient/DBSReader.py follows:

Line 28 in _MockDBSApi.listFiles W0613 Unused argument 'retriveList'
plus 5 total warnings
plus 39 comments on code style

Abbreviated pylint report for src/python/WMQuality/Emulators/DataBlockGenerator/DataBlockGenerator3.py follows:

Line 114 in DataBlockGenerator3.getFileLumis E1101 Instance of 'DataBlockGenerator3' has no '_fileLumiGenerator' member
plus 1 total warnings
plus 26 comments on code style

src/python/WMQuality/Emulators/SiteDBClient/SiteDB.py fails the pylint check. Report follows:

Line 70 in SiteDBJSON.init W0102 Dangerous default value {} as argument
Line 75 in SiteDBJSON._people W0141 Used builtin function 'filter'
Line 75 in SiteDBJSON._people W0110 map/filter on lambda could be replaced by comprehension
Line 73 in SiteDBJSON._people W0613 Unused argument 'clearCache'
Line 81 in SiteDBJSON._sitenames W0141 Used builtin function 'filter'
Line 81 in SiteDBJSON._sitenames W0110 map/filter on lambda could be replaced by comprehension
Line 79 in SiteDBJSON._sitenames W0613 Unused argument 'clearCache'
Line 85 in SiteDBJSON._siteresources W0613 Unused argument 'clearCache'
Line 88 in SiteDBJSON._dataProcessing W0613 Unused argument 'clearCache'
Line 97 in SiteDBJSON.dnUserName W0141 Used builtin function 'filter'
Line 97 in SiteDBJSON.dnUserName W0110 map/filter on lambda could be replaced by comprehension
Line 100 in SiteDBJSON.dnUserName W0141 Used builtin function 'filter'
Line 100 in SiteDBJSON.dnUserName W0110 map/filter on lambda could be replaced by comprehension
Line 125 in SiteDBJSON.getAllCENames W0141 Used builtin function 'filter'
Line 125 in SiteDBJSON.getAllCENames W0110 map/filter on lambda could be replaced by comprehension
Line 126 in SiteDBJSON.getAllCENames W0141 Used builtin function 'map'
Line 126 in SiteDBJSON.getAllCENames W0110 map/filter on lambda could be replaced by comprehension
Line 137 in SiteDBJSON.getAllSENames W0141 Used builtin function 'filter'
Line 137 in SiteDBJSON.getAllSENames W0110 map/filter on lambda could be replaced by comprehension
Line 138 in SiteDBJSON.getAllSENames W0141 Used builtin function 'map'
Line 138 in SiteDBJSON.getAllSENames W0110 map/filter on lambda could be replaced by comprehension
Line 149 in SiteDBJSON.getAllCMSNames W0141 Used builtin function 'filter'
Line 149 in SiteDBJSON.getAllCMSNames W0110 map/filter on lambda could be replaced by comprehension
Line 150 in SiteDBJSON.getAllCMSNames W0141 Used builtin function 'map'
Line 150 in SiteDBJSON.getAllCMSNames W0110 map/filter on lambda could be replaced by comprehension
Line 153 in SiteDBJSON.cmsNametoList W0622 Redefining built-in 'file'
Line 162 in SiteDBJSON.cmsNametoList W0141 Used builtin function 'filter'
Line 162 in SiteDBJSON.cmsNametoList W0110 map/filter on lambda could be replaced by comprehension
Line 164 in SiteDBJSON.cmsNametoList W0141 Used builtin function 'map'
Line 164 in SiteDBJSON.cmsNametoList W0110 map/filter on lambda could be replaced by comprehension
Line 165 in SiteDBJSON.cmsNametoList W0141 Used builtin function 'filter'
Line 165 in SiteDBJSON.cmsNametoList W0110 map/filter on lambda could be replaced by comprehension
Line 166 in SiteDBJSON.cmsNametoList W0141 Used builtin function 'filter'
Line 166 in SiteDBJSON.cmsNametoList W0110 map/filter on lambda could be replaced by comprehension
Line 167 in SiteDBJSON.cmsNametoList W0141 Used builtin function 'map'
Line 167 in SiteDBJSON.cmsNametoList W0110 map/filter on lambda could be replaced by comprehension
Line 153 in SiteDBJSON.cmsNametoList W0613 Unused argument 'file'
Line 177 in SiteDBJSON.ceToCMSName W0141 Used builtin function 'filter'
Line 177 in SiteDBJSON.ceToCMSName W0110 map/filter on lambda could be replaced by comprehension
Line 183 in SiteDBJSON.ceToCMSName W0141 Used builtin function 'filter'
Line 183 in SiteDBJSON.ceToCMSName W0110 map/filter on lambda could be replaced by comprehension
Line 191 in SiteDBJSON.seToCMSName W0141 Used builtin function 'filter'
Line 191 in SiteDBJSON.seToCMSName W0110 map/filter on lambda could be replaced by comprehension
Line 197 in SiteDBJSON.seToCMSName W0141 Used builtin function 'filter'
Line 197 in SiteDBJSON.seToCMSName W0110 map/filter on lambda could be replaced by comprehension
Line 206 in SiteDBJSON.cmsNametoPhEDExNode W0141 Used builtin function 'filter'
Line 206 in SiteDBJSON.cmsNametoPhEDExNode W0110 map/filter on lambda could be replaced by comprehension
Line 209 in SiteDBJSON.cmsNametoPhEDExNode W0141 Used builtin function 'filter'
Line 209 in SiteDBJSON.cmsNametoPhEDExNode W0110 map/filter on lambda could be replaced by comprehension
Line 210 in SiteDBJSON.cmsNametoPhEDExNode W0141 Used builtin function 'map'
Line 210 in SiteDBJSON.cmsNametoPhEDExNode W0110 map/filter on lambda could be replaced by comprehension
Line 220 in SiteDBJSON.PNNtoPSN W0141 Used builtin function 'filter'
Line 220 in SiteDBJSON.PNNtoPSN W0110 map/filter on lambda could be replaced by comprehension
Line 9 in SiteDBJSON R0921 Abstract class not referenced
plus 65 comments on code style

test/data/ReqMgr/RequestQuery.py got worse in pylint. Report follows:

Line 17 W0702 No exception type(s) specified
Line 39 in RequestQuery.getScramArchByCMSSW R0201 Method could be a function
Line 75 in RequestQuery.getDatasetOriginSites W0612 Unused variable 'sites'
Line 134 in RequestQuery.getLabelByValueDict R0201 Method could be a function
Line 146 in RequestQuery.getValueByLabelDict R0201 Method could be a function
Line 174 in RequestQuery.createRequestJSON E1101 Instance of 'RequestQuery' has no 'phedex' member
Line 186 in RequestQuery.createRequestJSON W0612 Unused variable 'release_id'
Line 206 in RequestQuery.createRequestJSON W0612 Unused variable 'group_squad'
Line 179 in RequestQuery.createRequestJSON W0612 Unused variable 'input_primary_dataset'
Line 278 in RequestQuery.writeJSONFile W0104 Statement seems to have no effect
Line 299 in RequestQuery.printReport W0621 Redefining name 'json' from outer scope (line 16)
Line 292 in RequestQuery.printReport R0201 Method could be a function
Line 174 in RequestQuery.createRequestJSON W0201 Attribute 'nodeMappings' defined outside init
Line 9 W0611 Unused import re
Line 9 W0611 Unused import traceback
plus 119 comments on code style

Abbreviated pylint report for test/python/WMComponent_t/ErrorHandler_t/ErrorHandler_t.py follows:

Line 194 in ErrorHandlerTest.createTestJobGroup W0612 Unused variable 'i'
plus 1 total warnings
plus 115 comments on code style

Abbreviated pylint report for test/python/WMComponent_t/JobAccountant_t/JobAccountant_t.py follows:

Line 384 in JobAccountantTest.verifyFileMetaData W0612 Unused variable 'myThread'
Line 486 in JobAccountantTest.verifyDBSBufferContents W0612 Unused variable 'myThread'
Line 1336 in JobAccountantTest.testDBRollback W0612 Unused variable 'ex'
Line 1496 in JobAccountantTest.test4GMerge W0612 Unused variable 'myThread'
Line 1505 in JobAccountantTest.test4GMerge W0612 Unused variable 'dbsParents'
Line 1570 in JobAccountantTest.setupDBForHeritageTest W0612 Unused variable 'parentCounter'
Line 1577 in JobAccountantTest.setupDBForHeritageTest W0612 Unused variable 'j'
Line 1582 in JobAccountantTest.setupDBForHeritageTest W0612 Unused variable 'k'
plus 58 total warnings
plus 478 comments on code style

Abbreviated pylint report for test/python/WMComponent_t/JobCreator_t/JobCreator_t.py follows:

Line 116 in JobCreatorTest.tearDown W0612 Unused variable 'myThread'
Line 175 in JobCreatorTest.createWorkload W0613 Unused argument 'priority'
Line 175 in JobCreatorTest.createWorkload W0613 Unused argument 'workloadName'
Line 175 in JobCreatorTest.createWorkload W0613 Unused argument 'emulator'
Line 201 in JobCreatorTest.getConfig W0612 Unused variable 'myThread'
Line 269 in JobCreatorTest.testA_VerySimpleTest W0612 Unused variable 'workload'
Line 347 in JobCreatorTest.testB_ProfilePoller W0612 Unused variable 'testJobCreator'
Line 340 in JobCreatorTest.testB_ProfilePoller W0612 Unused variable 'workload'
Line 332 in JobCreatorTest.testB_ProfilePoller W0612 Unused variable 'myThread'
Line 395 in JobCreatorTest.testC_ProfileWorker W0612 Unused variable 'testJobCreator'
Line 381 in JobCreatorTest.testC_ProfileWorker W0612 Unused variable 'workload'
Line 373 in JobCreatorTest.testC_ProfileWorker W0612 Unused variable 'myThread'
Line 393 in JobCreatorTest.testC_ProfileWorker W0612 Unused variable 'input'
Line 424 in JobCreatorTest.testD_HugeTest W0612 Unused variable 'workload'
Line 484 in JobCreatorTest.stuffWMBS W0612 Unused variable 'bogusSubscription'
Line 469 in JobCreatorTest.stuffWMBS W0612 Unused variable 'changeStateDAO'
Line 557 in JobCreatorTest.testE_TestNonProxySplitting W0612 Unused variable 'myThread'
Line 596 E0602 Undefined variable 'deleteConfig'
Line 596 E0602 Undefined variable 'ConfigFile'
Line 31 W0611 Unused import Configuration
plus 23 total warnings
plus 187 comments on code style

Abbreviated pylint report for test/python/WMComponent_t/JobSubmitter_t/JobSubmitter_t.py follows:

Line 864 in JobSubmitterTest.testF_PollerProfileTest W0612 Unused variable 'jobSubmitter'
Line 19 W0611 Unused import Configuration
plus 6 total warnings
plus 338 comments on code style

Abbreviated pylint report for test/python/WMComponent_t/JobTracker_t/JobTracker_t.py follows:

Line 113 in getCondorRunningJobs W0612 Unused variable 'error'
Line 322 in JobTrackerTest.testA_CondorTest W0612 Unused variable 'jobCE'
Line 315 in JobTrackerTest.testA_CondorTest W0612 Unused variable 'myThread'
Line 538 in JobTrackerTest.testB_ReallyLongTest E1101 Instance of 'JobTrackerPoller' has no 'killJobs' member
Line 472 in JobTrackerTest.testB_ReallyLongTest W0612 Unused variable 'myThread'
Line 16 W0611 Unused import shutil
Line 39 W0611 Unused import JobTracker
Line 44 W0611 Unused import Configuration
Line 12 W0611 Unused import logging
plus 10 total warnings
plus 112 comments on code style

Abbreviated pylint report for test/python/WMCore_t/BossAir_t/BossAir_t.py follows:

Line 45 in getNArcJobs W0612 Unused variable 'error'
Line 61 in getCondorRunningJobs W0612 Unused variable 'error'
Line 222 in BossAirTest.createTestWorkload W0613 Unused argument 'emulator'
Line 231 in BossAirTest.createTestWorkload W0612 Unused variable 'rereco'
Line 258 in BossAirTest.createJobGroups W0612 Unused variable 'i'
Line 441 in BossAirTest.testA_APITest W0612 Unused variable 'raisesException'
Line 565 in BossAirTest.testG_monitoringDAO W0612 Unused variable 'myThread'
Line 569 in BossAirTest.testG_monitoringDAO W0612 Unused variable 'changeState'
plus 29 total warnings
plus 161 comments on code style

Abbreviated pylint report for test/python/WMCore_t/BossAir_t/RunJob_t.py follows:

Line 11 W0611 Unused import WMCore
plus 3 total warnings
plus 75 comments on code style

Abbreviated pylint report for test/python/WMCore_t/FwkJobReport_t/ReportIntegration_t.py follows:

Line 135 in ReportIntegrationTest.tearDown W0612 Unused variable 'ex'
Line 11 W0611 Unused import xml
plus 7 total warnings
plus 80 comments on code style

Abbreviated pylint report for test/python/WMCore_t/JobStateMachine_t/ChangeState_t.py follows:

Line 556 in TestChangeState.testDuplicateJobReports W0612 Unused variable 'fwjrDoc'
Line 8 W0611 Unused import sys
Line 29 W0611 Unused import JobGroup
Line 10 W0611 Unused import logging
Line 14 W0611 Unused import types
Line 31 W0611 Unused import Run
Line 19 W0611 Unused import WMFactory
Line 13 W0611 Unused import urllib
Line 24 W0611 Unused import Job
Line 12 W0611 Unused import time
Line 36 W0611 Unused import Configuration
plus 11 total warnings
plus 212 comments on code style

Abbreviated pylint report for test/python/WMCore_t/Misc_t/WMAgent_t.py follows:

Line 69 in getCondorRunningJobs W0612 Unused variable 'error'
Line 172 in WMAgentTest.createTestWorkload W0613 Unused argument 'emulator'
Line 181 in WMAgentTest.createTestWorkload W0612 Unused variable 'rereco'
Line 323 in WMAgentTest.createFileCollection W0612 Unused variable 'myThread'
Line 360 in WMAgentTest.createReports W0613 Unused argument 'retryCount'
Line 394 in WMAgentTest.testA_StraightThrough W0612 Unused variable 'workload'
Line 34 W0611 Unused import ErrorHandlerPoller
Line 46 W0611 Unused import Configuration
Line 33 W0611 Unused import RetryManagerPoller
Line 9 W0611 Unused import logging
plus 12 total warnings
plus 135 comments on code style

Abbreviated pylint report for test/python/WMCore_t/ResourceControl_t/ResourceControl_t.py follows:

Line 661 in ResourceControlTest.createConfig E1101 Instance of 'Configuration' has no 'General' member
Line 665 in ResourceControlTest.createConfig E1101 Instance of 'Configuration' has no 'CoreDatabase' member
Line 666 in ResourceControlTest.createConfig E1101 Instance of 'Configuration' has no 'CoreDatabase' member
Line 668 in ResourceControlTest.createConfig E1101 Instance of 'Configuration' has no 'JobStateMachine' member
Line 669 in ResourceControlTest.createConfig E1101 Instance of 'Configuration' has no 'JobStateMachine' member
Line 670 in ResourceControlTest.createConfig E1101 Instance of 'Configuration' has no 'JobStateMachine' member
Line 672 in ResourceControlTest.createConfig E1101 Instance of 'Configuration' has no 'BossAir' member
Line 673 in ResourceControlTest.createConfig E1101 Instance of 'Configuration' has no 'BossAir' member
Line 674 in ResourceControlTest.createConfig E1101 Instance of 'Configuration' has no 'BossAir' member
Line 675 in ResourceControlTest.createConfig E1101 Instance of 'Configuration' has no 'BossAir' member
plus 0 total warnings
plus 193 comments on code style

test/python/WMCore_t/Services_t/SiteDB_t/SiteDB_t.py got worse in pylint. Report follows:

Line 13 in SiteDBTest R0904 Too many public methods (24/20)
Line 11 W0611 Unused import attr
plus 3 comments on code style

Abbreviated pylint report for test/python/WMCore_t/Storage_t/FileManager_t.py follows:

Line 209 in FileManagerTest.testDeleteMgrWrapper W0612 Unused variable 'newPfn'
Line 12 W0611 Unused import FileManager
Line 219 W0611 Unused import nose
plus 6 total warnings
plus 92 comments on code style

Abbreviated pylint report for test/python/WMCore_t/WMBS_t/File_t.py follows:

Line 826 in FileTest.testDataStructsFile W0612 Unused variable 'myThread'
plus 4 total warnings
plus 593 comments on code style

Abbreviated pylint report for test/python/WMCore_t/WMBS_t/Fileset_t.py follows:

Line 10 W0611 Unused import random
Line 9 W0611 Unused import logging
Line 23 W0611 Unused import WMFactory
Line 11 W0611 Unused import os
plus 4 total warnings
plus 541 comments on code style

Abbreviated pylint report for test/python/WMCore_t/WMBS_t/JobGroup_t.py follows:

Line 467 in JobGroupTest.testSetGetSite W0612 Unused variable 'myThread'
Line 485 in JobGroupTest.testCommitBulk W0612 Unused variable 'myThread'
Line 521 in JobGroupTest.testGetLocationsForJobs W0612 Unused variable 'myThread'
Line 19 W0611 Unused import DBInterface
Line 16 W0611 Unused import random
Line 14 W0611 Unused import commands
Line 12 W0611 Unused import logging
Line 29 W0611 Unused import WMFactory
Line 21 W0611 Unused import Fileset
Line 17 W0611 Unused import time
Line 13 W0611 Unused import os
Line 20 W0611 Unused import DBFactory
plus 12 total warnings
plus 102 comments on code style

Abbreviated pylint report for test/python/WMCore_t/WMBS_t/JobSplitting_t/FileBased_t.py follows:

Line 137 in FileBasedTest.createLargeFileBlock W0612 Unused variable 'i'
Line 284 in FileBasedTest.testLocationSplit W0612 Unused variable 'myThread'
Line 401 in FileBasedTest.testZ_randomCrapForGenerators.runCode W0612 Unused variable 'stopTime'
Line 392 in FileBasedTest.testZ_randomCrapForGenerators.runCode W0612 Unused variable 'startTime'
Line 413 in FileBasedTest.testZ_randomCrapForGenerators W0612 Unused variable 'x'
Line 12 W0611 Unused import logging
Line 23 W0611 Unused import WMFactory
Line 17 W0611 Unused import Job
Line 10 W0611 Unused import os
plus 14 total warnings
plus 123 comments on code style

Abbreviated pylint report for test/python/WMCore_t/WMBS_t/JobSplitting_t/FixedDelay_t.py follows:

Line 21 W0611 Unused import WMFactory
Line 15 W0611 Unused import Job
Line 9 W0611 Unused import os
plus 3 total warnings
plus 81 comments on code style

Abbreviated pylint report for test/python/WMCore_t/WMBS_t/JobSplitting_t/MinFileBased_t.py follows:

Line 92 in FileBasedTest.createTestSubscription W0612 Unused variable 'i'
Line 20 W0611 Unused import Run
Line 12 W0611 Unused import logging
Line 17 W0611 Unused import Job
Line 13 W0611 Unused import time
Line 10 W0611 Unused import os
plus 6 total warnings
plus 58 comments on code style

Abbreviated pylint report for test/python/WMCore_t/WMBS_t/JobSplitting_t/ParentlessMergeBySize_t.py follows:

Line 69 in ParentlessMergeBySizeTest.stuffWMBS W0612 Unused variable 'changeStateDAO'
plus 11 total warnings
plus 64 comments on code style

Abbreviated pylint report for test/python/WMCore_t/WMBS_t/JobSplitting_t/RunBased_t.py follows:

Line 14 W0611 Unused import logging
Line 27 W0611 Unused import WMFactory
Line 18 W0611 Unused import Job
Line 12 W0611 Unused import os
plus 4 total warnings
plus 92 comments on code style

Abbreviated pylint report for test/python/WMCore_t/WMBS_t/JobSplitting_t/SiblingProcessingBased_t.py follows:

Line 9 W0611 Unused import os
plus 1 total warnings
plus 136 comments on code style

Abbreviated pylint report for test/python/WMCore_t/WMBS_t/JobSplitting_t/SizeBased_t.py follows:

Line 55 in SizeBasedTest.setUp W0612 Unused variable 'i'
Line 21 W0611 Unused import WMFactory
Line 14 W0611 Unused import Job
Line 10 W0611 Unused import os
plus 4 total warnings
plus 57 comments on code style

Abbreviated pylint report for test/python/WMCore_t/WMBS_t/JobSplitting_t/SplitFileBased_t.py follows:

Line 22 W0611 Unused import WMFactory
Line 9 W0611 Unused import os
Line 24 W0611 Unused import makeUUID
plus 14 total warnings
plus 115 comments on code style

Abbreviated pylint report for test/python/WMCore_t/WMBS_t/Job_t.py follows:

Line 16 W0611 Unused import DBInterface
Line 13 W0611 Unused import random
Line 9 W0611 Unused import logging
Line 11 W0611 Unused import commands
Line 26 W0611 Unused import WMFactory
Line 14 W0611 Unused import time
Line 10 W0611 Unused import os
Line 17 W0611 Unused import DBFactory
plus 9 total warnings
plus 338 comments on code style

Abbreviated pylint report for test/python/WMCore_t/WMBS_t/Locations_t.py follows:

Line 13 W0611 Unused import WMFactory
Line 8 W0611 Unused import os
plus 2 total warnings
plus 98 comments on code style

Abbreviated pylint report for test/python/WMCore_t/WMBS_t/Subscription_t.py follows:

Line 806 in SubscriptionTest.testLoad W0612 Unused variable 'testFileC'
Line 806 in SubscriptionTest.testLoad W0612 Unused variable 'testFileB'
Line 806 in SubscriptionTest.testLoad W0612 Unused variable 'testFileA'
Line 941 in SubscriptionTest.testSubscriptionCompleteStatusByRun W0612 Unused variable 'testFileset'
Line 941 in SubscriptionTest.testSubscriptionCompleteStatusByRun W0612 Unused variable 'testWorkflow'
Line 1031 in SubscriptionTest.testGetNumberOfJobsPerSite W0612 Unused variable 'myThread'
Line 1033 in SubscriptionTest.testGetNumberOfJobsPerSite W0612 Unused variable 'testWorkflow'
Line 1033 in SubscriptionTest.testGetNumberOfJobsPerSite W0612 Unused variable 'testFileset'
Line 1078 in SubscriptionTest.testListIncompleteDAO W0612 Unused variable 'testFileset'
Line 1078 in SubscriptionTest.testListIncompleteDAO W0612 Unused variable 'testWorkflow'
Line 1119 in SubscriptionTest.testGetJobGroups W0612 Unused variable 'testFileset'
Line 1119 in SubscriptionTest.testGetJobGroups W0612 Unused variable 'testWorkflow'
Line 1772 in SubscriptionTest.testMarkNewFinishedSubscriptionsTimeout W0612 Unused variable 'testWorkflow'
Line 1907 in SubscriptionTest.testWhitelistBlacklist W0612 Unused variable 'testFileC'
Line 1907 in SubscriptionTest.testWhitelistBlacklist W0612 Unused variable 'testFileB'
Line 1906 in SubscriptionTest.testWhitelistBlacklist W0612 Unused variable 'testFileset'
Line 1906 in SubscriptionTest.testWhitelistBlacklist W0612 Unused variable 'testWorkflow'
Line 1907 in SubscriptionTest.testWhitelistBlacklist W0612 Unused variable 'testFileA'
Line 10 W0611 Unused import random
Line 9 W0611 Unused import logging
plus 20 total warnings
plus 535 comments on code style

Abbreviated pylint report for test/python/WMCore_t/WMSpec_t/Steps_t/Executors_t/DeleteFiles_t.py follows:

Line 37 in deleteFileTest.setUp W0612 Unused variable 'step'
Line 15 W0611 Unused import DeleteExecutor
Line 10 W0611 Unused import WMStep
plus 3 total warnings
plus 27 comments on code style

test/python/WMCore_t/WMSpec_t/Steps_t/Executors_t/LogArch_t.py fails the pylint check. Report follows:

Line 444 W0511 TODO make a stagein step in the task - Melo
Line 18 W0404 Reimport 'unittest' (imported line 13)
Line 43 in LogArchiveTest R0902 Too many instance attributes (14/7)
Line 92 in LogArchiveTest.setUp W0702 No exception type(s) specified
Line 161 in LogArchiveTest.tearDown W0702 No exception type(s) specified
Line 175 in LogArchiveTest.makeReport W0612 Unused variable 'file3'
Line 171 in LogArchiveTest.makeReport W0612 Unused variable 'mod1'
Line 173 in LogArchiveTest.makeReport W0612 Unused variable 'file1'
Line 174 in LogArchiveTest.makeReport W0612 Unused variable 'file2'
Line 172 in LogArchiveTest.makeReport W0612 Unused variable 'mod2'
Line 168 in LogArchiveTest.makeReport R0201 Method could be a function
Line 43 in LogArchiveTest R0904 Too many public methods (21/20)
Line 245 in otherLogArchiveTexst W0232 Class has no init method
Line 245 in otherLogArchiveTexst R0902 Too many instance attributes (11/7)
Line 269 in otherLogArchiveTexst.setUp W0702 No exception type(s) specified
Line 338 in otherLogArchiveTexst.tearDown W0702 No exception type(s) specified
Line 357 in otherLogArchiveTexst.testCPBackendLogArchiveAgainstReportNew E1101 Instance of 'otherLogArchiveTexst' has no 'assertTrue' member
Line 358 in otherLogArchiveTexst.testCPBackendLogArchiveAgainstReportNew E1101 Instance of 'otherLogArchiveTexst' has no 'assertTrue' member
Line 372 in otherLogArchiveTexst.testCPBackendLogArchiveAgainstReportFailedStepNew E1101 Instance of 'otherLogArchiveTexst' has no 'assertFalse' member
Line 373 in otherLogArchiveTexst.testCPBackendLogArchiveAgainstReportFailedStepNew E1101 Instance of 'otherLogArchiveTexst' has no 'assertFalse' member
Line 388 in otherLogArchiveTexst.testCPBackendLogArchiveAgainstReportOld E1101 Instance of 'otherLogArchiveTexst' has no 'assertTrue' member
Line 389 in otherLogArchiveTexst.testCPBackendLogArchiveAgainstReportOld E1101 Instance of 'otherLogArchiveTexst' has no 'assertTrue' member
Line 404 in otherLogArchiveTexst.testCPBackendLogArchiveAgainstReportFailedStepOld E1101 Instance of 'otherLogArchiveTexst' has no 'assertFalse' member
Line 405 in otherLogArchiveTexst.testCPBackendLogArchiveAgainstReportFailedStepOld E1101 Instance of 'otherLogArchiveTexst' has no 'assertFalse' member
Line 423 in otherLogArchiveTexst.testOnWorkerNodes W0622 Redefining built-in 'file'
Line 412 in otherLogArchiveTexst.testOnWorkerNodes W0101 Unreachable code
Line 450 in otherLogArchiveTexst.testOnWorkerNodes E1123 Unexpected keyword argument 'stageOut' in method call
Line 453 in otherLogArchiveTexst.testOnWorkerNodes E1101 Instance of 'otherLogArchiveTexst' has no 'assertTrue' member
Line 454 in otherLogArchiveTexst.testOnWorkerNodes E1101 Instance of 'otherLogArchiveTexst' has no 'assertEqual' member
Line 464 in otherLogArchiveTexst.testOnWorkerNodes E1101 Instance of 'otherLogArchiveTexst' has no 'assertRaises' member
Line 464 in otherLogArchiveTexst.testOnWorkerNodes E0602 Undefined variable 'LogArchiveError'
Line 473 in otherLogArchiveTexst.testOnWorkerNodes E1101 Instance of 'otherLogArchiveTexst' has no 'assertFalse' member
Line 474 in otherLogArchiveTexst.testOnWorkerNodes E1101 Instance of 'otherLogArchiveTexst' has no 'assertFalse' member
Line 476 in otherLogArchiveTexst.addLogArchiveFile R0201 Method could be a function
Line 35 W0611 Unused import inspect
Line 39 W0611 Unused import ReportEmu
Line 11 W0611 Unused import CMSSWTemplate
Line 31 W0611 Unused import TaskSpace
Line 25 W0611 Unused import WMStep
Line 37 W0611 Unused import ModuleLocator
Line 15 W0611 Unused import tempfile
Line 21 W0611 Unused import nose
plus 238 comments on code style

test/python/WMCore_t/WMSpec_t/Steps_t/Executors_t/StageOut_t.py fails the pylint check. Report follows:

Line 445 W0511 TODO make a stagein step in the task - Melo
Line 19 W0404 Reimport 'unittest' (imported line 14)
Line 44 in StageOutTest R0902 Too many instance attributes (14/7)
Line 93 in StageOutTest.setUp W0702 No exception type(s) specified
Line 162 in StageOutTest.tearDown W0702 No exception type(s) specified
Line 176 in StageOutTest.makeReport W0612 Unused variable 'file3'
Line 172 in StageOutTest.makeReport W0612 Unused variable 'mod1'
Line 174 in StageOutTest.makeReport W0612 Unused variable 'file1'
Line 175 in StageOutTest.makeReport W0612 Unused variable 'file2'
Line 173 in StageOutTest.makeReport W0612 Unused variable 'mod2'
Line 169 in StageOutTest.makeReport R0201 Method could be a function
Line 44 in StageOutTest R0904 Too many public methods (21/20)
Line 246 in otherStageOutTexst W0232 Class has no init method
Line 246 in otherStageOutTexst R0902 Too many instance attributes (11/7)
Line 270 in otherStageOutTexst.setUp W0702 No exception type(s) specified
Line 339 in otherStageOutTexst.tearDown W0702 No exception type(s) specified
Line 358 in otherStageOutTexst.testCPBackendStageOutAgainstReportNew E1101 Instance of 'otherStageOutTexst' has no 'assertTrue' member
Line 359 in otherStageOutTexst.testCPBackendStageOutAgainstReportNew E1101 Instance of 'otherStageOutTexst' has no 'assertTrue' member
Line 373 in otherStageOutTexst.testCPBackendStageOutAgainstReportFailedStepNew E1101 Instance of 'otherStageOutTexst' has no 'assertFalse' member
Line 374 in otherStageOutTexst.testCPBackendStageOutAgainstReportFailedStepNew E1101 Instance of 'otherStageOutTexst' has no 'assertFalse' member
Line 389 in otherStageOutTexst.testCPBackendStageOutAgainstReportOld E1101 Instance of 'otherStageOutTexst' has no 'assertTrue' member
Line 390 in otherStageOutTexst.testCPBackendStageOutAgainstReportOld E1101 Instance of 'otherStageOutTexst' has no 'assertTrue' member
Line 405 in otherStageOutTexst.testCPBackendStageOutAgainstReportFailedStepOld E1101 Instance of 'otherStageOutTexst' has no 'assertFalse' member
Line 406 in otherStageOutTexst.testCPBackendStageOutAgainstReportFailedStepOld E1101 Instance of 'otherStageOutTexst' has no 'assertFalse' member
Line 424 in otherStageOutTexst.testOnWorkerNodes W0622 Redefining built-in 'file'
Line 413 in otherStageOutTexst.testOnWorkerNodes W0101 Unreachable code
Line 451 in otherStageOutTexst.testOnWorkerNodes E1123 Unexpected keyword argument 'stageOut' in method call
Line 454 in otherStageOutTexst.testOnWorkerNodes E1101 Instance of 'otherStageOutTexst' has no 'assertTrue' member
Line 455 in otherStageOutTexst.testOnWorkerNodes E1101 Instance of 'otherStageOutTexst' has no 'assertEqual' member
Line 465 in otherStageOutTexst.testOnWorkerNodes E1101 Instance of 'otherStageOutTexst' has no 'assertRaises' member
Line 474 in otherStageOutTexst.testOnWorkerNodes E1101 Instance of 'otherStageOutTexst' has no 'assertFalse' member
Line 475 in otherStageOutTexst.testOnWorkerNodes E1101 Instance of 'otherStageOutTexst' has no 'assertFalse' member
Line 477 in otherStageOutTexst.addStageOutFile R0201 Method could be a function
Line 16 W0611 Unused import tempfile
Line 36 W0611 Unused import inspect
Line 40 W0611 Unused import ReportEmu
Line 32 W0611 Unused import TaskSpace
Line 26 W0611 Unused import WMStep
Line 38 W0611 Unused import ModuleLocator
Line 11 W0611 Unused import CMSSWTemplate
Line 22 W0611 Unused import nose
plus 238 comments on code style

Abbreviated pylint report for test/python/WMCore_t/WMSpec_t/TestSpec.py follows:

Line 106 in TestWorkloadFactory.addOutputModule W0612 Unused variable 'unmergedLFN'
Line 108 in TestWorkloadFactory.addOutputModule W0612 Unused variable 'mergedLFN'
plus 3 total warnings
plus 27 comments on code style

Abbreviated pylint report for test/python/WMCore_t/WorkQueue_t/WMBSHelper_t.py follows:

Line 107 in WMBSHelperTest.setupForKillTest W0612 Unused variable 'locationAction'
Line 445 in WMBSHelperTest.createTestWMSpec W0612 Unused variable 'cleanupTaskCMSSWHelper'
Line 891 in WMBSHelperTest.testDuplicateSubscription W0612 Unused variable 'firstFileset'
Line 936 in WMBSHelperTest.testParentage W0612 Unused variable 'sub'
plus 27 total warnings
plus 203 comments on code style

Abbreviated pylint report for test/python/WMCore_t/WorkQueue_t/WorkQueue_t.py follows:

Line 220 in WorkQueueTest.setUp E1101 Instance of 'Configuration' has no 'JobStateMachine' member
Line 221 in WorkQueueTest.setUp E1101 Instance of 'Configuration' has no 'JobStateMachine' member
Line 225 in WorkQueueTest.setUp E1101 Instance of 'Configuration' has no 'BossAir' member
Line 226 in WorkQueueTest.setUp E1101 Instance of 'Configuration' has no 'BossAir' member
Line 228 in WorkQueueTest.setUp E1101 Instance of 'Configuration' has no 'Agent' member
Line 255 in WorkQueueTest.setUp E1101 Instance of 'Configuration' has no 'Alert' member
Line 256 in WorkQueueTest.setUp E1101 Instance of 'Configuration' has no 'Alert' member
Line 1353 in WorkQueueTest.testSiteStatus E1101 Instance of 'Configuration' has no 'BossAir' member
Line 1354 in WorkQueueTest.testSiteStatus E1101 Instance of 'Configuration' has no 'BossAir' member
Line 1356 in WorkQueueTest.testSiteStatus E1101 Instance of 'Configuration' has no 'Agent' member
Line 1358 in WorkQueueTest.testSiteStatus E1101 Instance of 'Configuration' has no 'JobStateMachine' member
Line 1359 in WorkQueueTest.testSiteStatus E1101 Instance of 'Configuration' has no 'JobStateMachine' member
Line 1543 in WorkQueueTest.testProcessingWithContinuousSplitting W0612 Unused variable 'work'
Line 10 W0611 Unused import pickle
plus 18 total warnings
plus 253 comments on code style

Pre-python 2.6 idioms found in changed files. Please consider updating the code. Suggested patch follows:
--- src/python/WMComponent/DBS3Buffer/DBSBufferFile.py (original)
+++ src/python/WMComponent/DBS3Buffer/DBSBufferFile.py (refactored)
@@ -232,7 +232,7 @@

         Set one or more lfns as the child of this file.
         """
-        if type(lfns) != list:
+        if not isinstance(lfns, list):
             lfns = [lfns]

         existingTransaction = self.beginTransaction()
--- src/python/WMComponent/DBSBuffer/Database/Interface/DBSBufferFile.py (original)
+++ src/python/WMComponent/DBSBuffer/Database/Interface/DBSBufferFile.py (refactored)
@@ -225,7 +225,7 @@

         Set one or more lfns as the child of this file.
         """
-        if type(lfns) != list:
+        if not isinstance(lfns, list):
             lfns = [lfns]

         existingTransaction = self.beginTransaction()
--- src/python/WMComponent/DBSUpload/DBSInterface.py (original)
+++ src/python/WMComponent/DBSUpload/DBSInterface.py (refactored)
@@ -83,7 +83,7 @@

     tierList = dataTier.split("-")

-    if not type(algorithm) == list:
+    if not isinstance(algorithm, list):
         algorithm = [algorithm]

     processedDataset = DbsProcessedDataset(PrimaryDataset = primary,
@@ -680,7 +680,7 @@
         take just one.
         """

-        if type(blockNames) != list:
+        if not isinstance(blockNames, list):
             blockNames = [blockNames]

@@ -721,7 +721,7 @@
             logging.debug("Skipping migration due to doGlobalMigration tag.")
             return blocks

-        if type(blocks) != list:
+        if not isinstance(blocks, list):
             blocks = [blocks]

--- src/python/WMCore/DataStructs/File.py (original)
+++ src/python/WMCore/DataStructs/File.py (refactored)
@@ -98,9 +98,9 @@
         File is equal if it has the same name
         """
         eq = False
-        if type(rhs) == type(self):
+        if isinstance(rhs, type(self)):
             eq = self['lfn'] == rhs['lfn']
-        elif type(rhs) == type('string'):
+        elif isinstance(rhs, type('string')):
             eq = self['lfn'] == rhs
         return eq

@@ -131,7 +131,7 @@
                     "parents": []}

         for parent in self["parents"]:
-            if type(parent) == str:
+            if isinstance(parent, str):
                 # Then for some reason, we're passing strings
                 # Done specifically for ErrorHandler
                 fileDict['parents'].append(parent)
--- src/python/WMCore/Services/DBS/DBS3Reader.py (original)
+++ src/python/WMCore/Services/DBS/DBS3Reader.py (refactored)
@@ -29,7 +29,7 @@
                'block_name': 'BlockName', 'lumi_section_num': 'LumiSectionNumber'}

     mapping.update(others)
-    format = lambda x: str(x) if stringify and type(x) == unicode else x
+    format = lambda x: str(x) if stringify and isinstance(x, unicode) else x
     for name, newname in mapping.iteritems():
         if name in data:
             data[newname] = format(data[name])
--- src/python/WMCore/Services/PhEDEx/PhEDEx.py (original)
+++ src/python/WMCore/Services/PhEDEx/PhEDEx.py (refactored)
@@ -134,7 +134,7 @@

         Update a request approving/disapproving it.
         """
-        if type(nodes) == str:
+        if isinstance(nodes, str):
             nodes = [nodes]
         args = {}
         args['decision'] = decision.lower()
--- src/python/WMCore/WMBS/File.py (original)
+++ src/python/WMCore/WMBS/File.py (refactored)
@@ -31,7 +31,7 @@
         if locations == None:
             self.setdefault("newlocations", set())
         else:
-            if type(locations) == str:
+            if isinstance(locations, str):
                 self.setdefault("newlocations", set())
                 self['newlocations'].add(locations)
             else:
@@ -107,10 +107,9 @@

         def _getAncestorIDs(ids, level):
             action = self.daofactory(classname = "Files.GetParentIDsByID")
-            parentIDs = action.execute(ids, conn = self.getDBConn(),
-                                       transaction = self.existingTransaction())
-
-            parentIDs.sort()
+            parentIDs = sorted(action.execute(ids, conn = self.getDBConn(),
+                                       transaction = self.existingTransaction()))
+
             if level == 1 or len(parentIDs) == 0:
                 return parentIDs
             else:
@@ -149,10 +148,9 @@

         def _getDescendantIDs(ids, level):
             action = self.daofactory(classname = "Files.GetChildIDsByID")
-            childIDs = action.execute(ids, conn = self.getDBConn(),
-                                       transaction = self.existingTransaction())
-
-            childIDs.sort()
+            childIDs = sorted(action.execute(ids, conn = self.getDBConn(),
+                                       transaction = self.existingTransaction()))
+
             if level == 1 or len(childIDs) == 0:
                 return childIDs
             else:
@@ -470,10 +468,10 @@
         # parents should be set of wmbs files in WMBS File class
         self["parents"] = set()

-        if type(file["locations"]) == set:
+        if isinstance(file["locations"], set):
             s = file["locations"].copy()
             pnn = s.pop()
-        elif type(file["locations"]) == list:
+        elif isinstance(file["locations"], list):
             pnn = file["locations"][0]
         else:
             pnn = file["locations"]
--- src/python/WMCore/WMBS/MySQL/Jobs/LoadForErrorHandler.py (original)
+++ src/python/WMCore/WMBS/MySQL/Jobs/LoadForErrorHandler.py (refactored)
@@ -89,7 +89,7 @@
         the result.
         """

-        if type(jobID) == list:
+        if isinstance(jobID, list):
             if len(jobID) < 1:
                 # Nothing to do
                 return []
--- src/python/WMCore/WorkQueue/WorkQueueBackend.py (original)
+++ src/python/WMCore/WorkQueue/WorkQueueBackend.py (refactored)
@@ -542,7 +542,7 @@
         """
         deleted = 0
         dbs = [self.db, self.inbox]
-        if type(workflowNames) != list:
+        if not isinstance(workflowNames, list):
             workflowNames = [workflowNames]

         if len(workflowNames) == 0:
--- test/python/WMComponent_t/JobAccountant_t/JobAccountant_t.py (original)
+++ test/python/WMComponent_t/JobAccountant_t/JobAccountant_t.py (refactored)
@@ -553,7 +553,7 @@
             assert dbsFile["datasetPath"] == datasetPath, \
                    "Error: dataset path in buffer is wrong."

-            if type(parentFileLFNs) == dict:
+            if isinstance(parentFileLFNs, dict):
                 parentFileLFNsCopy = copy.deepcopy(parentFileLFNs[fwkJobReportFile["lfn"]])
             else:
                 parentFileLFNsCopy = copy.deepcopy(parentFileLFNs)
--- test/python/WMComponent_t/JobSubmitter_t/JobSubmitter_t.py (original)
+++ test/python/WMComponent_t/JobSubmitter_t/JobSubmitter_t.py (refactored)
@@ -178,7 +178,7 @@
             #site = self.sites[0]
             testFile = File(lfn = "/singleLfn/%s/%s" % (name, n),
                             size = 1024, events = 10)
-            if type(site) == list:
+            if isinstance(site, list):
                 for singleSite in site:
                     testFile.setLocation(singleSite)
             else:
--- test/python/WMCore_t/WMBS_t/File_t.py (original)
+++ test/python/WMCore_t/WMBS_t/File_t.py (refactored)
@@ -280,26 +280,26 @@
         assert testFileA == testFileC, \
                "ERROR: File load by ID didn't work"

-        assert type(testFileB["id"]) == int, \
+        assert isinstance(testFileB["id"], int), \
                "ERROR: File id is not an integer type."
-        assert type(testFileB["size"]) == int, \
+        assert isinstance(testFileB["size"], int), \
                "ERROR: File size is not an integer type."
-        assert type(testFileB["events"]) == int, \
+        assert isinstance(testFileB["events"], int), \
                "ERROR: File events is not an integer type."
-        assert type(testFileB["checksums"]) == dict, \
+        assert isinstance(testFileB["checksums"], dict), \
                "ERROR: File cksum is not a string type."
-        assert type(testFileB["first_event"]) == int, \
+        assert isinstance(testFileB["first_event"], int), \
                "ERROR: File first_event is not an integer type."

-        assert type(testFileC["id"]) == int, \
+        assert isinstance(testFileC["id"], int), \
                "ERROR: File id is not an integer type."
-        assert type(testFileC["size"]) == int, \
+        assert isinstance(testFileC["size"], int), \
                "ERROR: File size is not an integer type."
-        assert type(testFileC["events"]) == int, \
+        assert isinstance(testFileC["events"], int), \
                "ERROR: File events is not an integer type."
-        assert type(testFileC["checksums"]) == dict, \
+        assert isinstance(testFileC["checksums"], dict), \
                "ERROR: File cksum is not an string type."
-        assert type(testFileC["first_event"]) == int, \
+        assert isinstance(testFileC["first_event"], int), \
                "ERROR: File first_event is not an integer type."

         self.assertEqual(testFileC['checksums'], {'cksum': '101'})
--- test/python/WMCore_t/WMBS_t/Fileset_t.py (original)
+++ test/python/WMCore_t/WMBS_t/Fileset_t.py (refactored)
@@ -159,10 +159,10 @@
         testFilesetC = Fileset(id = testFilesetA.id)
         testFilesetC.load()

-        assert type(testFilesetB.id) == int, \
+        assert isinstance(testFilesetB.id, int), \
                "ERROR: Fileset id is not an int."

-        assert type(testFilesetC.id) == int, \
+        assert isinstance(testFilesetC.id, int), \
                "ERROR: Fileset id is not an int."

         assert testFilesetB.id == testFilesetA.id, \
--- test/python/WMCore_t/WMBS_t/JobGroup_t.py (original)
+++ test/python/WMCore_t/WMBS_t/JobGroup_t.py (refactored)
@@ -308,22 +308,22 @@
         testJobGroupC = JobGroup(uid = testJobGroupA.uid)
         testJobGroupC.load()

-        assert type(testJobGroupB.id) == int, \
+        assert isinstance(testJobGroupB.id, int), \
                "ERROR: Job group id is not an int."

-        assert type(testJobGroupC.id) == int, \
+        assert isinstance(testJobGroupC.id, int), \
                "ERROR: Job group id is not an int."

-        assert type(testJobGroupB.subscription["id"]) == int, \
+        assert isinstance(testJobGroupB.subscription["id"], int), \
                "ERROR: Job group subscription id is not an int."

-        assert type(testJobGroupC.subscription["id"]) == int, \
+        assert isinstance(testJobGroupC.subscription["id"], int), \
                "ERROR: Job group subscription id is not an int."

-        assert type(testJobGroupB.output.id) == int, \
+        assert isinstance(testJobGroupB.output.id, int), \
                "ERROR: Job group output id is not an int."

-        assert type(testJobGroupC.output.id) == int, \
+        assert isinstance(testJobGroupC.output.id, int), \
                "ERROR: Job group output id is not an int."

         assert testJobGroupB.uid == testJobGroupA.uid, \
--- test/python/WMCore_t/WMBS_t/Subscription_t.py (original)
+++ test/python/WMCore_t/WMBS_t/Subscription_t.py (refactored)
@@ -814,22 +814,22 @@
         testSubscriptionB.load()
         testSubscriptionC.load()

-        assert type(testSubscriptionB["id"]) == int, \
+        assert isinstance(testSubscriptionB["id"], int), \
                "ERROR: Subscription id is not an int."

-        assert type(testSubscriptionC["id"]) == int, \
+        assert isinstance(testSubscriptionC["id"], int), \
                "ERROR: Subscription id is not an int."

-        assert type(testSubscriptionB["workflow"].id) == int, \
+        assert isinstance(testSubscriptionB["workflow"].id, int), \
                "ERROR: Subscription workflow id is not an int."

-        assert type(testSubscriptionC["workflow"].id) == int, \
+        assert isinstance(testSubscriptionC["workflow"].id, int), \
                "ERROR: Subscription workflow id is not an int."

-        assert type(testSubscriptionB["fileset"].id) == int, \
+        assert isinstance(testSubscriptionB["fileset"].id, int), \
                "ERROR: Subscription fileset id is not an int."

-        assert type(testSubscriptionC["fileset"].id) == int, \