@rodfersou Jenkins CI reporting about code analysis
See the full report here: http://jenkins.plone.org/job/package-plone.api/7//violations
```
ERROR: /home/jenkins/workspace/package-plone.api/src/plone/api/content.py Imports are incorrectly sorted.
src/plone/api/content.py:0:1: I001 found unsorted imports
src/plone/api/content.py:77:36: S001 found %s formatter
src/plone/api/content.py:82:13: Q000 Remove bad quotes.
src/plone/api/content.py:83:13: Q000 Remove bad quotes.
src/plone/api/content.py:84:13: Q000 Remove bad quotes.
src/plone/api/content.py:304:13: Q000 Remove bad quotes.
src/plone/api/content.py:305:13: Q000 Remove bad quotes.
src/plone/api/content.py:327:5: B901 blind except: statement
src/plone/api/content.py:339:13: Q000 Remove bad quotes.
src/plone/api/content.py:340:13: Q000 Remove bad quotes.
ERROR: /home/jenkins/workspace/package-plone.api/src/plone/api/env.py Imports are incorrectly sorted.
src/plone/api/env.py:0:1: I001 found unsorted imports
src/plone/api/env.py:164:1: E302 expected 2 blank lines, found 1
src/plone/api/env.py:180:10: E261 at least two spaces before inline comment
src/plone/api/env.py:184:1: E302 expected 2 blank lines, found 1
src/plone/api/env.py:190:1: E302 expected 2 blank lines, found 1
src/plone/api/env.py:196:1: E302 expected 2 blank lines, found 1
ERROR: /home/jenkins/workspace/package-plone.api/src/plone/api/portal.py Imports are incorrectly sorted.
src/plone/api/portal.py:0:1: I001 found unsorted imports
src/plone/api/portal.py:52:9: Q000 Remove bad quotes.
src/plone/api/portal.py:53:9: Q000 Remove bad quotes.
src/plone/api/portal.py:54:9: Q000 Remove bad quotes.
src/plone/api/portal.py:100:13: Q000 Remove bad quotes.
src/plone/api/portal.py:101:13: Q000 Remove bad quotes.
src/plone/api/portal.py:224:8: E713 test for membership should be 'not in'
src/plone/api/portal.py:230:13: Q000 Remove bad quotes.
src/plone/api/portal.py:231:13: Q000 Remove bad quotes.
ERROR: /home/jenkins/workspace/package-plone.api/src/plone/api/user.py Imports are incorrectly sorted.
src/plone/api/user.py:0:1: I001 found unsorted imports
src/plone/api/user.py:66:13: Q000 Remove bad quotes.
src/plone/api/user.py:67:13: Q000 Remove bad quotes.
src/plone/api/validation.py:20:13: Q000 Remove bad quotes.
src/plone/api/validation.py:21:13: Q000 Remove bad quotes.
src/plone/api/validation.py:22:32: Q000 Remove bad quotes.
src/plone/api/validation.py:66:21: Q000 Remove bad quotes.
src/plone/api/validation.py:67:25: Q000 Remove bad quotes.
src/plone/api/validation.py:96:21: Q000 Remove bad quotes.
src/plone/api/validation.py:97:25: Q000 Remove bad quotes.
src/plone/api/validation.py:127:21: Q000 Remove bad quotes.
src/plone/api/validation.py:128:21: Q000 Remove bad quotes.
src/plone/api/validation.py:128:45: Q000 Remove bad quotes.
ERROR: /home/jenkins/workspace/package-plone.api/src/plone/api/tests/base.py Imports are incorrectly sorted.
src/plone/api/tests/base.py:0:1: I001 found unsorted imports
src/plone/api/tests/base.py:43:28: Q000 Remove bad quotes.
src/plone/api/tests/base.py:45:28: Q000 Remove bad quotes.
ERROR: /home/jenkins/workspace/package-plone.api/src/plone/api/tests/test_content.py Imports are incorrectly sorted.
src/plone/api/tests/test_content.py:0:1: I001 found unsorted imports
src/plone/api/tests/test_content.py:116:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:137:9: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:511:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:512:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:513:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:617:17: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:626:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:627:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:628:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:629:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:630:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:631:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:632:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:633:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:634:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:635:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:636:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:637:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:638:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:639:13: Q000 Remove bad quotes.
ERROR: /home/jenkins/workspace/package-plone.api/src/plone/api/tests/test_doctests.py Imports are incorrectly sorted.
src/plone/api/tests/test_doctests.py:0:1: I001 found unsorted imports
src/plone/api/tests/test_doctests.py:108:13: T001 print statement found.
src/plone/api/tests/test_env.py:30:14: D001 found declarePublic replace it with AccessControl.ClassSecurityInfo.public
src/plone/api/tests/test_env.py:31:14: D001 found declareProtected replace it with AccessControl.ClassSecurityInfo.protected
src/plone/api/tests/test_env.py:32:14: D001 found declareProtected replace it with AccessControl.ClassSecurityInfo.protected
src/plone/api/tests/test_env.py:33:14: D001 found declareProtected replace it with AccessControl.ClassSecurityInfo.protected
src/plone/api/tests/test_env.py:34:14: D001 found declarePrivate replace it with AccessControl.ClassSecurityInfo.private
ERROR: /home/jenkins/workspace/package-plone.api/src/plone/api/tests/test_group.py Imports are incorrectly sorted.
src/plone/api/tests/test_group.py:0:1: I001 found unsorted imports
ERROR: /home/jenkins/workspace/package-plone.api/src/plone/api/tests/test_portal.py Imports are incorrectly sorted.
src/plone/api/tests/test_portal.py:0:1: I001 found unsorted imports
src/plone/api/tests/test_portal.py:36:16: P002 found "hasattr", consider replacing it
src/plone/api/tests/test_portal.py:61:41: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:61:57: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:99:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:100:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:101:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:102:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:103:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:104:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:105:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:106:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:107:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:108:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:109:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:110:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:111:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:112:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:113:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:114:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:115:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:116:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:117:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:118:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:119:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:120:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:121:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:122:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:123:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:124:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:125:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:126:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:127:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:128:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:129:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:159:22: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:169:22: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:178:23: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:179:20: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:180:21: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:194:23: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:195:21: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:210:27: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:211:24: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:212:25: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:226:23: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:227:21: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:372:17: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:379:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:380:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:381:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:382:13: Q000 Remove bad quotes.
ERROR: /home/jenkins/workspace/package-plone.api/src/plone/api/tests/test_user.py Imports are incorrectly sorted.
src/plone/api/tests/test_user.py:0:1: I001 found unsorted imports
src/plone/api/tests/test_user.py:531:20: Q000 Remove bad quotes.
src/plone/api/tests/test_validation.py:37:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:40:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:65:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:70:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:74:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:79:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:84:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:91:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:98:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:123:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:124:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:131:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:132:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:133:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:159:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:160:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:165:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:166:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:167:14: D001 found assertEquals replace it with assertEqual
```
You can run that yourself using buildout.coredev ``experimental/qa.cfg`` config file.


@zupo Jenkins CI reporting about code analysis
See the full report here: http://jenkins.plone.org/job/package-plone.api/6//violations
```
ERROR: /home/jenkins/workspace/package-plone.api@3/src/plone/api/__init__.py Imports are incorrectly sorted.
ERROR: /home/jenkins/workspace/package-plone.api@3/src/plone/api/content.py Imports are incorrectly sorted.
src/plone/api/content.py:0:1: I001 found unsorted imports
src/plone/api/content.py:77:36: S001 found %s formatter
src/plone/api/content.py:82:13: Q000 Remove bad quotes.
src/plone/api/content.py:83:13: Q000 Remove bad quotes.
src/plone/api/content.py:292:13: Q000 Remove bad quotes.
src/plone/api/content.py:293:13: Q000 Remove bad quotes.
src/plone/api/content.py:315:5: B901 blind except: statement
src/plone/api/content.py:327:13: Q000 Remove bad quotes.
src/plone/api/content.py:328:13: Q000 Remove bad quotes.
ERROR: /home/jenkins/workspace/package-plone.api@3/src/plone/api/env.py Imports are incorrectly sorted.
src/plone/api/env.py:0:1: I001 found unsorted imports
ERROR: /home/jenkins/workspace/package-plone.api@3/src/plone/api/portal.py Imports are incorrectly sorted.
src/plone/api/portal.py:0:1: I001 found unsorted imports
src/plone/api/portal.py:52:9: Q000 Remove bad quotes.
src/plone/api/portal.py:53:9: Q000 Remove bad quotes.
src/plone/api/portal.py:54:9: Q000 Remove bad quotes.
src/plone/api/portal.py:100:13: Q000 Remove bad quotes.
src/plone/api/portal.py:101:13: Q000 Remove bad quotes.
src/plone/api/portal.py:224:8: E713 test for membership should be 'not in'
src/plone/api/portal.py:230:13: Q000 Remove bad quotes.
src/plone/api/portal.py:231:13: Q000 Remove bad quotes.
src/plone/api/user.py:65:13: Q000 Remove bad quotes.
src/plone/api/user.py:66:13: Q000 Remove bad quotes.
src/plone/api/validation.py:20:13: Q000 Remove bad quotes.
src/plone/api/validation.py:21:13: Q000 Remove bad quotes.
src/plone/api/validation.py:22:32: Q000 Remove bad quotes.
src/plone/api/validation.py:66:21: Q000 Remove bad quotes.
src/plone/api/validation.py:67:25: Q000 Remove bad quotes.
src/plone/api/validation.py:96:21: Q000 Remove bad quotes.
src/plone/api/validation.py:97:25: Q000 Remove bad quotes.
src/plone/api/validation.py:127:21: Q000 Remove bad quotes.
src/plone/api/validation.py:128:21: Q000 Remove bad quotes.
src/plone/api/validation.py:128:45: Q000 Remove bad quotes.
ERROR: /home/jenkins/workspace/package-plone.api@3/src/plone/api/tests/base.py Imports are incorrectly sorted.
src/plone/api/tests/base.py:0:1: I001 found unsorted imports
src/plone/api/tests/base.py:43:28: Q000 Remove bad quotes.
src/plone/api/tests/base.py:45:28: Q000 Remove bad quotes.
ERROR: /home/jenkins/workspace/package-plone.api@3/src/plone/api/tests/test_content.py Imports are incorrectly sorted.
src/plone/api/tests/test_content.py:0:1: I001 found unsorted imports
src/plone/api/tests/test_content.py:135:9: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:487:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:488:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:489:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:594:17: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:603:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:604:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:605:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:606:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:607:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:608:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:609:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:610:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:611:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:612:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:613:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:614:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:615:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:616:13: Q000 Remove bad quotes.
ERROR: /home/jenkins/workspace/package-plone.api@3/src/plone/api/tests/test_doctests.py Imports are incorrectly sorted.
src/plone/api/tests/test_doctests.py:0:1: I001 found unsorted imports
src/plone/api/tests/test_doctests.py:108:13: T001 print statement found.
src/plone/api/tests/test_env.py:30:14: D001 found declarePublic replace it with AccessControl.ClassSecurityInfo.public
src/plone/api/tests/test_env.py:31:14: D001 found declareProtected replace it with AccessControl.ClassSecurityInfo.protected
src/plone/api/tests/test_env.py:32:14: D001 found declareProtected replace it with AccessControl.ClassSecurityInfo.protected
src/plone/api/tests/test_env.py:33:14: D001 found declareProtected replace it with AccessControl.ClassSecurityInfo.protected
src/plone/api/tests/test_env.py:34:14: D001 found declarePrivate replace it with AccessControl.ClassSecurityInfo.private
ERROR: /home/jenkins/workspace/package-plone.api@3/src/plone/api/tests/test_group.py Imports are incorrectly sorted.
src/plone/api/tests/test_group.py:0:1: I001 found unsorted imports
ERROR: /home/jenkins/workspace/package-plone.api@3/src/plone/api/tests/test_portal.py Imports are incorrectly sorted.
src/plone/api/tests/test_portal.py:0:1: I001 found unsorted imports
src/plone/api/tests/test_portal.py:36:16: P002 found "hasattr", consider replacing it
src/plone/api/tests/test_portal.py:61:41: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:61:57: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:97:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:98:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:99:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:100:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:101:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:102:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:103:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:104:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:105:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:106:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:107:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:108:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:109:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:110:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:111:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:112:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:113:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:114:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:115:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:116:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:117:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:118:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:119:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:120:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:121:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:122:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:123:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:124:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:125:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:126:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:127:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:157:18: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:169:18: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:178:23: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:179:20: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:180:21: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:194:23: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:195:21: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:211:23: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:212:20: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:213:21: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:227:23: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:228:21: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:375:17: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:382:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:383:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:384:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:385:13: Q000 Remove bad quotes.
src/plone/api/tests/test_user.py:525:20: Q000 Remove bad quotes.
src/plone/api/tests/test_validation.py:37:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:40:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:63:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:68:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:72:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:77:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:82:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:89:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:96:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:119:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:120:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:127:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:128:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:129:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:152:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:153:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:158:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:159:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:160:14: D001 found assertEquals replace it with assertEqual
```
You can run that yourself using buildout.coredev ``experimental/qa.cfg`` config file.


@thet Jenkins CI reporting about code analysis
See the full report here: http://jenkins.plone.org/job/package-plone.api/8//violations
```
src/plone/__init__.py:0:1: C101 Coding magic comment not found
ERROR: /home/jenkins/workspace/package-plone.api@3/src/plone/api/__init__.py Imports are incorrectly sorted.
src/plone/api/content.py:77:13: Q000 Remove bad quotes.
src/plone/api/content.py:78:13: Q000 Remove bad quotes.
src/plone/api/content.py:287:13: Q000 Remove bad quotes.
src/plone/api/content.py:288:13: Q000 Remove bad quotes.
src/plone/api/content.py:310:5: B901 blind except: statement
src/plone/api/content.py:322:13: Q000 Remove bad quotes.
src/plone/api/content.py:323:13: Q000 Remove bad quotes.
ERROR: /home/jenkins/workspace/package-plone.api@3/src/plone/api/env.py Imports are incorrectly sorted.
src/plone/api/env.py:0:1: C101 Coding magic comment not found
src/plone/api/env.py:0:1: I001 found unsorted imports
ERROR: /home/jenkins/workspace/package-plone.api@3/src/plone/api/portal.py Imports are incorrectly sorted.
src/plone/api/portal.py:0:1: I001 found unsorted imports
src/plone/api/portal.py:51:9: Q000 Remove bad quotes.
src/plone/api/portal.py:52:9: Q000 Remove bad quotes.
src/plone/api/portal.py:53:9: Q000 Remove bad quotes.
src/plone/api/portal.py:99:13: Q000 Remove bad quotes.
src/plone/api/portal.py:100:13: Q000 Remove bad quotes.
src/plone/api/portal.py:223:8: E713 test for membership should be 'not in'
src/plone/api/portal.py:229:13: Q000 Remove bad quotes.
src/plone/api/portal.py:230:13: Q000 Remove bad quotes.
src/plone/api/user.py:65:13: Q000 Remove bad quotes.
src/plone/api/user.py:66:13: Q000 Remove bad quotes.
ERROR: /home/jenkins/workspace/package-plone.api@3/src/plone/api/validation.py Imports are incorrectly sorted.
src/plone/api/validation.py:0:1: I001 found unsorted imports
src/plone/api/validation.py:19:13: Q000 Remove bad quotes.
src/plone/api/validation.py:20:13: Q000 Remove bad quotes.
src/plone/api/validation.py:21:32: Q000 Remove bad quotes.
src/plone/api/validation.py:65:21: Q000 Remove bad quotes.
src/plone/api/validation.py:66:25: Q000 Remove bad quotes.
src/plone/api/validation.py:95:21: Q000 Remove bad quotes.
src/plone/api/validation.py:96:25: Q000 Remove bad quotes.
src/plone/api/validation.py:126:21: Q000 Remove bad quotes.
src/plone/api/validation.py:127:21: Q000 Remove bad quotes.
src/plone/api/validation.py:127:45: Q000 Remove bad quotes.
src/plone/api/tests/base.py:26:80: E501 line too long (80 > 79 characters)
src/plone/api/tests/base.py:48:28: Q000 Remove bad quotes.
src/plone/api/tests/base.py:50:28: Q000 Remove bad quotes.
ERROR: /home/jenkins/workspace/package-plone.api@3/src/plone/api/tests/test_content.py Imports are incorrectly sorted.
src/plone/api/tests/test_content.py:0:1: I001 found unsorted imports
src/plone/api/tests/test_content.py:135:9: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:487:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:488:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:489:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:594:17: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:603:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:604:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:605:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:606:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:607:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:608:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:609:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:610:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:611:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:612:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:613:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:614:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:615:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:616:13: Q000 Remove bad quotes.
ERROR: /home/jenkins/workspace/package-plone.api@3/src/plone/api/tests/test_doctests.py Imports are incorrectly sorted.
src/plone/api/tests/test_doctests.py:0:1: I001 found unsorted imports
src/plone/api/tests/test_doctests.py:108:13: T001 print statement found.
ERROR: /home/jenkins/workspace/package-plone.api@3/src/plone/api/tests/test_env.py Imports are incorrectly sorted.
src/plone/api/tests/test_env.py:0:1: I001 found unsorted imports
src/plone/api/tests/test_env.py:29:14: D001 found declarePublic replace it with AccessControl.ClassSecurityInfo.public
src/plone/api/tests/test_env.py:30:14: D001 found declareProtected replace it with AccessControl.ClassSecurityInfo.protected
src/plone/api/tests/test_env.py:31:14: D001 found declareProtected replace it with AccessControl.ClassSecurityInfo.protected
src/plone/api/tests/test_env.py:32:14: D001 found declareProtected replace it with AccessControl.ClassSecurityInfo.protected
src/plone/api/tests/test_env.py:33:14: D001 found declarePrivate replace it with AccessControl.ClassSecurityInfo.private
src/plone/api/tests/test_portal.py:36:16: P002 found "hasattr", consider replacing it
src/plone/api/tests/test_portal.py:61:41: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:61:57: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:97:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:98:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:99:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:100:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:101:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:102:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:103:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:104:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:105:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:106:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:107:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:108:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:109:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:110:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:111:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:112:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:113:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:114:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:115:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:116:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:117:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:118:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:119:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:120:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:121:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:122:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:123:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:124:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:125:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:126:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:127:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:157:18: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:169:18: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:178:23: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:179:20: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:180:21: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:194:23: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:195:21: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:211:23: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:212:20: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:213:21: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:227:23: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:228:21: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:375:17: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:382:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:383:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:384:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:385:13: Q000 Remove bad quotes.
ERROR: /home/jenkins/workspace/package-plone.api@3/src/plone/api/tests/test_user.py Imports are incorrectly sorted.
src/plone/api/tests/test_user.py:0:1: I001 found unsorted imports
src/plone/api/tests/test_user.py:524:20: Q000 Remove bad quotes.
src/plone/api/tests/test_validation.py:37:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:40:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:63:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:68:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:72:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:77:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:82:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:89:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:96:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:119:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:120:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:127:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:128:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:129:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:152:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:153:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:158:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:159:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:160:14: D001 found assertEquals replace it with assertEqual
```
You can run that yourself using buildout.coredev ``experimental/qa.cfg`` config file.


@pigeonflight Jenkins CI reporting about code analysis
See the full report here: http://jenkins.plone.org/job/package-plone.api/9//violations
```
ERROR: /home/jenkins/workspace/package-plone.api/src/plone/api/content.py Imports are incorrectly sorted.
src/plone/api/content.py:0:1: I001 found unsorted imports
src/plone/api/content.py:82:36: S001 found %s formatter
src/plone/api/content.py:87:13: Q000 Remove bad quotes.
src/plone/api/content.py:88:13: Q000 Remove bad quotes.
src/plone/api/content.py:89:13: Q000 Remove bad quotes.
src/plone/api/content.py:286:1: C901 '_wf_transitions_for' is too complex (12)
src/plone/api/content.py:378:17: Q000 Remove bad quotes.
src/plone/api/content.py:379:17: Q000 Remove bad quotes.
src/plone/api/content.py:406:17: Q000 Remove bad quotes.
src/plone/api/content.py:431:5: B901 blind except: statement
src/plone/api/content.py:443:13: Q000 Remove bad quotes.
src/plone/api/content.py:444:13: Q000 Remove bad quotes.
ERROR: /home/jenkins/workspace/package-plone.api/src/plone/api/env.py Imports are incorrectly sorted.
src/plone/api/env.py:0:1: I001 found unsorted imports
ERROR: /home/jenkins/workspace/package-plone.api/src/plone/api/portal.py Imports are incorrectly sorted.
src/plone/api/portal.py:0:1: I001 found unsorted imports
src/plone/api/portal.py:54:9: Q000 Remove bad quotes.
src/plone/api/portal.py:55:9: Q000 Remove bad quotes.
src/plone/api/portal.py:56:9: Q000 Remove bad quotes.
src/plone/api/portal.py:102:13: Q000 Remove bad quotes.
src/plone/api/portal.py:103:13: Q000 Remove bad quotes.
src/plone/api/portal.py:245:13: Q000 Remove bad quotes.
src/plone/api/portal.py:246:13: Q000 Remove bad quotes.
ERROR: /home/jenkins/workspace/package-plone.api/src/plone/api/user.py Imports are incorrectly sorted.
src/plone/api/user.py:0:1: I001 found unsorted imports
src/plone/api/user.py:66:13: Q000 Remove bad quotes.
src/plone/api/user.py:67:13: Q000 Remove bad quotes.
src/plone/api/user.py:353:37: Q000 Remove bad quotes.
src/plone/api/user.py:396:37: Q000 Remove bad quotes.
src/plone/api/validation.py:20:13: Q000 Remove bad quotes.
src/plone/api/validation.py:21:13: Q000 Remove bad quotes.
src/plone/api/validation.py:22:32: Q000 Remove bad quotes.
src/plone/api/validation.py:66:21: Q000 Remove bad quotes.
src/plone/api/validation.py:67:25: Q000 Remove bad quotes.
src/plone/api/validation.py:96:21: Q000 Remove bad quotes.
src/plone/api/validation.py:97:25: Q000 Remove bad quotes.
src/plone/api/validation.py:127:21: Q000 Remove bad quotes.
src/plone/api/validation.py:128:21: Q000 Remove bad quotes.
src/plone/api/validation.py:128:45: Q000 Remove bad quotes.
ERROR: /home/jenkins/workspace/package-plone.api/src/plone/api/tests/base.py Imports are incorrectly sorted.
src/plone/api/tests/base.py:0:1: I001 found unsorted imports
src/plone/api/tests/base.py:23:47: Q000 Remove bad quotes.
src/plone/api/tests/base.py:43:28: Q000 Remove bad quotes.
src/plone/api/tests/base.py:45:28: Q000 Remove bad quotes.
ERROR: /home/jenkins/workspace/package-plone.api/src/plone/api/tests/test_content.py Imports are incorrectly sorted.
src/plone/api/tests/test_content.py:0:1: I001 found unsorted imports
src/plone/api/tests/test_content.py:126:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:147:9: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:249:37: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:630:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:631:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:632:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:766:17: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:775:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:776:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:777:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:778:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:779:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:780:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:781:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:782:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:783:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:784:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:785:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:786:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:787:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:788:13: Q000 Remove bad quotes.
ERROR: /home/jenkins/workspace/package-plone.api/src/plone/api/tests/test_doctests.py Imports are incorrectly sorted.
src/plone/api/tests/test_doctests.py:0:1: I001 found unsorted imports
src/plone/api/tests/test_doctests.py:108:13: T001 print statement found.
ERROR: /home/jenkins/workspace/package-plone.api/src/plone/api/tests/test_env.py Imports are incorrectly sorted.
src/plone/api/tests/test_env.py:0:1: I001 found unsorted imports
src/plone/api/tests/test_env.py:30:14: D001 found declarePublic replace it with AccessControl.ClassSecurityInfo.public
src/plone/api/tests/test_env.py:31:14: D001 found declareProtected replace it with AccessControl.ClassSecurityInfo.protected
src/plone/api/tests/test_env.py:32:14: D001 found declareProtected replace it with AccessControl.ClassSecurityInfo.protected
src/plone/api/tests/test_env.py:33:14: D001 found declareProtected replace it with AccessControl.ClassSecurityInfo.protected
src/plone/api/tests/test_env.py:34:14: D001 found declarePrivate replace it with AccessControl.ClassSecurityInfo.private
ERROR: /home/jenkins/workspace/package-plone.api/src/plone/api/tests/test_group.py Imports are incorrectly sorted.
src/plone/api/tests/test_group.py:0:1: I001 found unsorted imports
ERROR: /home/jenkins/workspace/package-plone.api/src/plone/api/tests/test_portal.py Imports are incorrectly sorted.
src/plone/api/tests/test_portal.py:0:1: I001 found unsorted imports
src/plone/api/tests/test_portal.py:38:16: P002 found "hasattr", consider replacing it
src/plone/api/tests/test_portal.py:92:41: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:92:57: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:130:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:131:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:132:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:133:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:134:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:135:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:136:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:137:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:138:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:139:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:140:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:141:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:142:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:143:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:144:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:145:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:146:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:147:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:148:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:149:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:150:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:151:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:152:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:153:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:154:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:155:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:156:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:157:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:158:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:159:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:160:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:190:22: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:200:22: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:209:23: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:210:20: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:211:21: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:225:23: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:226:21: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:241:27: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:242:24: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:243:25: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:257:23: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:258:21: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:427:17: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:434:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:435:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:436:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:437:13: Q000 Remove bad quotes.
ERROR: /home/jenkins/workspace/package-plone.api/src/plone/api/tests/test_user.py Imports are incorrectly sorted.
src/plone/api/tests/test_user.py:0:1: I001 found unsorted imports
src/plone/api/tests/test_user.py:630:20: Q000 Remove bad quotes.
src/plone/api/tests/test_validation.py:37:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:40:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:65:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:70:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:74:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:79:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:84:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:91:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:98:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:123:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:124:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:131:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:132:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:133:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:159:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:160:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:165:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:166:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:167:14: D001 found assertEquals replace it with assertEqual
```
You can run that yourself using buildout.coredev ``experimental/qa.cfg`` config file.


@gforcada Jenkins CI reporting about code analysis
See the full report here: http://jenkins.plone.org/job/package-plone.api/10//violations
```
ERROR: /home/jenkins/workspace/package-plone.api@2/src/plone/api/content.py Imports are incorrectly sorted.
src/plone/api/content.py:0:1: I001 found unsorted imports
src/plone/api/content.py:82:36: S001 found %s formatter
src/plone/api/content.py:87:13: Q000 Remove bad quotes.
src/plone/api/content.py:88:13: Q000 Remove bad quotes.
src/plone/api/content.py:89:13: Q000 Remove bad quotes.
src/plone/api/content.py:286:1: C901 '_wf_transitions_for' is too complex (12)
src/plone/api/content.py:378:17: Q000 Remove bad quotes.
src/plone/api/content.py:379:17: Q000 Remove bad quotes.
src/plone/api/content.py:406:17: Q000 Remove bad quotes.
src/plone/api/content.py:431:5: B901 blind except: statement
src/plone/api/content.py:443:13: Q000 Remove bad quotes.
src/plone/api/content.py:444:13: Q000 Remove bad quotes.
ERROR: /home/jenkins/workspace/package-plone.api@2/src/plone/api/env.py Imports are incorrectly sorted.
src/plone/api/env.py:0:1: I001 found unsorted imports
ERROR: /home/jenkins/workspace/package-plone.api@2/src/plone/api/folder.py Imports are incorrectly sorted.
src/plone/api/folder.py:0:1: I001 found unsorted imports
src/plone/api/folder.py:64:34: P101 format string does contain unindexed parameters
ERROR: /home/jenkins/workspace/package-plone.api@2/src/plone/api/portal.py Imports are incorrectly sorted.
src/plone/api/portal.py:0:1: I001 found unsorted imports
src/plone/api/portal.py:54:9: Q000 Remove bad quotes.
src/plone/api/portal.py:55:9: Q000 Remove bad quotes.
src/plone/api/portal.py:56:9: Q000 Remove bad quotes.
src/plone/api/portal.py:102:13: Q000 Remove bad quotes.
src/plone/api/portal.py:103:13: Q000 Remove bad quotes.
src/plone/api/portal.py:245:13: Q000 Remove bad quotes.
src/plone/api/portal.py:246:13: Q000 Remove bad quotes.
ERROR: /home/jenkins/workspace/package-plone.api@2/src/plone/api/user.py Imports are incorrectly sorted.
src/plone/api/user.py:0:1: I001 found unsorted imports
src/plone/api/user.py:66:13: Q000 Remove bad quotes.
src/plone/api/user.py:67:13: Q000 Remove bad quotes.
src/plone/api/user.py:353:37: Q000 Remove bad quotes.
src/plone/api/user.py:396:37: Q000 Remove bad quotes.
src/plone/api/validation.py:20:13: Q000 Remove bad quotes.
src/plone/api/validation.py:21:13: Q000 Remove bad quotes.
src/plone/api/validation.py:22:32: Q000 Remove bad quotes.
src/plone/api/validation.py:66:21: Q000 Remove bad quotes.
src/plone/api/validation.py:67:25: Q000 Remove bad quotes.
src/plone/api/validation.py:96:21: Q000 Remove bad quotes.
src/plone/api/validation.py:97:25: Q000 Remove bad quotes.
src/plone/api/validation.py:127:21: Q000 Remove bad quotes.
src/plone/api/validation.py:128:21: Q000 Remove bad quotes.
src/plone/api/validation.py:128:45: Q000 Remove bad quotes.
ERROR: /home/jenkins/workspace/package-plone.api@2/src/plone/api/tests/base.py Imports are incorrectly sorted.
src/plone/api/tests/base.py:0:1: I001 found unsorted imports
src/plone/api/tests/base.py:23:47: Q000 Remove bad quotes.
src/plone/api/tests/base.py:43:28: Q000 Remove bad quotes.
src/plone/api/tests/base.py:45:28: Q000 Remove bad quotes.
ERROR: /home/jenkins/workspace/package-plone.api@2/src/plone/api/tests/test_content.py Imports are incorrectly sorted.
src/plone/api/tests/test_content.py:0:1: I001 found unsorted imports
src/plone/api/tests/test_content.py:126:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:147:9: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:249:37: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:630:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:631:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:632:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:766:17: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:775:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:776:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:777:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:778:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:779:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:780:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:781:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:782:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:783:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:784:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:785:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:786:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:787:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:788:13: Q000 Remove bad quotes.
ERROR: /home/jenkins/workspace/package-plone.api@2/src/plone/api/tests/test_doctests.py Imports are incorrectly sorted.
src/plone/api/tests/test_doctests.py:0:1: I001 found unsorted imports
src/plone/api/tests/test_doctests.py:108:13: T001 print statement found.
ERROR: /home/jenkins/workspace/package-plone.api@2/src/plone/api/tests/test_env.py Imports are incorrectly sorted.
src/plone/api/tests/test_env.py:0:1: I001 found unsorted imports
src/plone/api/tests/test_env.py:30:14: D001 found declarePublic replace it with AccessControl.ClassSecurityInfo.public
src/plone/api/tests/test_env.py:31:14: D001 found declareProtected replace it with AccessControl.ClassSecurityInfo.protected
src/plone/api/tests/test_env.py:32:14: D001 found declareProtected replace it with AccessControl.ClassSecurityInfo.protected
src/plone/api/tests/test_env.py:33:14: D001 found declareProtected replace it with AccessControl.ClassSecurityInfo.protected
src/plone/api/tests/test_env.py:34:14: D001 found declarePrivate replace it with AccessControl.ClassSecurityInfo.private
ERROR: /home/jenkins/workspace/package-plone.api@2/src/plone/api/tests/test_folder.py Imports are incorrectly sorted.
src/plone/api/tests/test_folder.py:0:1: I001 found unsorted imports
ERROR: /home/jenkins/workspace/package-plone.api@2/src/plone/api/tests/test_group.py Imports are incorrectly sorted.
src/plone/api/tests/test_group.py:0:1: I001 found unsorted imports
ERROR: /home/jenkins/workspace/package-plone.api@2/src/plone/api/tests/test_portal.py Imports are incorrectly sorted.
src/plone/api/tests/test_portal.py:0:1: I001 found unsorted imports
src/plone/api/tests/test_portal.py:38:16: P002 found "hasattr", consider replacing it
src/plone/api/tests/test_portal.py:92:41: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:92:57: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:130:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:131:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:132:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:133:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:134:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:135:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:136:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:137:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:138:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:139:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:140:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:141:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:142:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:143:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:144:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:145:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:146:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:147:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:148:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:149:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:150:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:151:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:152:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:153:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:154:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:155:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:156:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:157:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:158:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:159:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:160:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:190:22: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:200:22: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:209:23: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:210:20: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:211:21: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:225:23: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:226:21: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:241:27: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:242:24: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:243:25: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:257:23: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:258:21: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:427:17: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:434:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:435:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:436:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:437:13: Q000 Remove bad quotes.
ERROR: /home/jenkins/workspace/package-plone.api@2/src/plone/api/tests/test_user.py Imports are incorrectly sorted.
src/plone/api/tests/test_user.py:0:1: I001 found unsorted imports
src/plone/api/tests/test_user.py:636:20: Q000 Remove bad quotes.
src/plone/api/tests/test_validation.py:37:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:40:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:65:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:70:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:74:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:79:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:84:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:91:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:98:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:123:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:124:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:131:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:132:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:133:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:159:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:160:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:165:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:166:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:167:14: D001 found assertEquals replace it with assertEqual
```
You can run that yourself using buildout.coredev ``experimental/qa.cfg`` config file.


@jaroel Jenkins CI reporting about code analysis
See the full report here: http://jenkins.plone.org/job/package-plone.api/11//violations
```
src/plone/__init__.py:0:1: C101 Coding magic comment not found
ERROR: /home/jenkins/workspace/package-plone.api/src/plone/api/__init__.py Imports are incorrectly sorted.
ERROR: /home/jenkins/workspace/package-plone.api/src/plone/api/content.py Imports are incorrectly sorted.
src/plone/api/content.py:0:1: I001 found unsorted imports
src/plone/api/content.py:77:36: S001 found %s formatter
src/plone/api/content.py:82:13: Q000 Remove bad quotes.
src/plone/api/content.py:83:13: Q000 Remove bad quotes.
src/plone/api/content.py:84:13: Q000 Remove bad quotes.
src/plone/api/content.py:297:13: Q000 Remove bad quotes.
src/plone/api/content.py:298:13: Q000 Remove bad quotes.
src/plone/api/content.py:320:5: B901 blind except: statement
src/plone/api/content.py:332:13: Q000 Remove bad quotes.
src/plone/api/content.py:333:13: Q000 Remove bad quotes.
ERROR: /home/jenkins/workspace/package-plone.api/src/plone/api/env.py Imports are incorrectly sorted.
src/plone/api/env.py:0:1: C101 Coding magic comment not found
src/plone/api/env.py:0:1: I001 found unsorted imports
ERROR: /home/jenkins/workspace/package-plone.api/src/plone/api/portal.py Imports are incorrectly sorted.
src/plone/api/portal.py:0:1: I001 found unsorted imports
src/plone/api/portal.py:52:9: Q000 Remove bad quotes.
src/plone/api/portal.py:53:9: Q000 Remove bad quotes.
src/plone/api/portal.py:54:9: Q000 Remove bad quotes.
src/plone/api/portal.py:100:13: Q000 Remove bad quotes.
src/plone/api/portal.py:101:13: Q000 Remove bad quotes.
src/plone/api/portal.py:224:8: E713 test for membership should be 'not in'
src/plone/api/portal.py:230:13: Q000 Remove bad quotes.
src/plone/api/portal.py:231:13: Q000 Remove bad quotes.
src/plone/api/user.py:65:13: Q000 Remove bad quotes.
src/plone/api/user.py:66:13: Q000 Remove bad quotes.
src/plone/api/validation.py:20:13: Q000 Remove bad quotes.
src/plone/api/validation.py:21:13: Q000 Remove bad quotes.
src/plone/api/validation.py:22:32: Q000 Remove bad quotes.
src/plone/api/validation.py:66:21: Q000 Remove bad quotes.
src/plone/api/validation.py:67:25: Q000 Remove bad quotes.
src/plone/api/validation.py:96:21: Q000 Remove bad quotes.
src/plone/api/validation.py:97:25: Q000 Remove bad quotes.
src/plone/api/validation.py:127:21: Q000 Remove bad quotes.
src/plone/api/validation.py:128:21: Q000 Remove bad quotes.
src/plone/api/validation.py:128:45: Q000 Remove bad quotes.
ERROR: /home/jenkins/workspace/package-plone.api/src/plone/api/tests/base.py Imports are incorrectly sorted.
src/plone/api/tests/base.py:0:1: I001 found unsorted imports
src/plone/api/tests/base.py:43:28: Q000 Remove bad quotes.
src/plone/api/tests/base.py:45:28: Q000 Remove bad quotes.
ERROR: /home/jenkins/workspace/package-plone.api/src/plone/api/tests/test_content.py Imports are incorrectly sorted.
src/plone/api/tests/test_content.py:0:1: I001 found unsorted imports
src/plone/api/tests/test_content.py:119:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:141:9: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:497:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:498:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:499:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:604:17: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:613:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:614:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:615:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:616:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:617:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:618:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:619:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:620:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:621:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:622:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:623:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:624:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:625:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:626:13: Q000 Remove bad quotes.
ERROR: /home/jenkins/workspace/package-plone.api/src/plone/api/tests/test_doctests.py Imports are incorrectly sorted.
src/plone/api/tests/test_doctests.py:0:1: I001 found unsorted imports
src/plone/api/tests/test_doctests.py:108:13: T001 print statement found.
src/plone/api/tests/test_env.py:30:14: D001 found declarePublic replace it with AccessControl.ClassSecurityInfo.public
src/plone/api/tests/test_env.py:31:14: D001 found declareProtected replace it with AccessControl.ClassSecurityInfo.protected
src/plone/api/tests/test_env.py:32:14: D001 found declareProtected replace it with AccessControl.ClassSecurityInfo.protected
src/plone/api/tests/test_env.py:33:14: D001 found declareProtected replace it with AccessControl.ClassSecurityInfo.protected
src/plone/api/tests/test_env.py:34:14: D001 found declarePrivate replace it with AccessControl.ClassSecurityInfo.private
ERROR: /home/jenkins/workspace/package-plone.api/src/plone/api/tests/test_group.py Imports are incorrectly sorted.
src/plone/api/tests/test_group.py:0:1: I001 found unsorted imports
ERROR: /home/jenkins/workspace/package-plone.api/src/plone/api/tests/test_portal.py Imports are incorrectly sorted.
src/plone/api/tests/test_portal.py:0:1: I001 found unsorted imports
src/plone/api/tests/test_portal.py:36:16: P002 found "hasattr", consider replacing it
src/plone/api/tests/test_portal.py:61:41: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:61:57: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:97:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:98:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:99:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:100:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:101:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:102:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:103:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:104:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:105:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:106:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:107:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:108:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:109:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:110:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:111:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:112:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:113:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:114:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:115:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:116:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:117:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:118:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:119:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:120:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:121:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:122:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:123:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:124:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:125:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:126:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:127:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:157:18: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:169:18: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:178:23: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:179:20: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:180:21: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:194:23: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:195:21: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:211:23: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:212:20: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:213:21: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:227:23: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:228:21: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:375:17: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:382:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:383:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:384:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:385:13: Q000 Remove bad quotes.
ERROR: /home/jenkins/workspace/package-plone.api/src/plone/api/tests/test_user.py Imports are incorrectly sorted.
src/plone/api/tests/test_user.py:0:1: I001 found unsorted imports
src/plone/api/tests/test_user.py:524:20: Q000 Remove bad quotes.
src/plone/api/tests/test_validation.py:37:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:40:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:63:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:68:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:72:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:77:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:82:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:89:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:96:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:119:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:120:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:127:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:128:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:129:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:152:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:153:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:158:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:159:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:160:14: D001 found assertEquals replace it with assertEqual
```
You can run that yourself using buildout.coredev ``experimental/qa.cfg`` config file.


@jaroel Jenkins CI reporting about code analysis
See the full report here: http://jenkins.plone.org/job/package-plone.api/12//violations
```
ERROR: /home/jenkins/workspace/package-plone.api@2/src/plone/api/content.py Imports are incorrectly sorted.
src/plone/api/content.py:0:1: I001 found unsorted imports
src/plone/api/content.py:90:36: S001 found %s formatter
src/plone/api/content.py:95:13: Q000 Remove bad quotes.
src/plone/api/content.py:96:13: Q000 Remove bad quotes.
src/plone/api/content.py:97:13: Q000 Remove bad quotes.
src/plone/api/content.py:301:1: C901 '_wf_transitions_for' is too complex (12)
src/plone/api/content.py:393:17: Q000 Remove bad quotes.
src/plone/api/content.py:394:17: Q000 Remove bad quotes.
src/plone/api/content.py:421:17: Q000 Remove bad quotes.
src/plone/api/content.py:460:13: Q000 Remove bad quotes.
src/plone/api/content.py:461:13: Q000 Remove bad quotes.
ERROR: /home/jenkins/workspace/package-plone.api@2/src/plone/api/env.py Imports are incorrectly sorted.
src/plone/api/env.py:0:1: I001 found unsorted imports
ERROR: /home/jenkins/workspace/package-plone.api@2/src/plone/api/portal.py Imports are incorrectly sorted.
src/plone/api/portal.py:0:1: I001 found unsorted imports
src/plone/api/portal.py:54:9: Q000 Remove bad quotes.
src/plone/api/portal.py:55:9: Q000 Remove bad quotes.
src/plone/api/portal.py:56:9: Q000 Remove bad quotes.
src/plone/api/portal.py:102:13: Q000 Remove bad quotes.
src/plone/api/portal.py:103:13: Q000 Remove bad quotes.
src/plone/api/portal.py:250:13: Q000 Remove bad quotes.
src/plone/api/portal.py:251:13: Q000 Remove bad quotes.
ERROR: /home/jenkins/workspace/package-plone.api@2/src/plone/api/user.py Imports are incorrectly sorted.
src/plone/api/user.py:0:1: I001 found unsorted imports
src/plone/api/user.py:66:13: Q000 Remove bad quotes.
src/plone/api/user.py:67:13: Q000 Remove bad quotes.
src/plone/api/user.py:353:37: Q000 Remove bad quotes.
src/plone/api/user.py:396:37: Q000 Remove bad quotes.
src/plone/api/validation.py:20:13: Q000 Remove bad quotes.
src/plone/api/validation.py:21:13: Q000 Remove bad quotes.
src/plone/api/validation.py:22:32: Q000 Remove bad quotes.
src/plone/api/validation.py:66:21: Q000 Remove bad quotes.
src/plone/api/validation.py:67:25: Q000 Remove bad quotes.
src/plone/api/validation.py:96:21: Q000 Remove bad quotes.
src/plone/api/validation.py:97:25: Q000 Remove bad quotes.
src/plone/api/validation.py:127:21: Q000 Remove bad quotes.
src/plone/api/validation.py:128:21: Q000 Remove bad quotes.
src/plone/api/validation.py:128:45: Q000 Remove bad quotes.
ERROR: /home/jenkins/workspace/package-plone.api@2/src/plone/api/tests/base.py Imports are incorrectly sorted.
src/plone/api/tests/base.py:0:1: I001 found unsorted imports
src/plone/api/tests/base.py:23:47: Q000 Remove bad quotes.
src/plone/api/tests/base.py:43:28: Q000 Remove bad quotes.
src/plone/api/tests/base.py:45:28: Q000 Remove bad quotes.
ERROR: /home/jenkins/workspace/package-plone.api@2/src/plone/api/tests/test_content.py Imports are incorrectly sorted.
src/plone/api/tests/test_content.py:0:1: I001 found unsorted imports
src/plone/api/tests/test_content.py:133:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:154:9: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:195:9: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:260:37: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:731:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:732:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:733:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:867:17: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:876:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:877:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:878:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:879:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:880:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:881:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:882:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:883:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:884:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:885:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:886:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:887:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:888:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:889:13: Q000 Remove bad quotes.
ERROR: /home/jenkins/workspace/package-plone.api@2/src/plone/api/tests/test_doctests.py Imports are incorrectly sorted.
src/plone/api/tests/test_doctests.py:0:1: I001 found unsorted imports
src/plone/api/tests/test_doctests.py:108:13: T001 print statement found.
ERROR: /home/jenkins/workspace/package-plone.api@2/src/plone/api/tests/test_env.py Imports are incorrectly sorted.
src/plone/api/tests/test_env.py:0:1: I001 found unsorted imports
src/plone/api/tests/test_env.py:30:14: D001 found declarePublic replace it with AccessControl.ClassSecurityInfo.public
src/plone/api/tests/test_env.py:31:14: D001 found declareProtected replace it with AccessControl.ClassSecurityInfo.protected
src/plone/api/tests/test_env.py:32:14: D001 found declareProtected replace it with AccessControl.ClassSecurityInfo.protected
src/plone/api/tests/test_env.py:33:14: D001 found declareProtected replace it with AccessControl.ClassSecurityInfo.protected
src/plone/api/tests/test_env.py:34:14: D001 found declarePrivate replace it with AccessControl.ClassSecurityInfo.private
ERROR: /home/jenkins/workspace/package-plone.api@2/src/plone/api/tests/test_group.py Imports are incorrectly sorted.
src/plone/api/tests/test_group.py:0:1: I001 found unsorted imports
ERROR: /home/jenkins/workspace/package-plone.api@2/src/plone/api/tests/test_portal.py Imports are incorrectly sorted.
src/plone/api/tests/test_portal.py:0:1: I001 found unsorted imports
src/plone/api/tests/test_portal.py:39:16: P002 found "hasattr", consider replacing it
src/plone/api/tests/test_portal.py:98:41: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:98:57: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:136:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:137:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:138:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:139:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:140:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:141:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:142:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:143:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:144:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:145:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:146:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:147:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:148:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:149:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:150:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:151:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:152:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:153:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:154:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:155:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:156:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:157:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:158:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:159:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:160:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:161:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:162:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:163:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:164:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:165:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:166:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:196:22: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:206:22: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:215:23: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:216:20: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:217:21: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:231:23: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:232:21: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:247:27: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:248:24: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:249:25: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:263:23: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:264:21: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:277:23: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:278:21: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:297:23: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:298:21: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:470:17: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:477:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:478:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:479:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:480:13: Q000 Remove bad quotes.
ERROR: /home/jenkins/workspace/package-plone.api@2/src/plone/api/tests/test_user.py Imports are incorrectly sorted.
src/plone/api/tests/test_user.py:0:1: I001 found unsorted imports
src/plone/api/tests/test_user.py:636:20: Q000 Remove bad quotes.
src/plone/api/tests/test_validation.py:37:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:40:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:65:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:70:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:74:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:79:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:84:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:91:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:98:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:123:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:124:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:131:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:132:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:133:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:159:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:160:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:165:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:166:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:167:14: D001 found assertEquals replace it with assertEqual
```
You can run that yourself using buildout.coredev ``experimental/qa.cfg`` config file.


@jaroel Jenkins CI reporting about code analysis
See the full report here: http://jenkins.plone.org/job/package-plone.api/14//violations
```
ERROR: /home/jenkins/workspace/package-plone.api/src/plone/api/content.py Imports are incorrectly sorted.
src/plone/api/content.py:0:1: I001 found unsorted imports
src/plone/api/content.py:87:13: Q000 Remove bad quotes.
src/plone/api/content.py:88:13: Q000 Remove bad quotes.
src/plone/api/content.py:89:13: Q000 Remove bad quotes.
src/plone/api/content.py:300:1: C901 '_wf_transitions_for' is too complex (12)
src/plone/api/content.py:392:17: Q000 Remove bad quotes.
src/plone/api/content.py:393:17: Q000 Remove bad quotes.
src/plone/api/content.py:420:17: Q000 Remove bad quotes.
src/plone/api/content.py:459:13: Q000 Remove bad quotes.
src/plone/api/content.py:460:13: Q000 Remove bad quotes.
ERROR: /home/jenkins/workspace/package-plone.api/src/plone/api/env.py Imports are incorrectly sorted.
src/plone/api/env.py:0:1: I001 found unsorted imports
ERROR: /home/jenkins/workspace/package-plone.api/src/plone/api/portal.py Imports are incorrectly sorted.
src/plone/api/portal.py:0:1: I001 found unsorted imports
src/plone/api/portal.py:65:9: Q000 Remove bad quotes.
src/plone/api/portal.py:66:9: Q000 Remove bad quotes.
src/plone/api/portal.py:67:9: Q000 Remove bad quotes.
src/plone/api/portal.py:113:13: Q000 Remove bad quotes.
src/plone/api/portal.py:114:13: Q000 Remove bad quotes.
src/plone/api/portal.py:264:17: Q000 Remove bad quotes.
src/plone/api/portal.py:265:17: Q000 Remove bad quotes.
ERROR: /home/jenkins/workspace/package-plone.api/src/plone/api/user.py Imports are incorrectly sorted.
src/plone/api/user.py:0:1: I001 found unsorted imports
src/plone/api/user.py:66:13: Q000 Remove bad quotes.
src/plone/api/user.py:67:13: Q000 Remove bad quotes.
src/plone/api/user.py:354:37: Q000 Remove bad quotes.
src/plone/api/user.py:397:37: Q000 Remove bad quotes.
src/plone/api/validation.py:20:13: Q000 Remove bad quotes.
src/plone/api/validation.py:21:13: Q000 Remove bad quotes.
src/plone/api/validation.py:22:32: Q000 Remove bad quotes.
src/plone/api/validation.py:66:21: Q000 Remove bad quotes.
src/plone/api/validation.py:67:25: Q000 Remove bad quotes.
src/plone/api/validation.py:96:21: Q000 Remove bad quotes.
src/plone/api/validation.py:97:25: Q000 Remove bad quotes.
src/plone/api/validation.py:127:21: Q000 Remove bad quotes.
src/plone/api/validation.py:128:21: Q000 Remove bad quotes.
src/plone/api/validation.py:128:45: Q000 Remove bad quotes.
ERROR: /home/jenkins/workspace/package-plone.api/src/plone/api/tests/base.py Imports are incorrectly sorted.
src/plone/api/tests/base.py:0:1: I001 found unsorted imports
src/plone/api/tests/base.py:32:47: Q000 Remove bad quotes.
src/plone/api/tests/base.py:60:28: Q000 Remove bad quotes.
src/plone/api/tests/base.py:62:28: Q000 Remove bad quotes.
ERROR: /home/jenkins/workspace/package-plone.api/src/plone/api/tests/test_content.py Imports are incorrectly sorted.
src/plone/api/tests/test_content.py:0:1: I001 found unsorted imports
src/plone/api/tests/test_content.py:131:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:265:37: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:752:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:753:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:754:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:888:17: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:897:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:898:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:899:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:900:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:901:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:902:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:903:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:904:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:905:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:906:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:907:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:908:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:909:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:910:13: Q000 Remove bad quotes.
ERROR: /home/jenkins/workspace/package-plone.api/src/plone/api/tests/test_doctests.py Imports are incorrectly sorted.
src/plone/api/tests/test_doctests.py:0:1: I001 found unsorted imports
src/plone/api/tests/test_doctests.py:120:13: T001 print statement found.
ERROR: /home/jenkins/workspace/package-plone.api/src/plone/api/tests/test_env.py Imports are incorrectly sorted.
src/plone/api/tests/test_env.py:0:1: I001 found unsorted imports
src/plone/api/tests/test_env.py:30:14: D001 found declarePublic replace it with AccessControl.ClassSecurityInfo.public
src/plone/api/tests/test_env.py:31:14: D001 found declareProtected replace it with AccessControl.ClassSecurityInfo.protected
src/plone/api/tests/test_env.py:32:14: D001 found declareProtected replace it with AccessControl.ClassSecurityInfo.protected
src/plone/api/tests/test_env.py:33:14: D001 found declareProtected replace it with AccessControl.ClassSecurityInfo.protected
src/plone/api/tests/test_env.py:34:14: D001 found declarePrivate replace it with AccessControl.ClassSecurityInfo.private
ERROR: /home/jenkins/workspace/package-plone.api/src/plone/api/tests/test_group.py Imports are incorrectly sorted.
src/plone/api/tests/test_group.py:0:1: I001 found unsorted imports
src/plone/api/tests/test_group.py:120:56: Q000 Remove bad quotes.
ERROR: /home/jenkins/workspace/package-plone.api/src/plone/api/tests/test_portal.py Imports are incorrectly sorted.
src/plone/api/tests/test_portal.py:0:1: I001 found unsorted imports
src/plone/api/tests/test_portal.py:41:16: P002 found "hasattr", consider replacing it
src/plone/api/tests/test_portal.py:105:41: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:105:57: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:143:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:144:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:174:22: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:184:22: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:193:23: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:194:20: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:195:21: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:209:23: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:210:21: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:231:27: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:232:24: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:233:25: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:252:23: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:253:21: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:259:9: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:269:23: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:270:21: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:279:9: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:291:23: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:292:21: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:316:27: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:317:24: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:318:25: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:325:23: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:326:20: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:327:21: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:504:44: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:515:44: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:524:44: Q000 Remove bad quotes.
ERROR: /home/jenkins/workspace/package-plone.api/src/plone/api/tests/test_user.py Imports are incorrectly sorted.
src/plone/api/tests/test_user.py:0:1: I001 found unsorted imports
src/plone/api/tests/test_user.py:635:20: Q000 Remove bad quotes.
src/plone/api/tests/test_validation.py:37:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:40:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:65:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:70:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:74:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:79:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:84:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:91:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:98:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:123:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:124:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:131:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:132:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:133:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:159:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:160:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:165:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:166:14: D001 found assertEquals replace it with assertEqual
src/plone/api/tests/test_validation.py:167:14: D001 found assertEquals replace it with assertEqual
```
You can run that yourself using buildout.coredev ``experimental/qa.cfg`` config file.