@maartenkling Jenkins CI reporting about code analysis
See the full report here: http://jenkins.plone.org/job/package-plone.app.discussion/16//violations
```
plone/__init__.py:0:1: C101 Coding magic comment not found
plone/app/__init__.py:0:1: C101 Coding magic comment not found
ERROR: /home/jenkins/workspace/package-plone.app.discussion/plone/app/discussion/__init__.py Imports are incorrectly sorted.
plone/app/discussion/__init__.py:0:1: I001 found unsorted imports
ERROR: /home/jenkins/workspace/package-plone.app.discussion/plone/app/discussion/catalog.py Imports are incorrectly sorted.
plone/app/discussion/catalog.py:0:1: C101 Coding magic comment not found
plone/app/discussion/catalog.py:0:1: I001 found unsorted imports
plone/app/discussion/catalog.py:89:17: Q000 Remove bad quotes.
ERROR: /home/jenkins/workspace/package-plone.app.discussion/plone/app/discussion/comment.py Imports are incorrectly sorted.
plone/app/discussion/comment.py:0:1: I001 found unsorted imports
plone/app/discussion/comment.py:77:28: Q000 Remove bad quotes.
plone/app/discussion/comment.py:172:40: Q000 Remove bad quotes.
plone/app/discussion/comment.py:174:30: S001 found %s formatter
plone/app/discussion/comment.py:178:48: S001 found %s formatter
plone/app/discussion/comment.py:213:14: D001 found declareProtected replace it with AccessControl.ClassSecurityInfo.protected
plone/app/discussion/comment.py:250:1: E302 expected 2 blank lines, found 1
plone/app/discussion/comment.py:259:1: E302 expected 2 blank lines, found 1
plone/app/discussion/comment.py:268:1: E302 expected 2 blank lines, found 1
plone/app/discussion/comment.py:277:1: E302 expected 2 blank lines, found 1
plone/app/discussion/comment.py:303:21: Q000 Remove bad quotes.
plone/app/discussion/contentrules.py:0:1: C101 Coding magic comment not found
plone/app/discussion/contentrules.py:18:5: E731 do not assign a lambda expression, use a def
plone/app/discussion/contentrules.py:26:1: E302 expected 2 blank lines, found 1
plone/app/discussion/contentrules.py:44:1: E302 expected 2 blank lines, found 1
plone/app/discussion/contentrules.py:55:1: E302 expected 2 blank lines, found 1
plone/app/discussion/contentrules.py:66:1: E302 expected 2 blank lines, found 1
plone/app/discussion/contentrules.py:77:1: E302 expected 2 blank lines, found 1
plone/app/discussion/contentrules.py:88:1: E302 expected 2 blank lines, found 1
ERROR: /home/jenkins/workspace/package-plone.app.discussion/plone/app/discussion/conversation.py Imports are incorrectly sorted.
plone/app/discussion/conversation.py:0:1: C101 Coding magic comment not found
plone/app/discussion/conversation.py:0:1: I001 found unsorted imports
plone/app/discussion/conversation.py:67:27: Q000 Remove bad quotes.
plone/app/discussion/conversation.py:191:16: E713 test for membership should be 'not in'
plone/app/discussion/conversation.py:200:12: E713 test for membership should be 'not in'
plone/app/discussion/conversation.py:206:12: E713 test for membership should be 'not in'
plone/app/discussion/conversation.py:310:8: E713 test for membership should be 'not in'
plone/app/discussion/conversation.py:439:29: Q000 Remove bad quotes.
ERROR: /home/jenkins/workspace/package-plone.app.discussion/plone/app/discussion/events.py Imports are incorrectly sorted.
plone/app/discussion/events.py:0:1: C101 Coding magic comment not found
plone/app/discussion/events.py:0:1: I001 found unsorted imports
plone/app/discussion/events.py:4:1: F401 'IComment' imported but unused
plone/app/discussion/events.py:11:1: E302 expected 2 blank lines, found 1
plone/app/discussion/events.py:27:1: E302 expected 2 blank lines, found 1
plone/app/discussion/events.py:32:1: E302 expected 2 blank lines, found 1
plone/app/discussion/events.py:37:1: E302 expected 2 blank lines, found 1
plone/app/discussion/events.py:42:1: E302 expected 2 blank lines, found 1
ERROR: /home/jenkins/workspace/package-plone.app.discussion/plone/app/discussion/interfaces.py Imports are incorrectly sorted.
plone/app/discussion/interfaces.py:0:1: I001 found unsorted imports
plone/app/discussion/interfaces.py:135:17: Q000 Remove bad quotes.
plone/app/discussion/interfaces.py:161:65: Q000 Remove bad quotes.
plone/app/discussion/interfaces.py:215:25: Q000 Remove bad quotes.
plone/app/discussion/interfaces.py:230:21: Q000 Remove bad quotes.
plone/app/discussion/interfaces.py:248:25: Q000 Remove bad quotes.
plone/app/discussion/interfaces.py:252:23: Q000 Remove bad quotes.
plone/app/discussion/interfaces.py:259:25: Q000 Remove bad quotes.
plone/app/discussion/interfaces.py:276:25: Q000 Remove bad quotes.
plone/app/discussion/interfaces.py:365:1: E302 expected 2 blank lines, found 1
plone/app/discussion/interfaces.py:369:1: E302 expected 2 blank lines, found 1
plone/app/discussion/interfaces.py:373:1: E302 expected 2 blank lines, found 1
plone/app/discussion/interfaces.py:377:1: E302 expected 2 blank lines, found 1
plone/app/discussion/interfaces.py:381:1: E302 expected 2 blank lines, found 1
ERROR: /home/jenkins/workspace/package-plone.app.discussion/plone/app/discussion/patches.py Imports are incorrectly sorted.
plone/app/discussion/patches.py:0:1: C101 Coding magic comment not found
plone/app/discussion/patches.py:0:1: I001 found unsorted imports
plone/app/discussion/patches.py:28:46: Q000 Remove bad quotes.
plone/app/discussion/subscribers.py:0:1: C101 Coding magic comment not found
ERROR: /home/jenkins/workspace/package-plone.app.discussion/plone/app/discussion/testing.py Imports are incorrectly sorted.
plone/app/discussion/testing.py:0:1: C101 Coding magic comment not found
plone/app/discussion/testing.py:0:1: I001 found unsorted imports
plone/app/discussion/testing.py:11:1: F401 'z2' imported but unused
plone/app/discussion/testing.py:19:23: Q000 Remove bad quotes.
plone/app/discussion/testing.py:20:1: B901 blind except: statement
plone/app/discussion/testing.py:21:23: Q000 Remove bad quotes.
plone/app/discussion/testing.py:82:14: Q000 Remove bad quotes.
plone/app/discussion/testing.py:104:10: Q000 Remove bad quotes.
plone/app/discussion/testing.py:107:10: Q000 Remove bad quotes.
plone/app/discussion/testing.py:113:10: Q000 Remove bad quotes.
ERROR: /home/jenkins/workspace/package-plone.app.discussion/plone/app/discussion/tool.py Imports are incorrectly sorted.
plone/app/discussion/tool.py:0:1: C101 Coding magic comment not found
plone/app/discussion/tool.py:0:1: I001 found unsorted imports
ERROR: /home/jenkins/workspace/package-plone.app.discussion/plone/app/discussion/upgrades.py Imports are incorrectly sorted.
plone/app/discussion/upgrades.py:0:1: C101 Coding magic comment not found
plone/app/discussion/upgrades.py:0:1: I001 found unsorted imports
ERROR: /home/jenkins/workspace/package-plone.app.discussion/plone/app/discussion/vocabularies.py Imports are incorrectly sorted.
plone/app/discussion/vocabularies.py:0:1: I001 found unsorted imports
ERROR: /home/jenkins/workspace/package-plone.app.discussion/plone/app/discussion/tests/test_catalog.py Imports are incorrectly sorted.
plone/app/discussion/tests/test_catalog.py:0:1: C101 Coding magic comment not found
plone/app/discussion/tests/test_catalog.py:0:1: I001 found unsorted imports
plone/app/discussion/tests/test_catalog.py:89:25: Q000 Remove bad quotes.
plone/app/discussion/tests/test_catalog.py:107:38: S001 found %s formatter
plone/app/discussion/tests/test_catalog.py:114:25: Q000 Remove bad quotes.
plone/app/discussion/tests/test_catalog.py:135:38: S001 found %s formatter
plone/app/discussion/tests/test_catalog.py:142:25: Q000 Remove bad quotes.
plone/app/discussion/tests/test_catalog.py:158:25: Q000 Remove bad quotes.
plone/app/discussion/tests/test_catalog.py:173:25: Q000 Remove bad quotes.
plone/app/discussion/tests/test_catalog.py:191:38: S001 found %s formatter
plone/app/discussion/tests/test_catalog.py:199:25: Q000 Remove bad quotes.
plone/app/discussion/tests/test_catalog.py:212:25: Q000 Remove bad quotes.
plone/app/discussion/tests/test_catalog.py:224:25: Q000 Remove bad quotes.
plone/app/discussion/tests/test_catalog.py:235:25: Q000 Remove bad quotes.
plone/app/discussion/tests/test_catalog.py:243:41: Q000 Remove bad quotes.
plone/app/discussion/tests/test_catalog.py:250:25: Q000 Remove bad quotes.
plone/app/discussion/tests/test_catalog.py:280:38: S001 found %s formatter
plone/app/discussion/tests/test_catalog.py:299:38: S001 found %s formatter
plone/app/discussion/tests/test_catalog.py:307:47: Q000 Remove bad quotes.
plone/app/discussion/tests/test_catalog.py:347:40: Q000 Remove bad quotes.
plone/app/discussion/tests/test_catalog.py:380:25: Q000 Remove bad quotes.
plone/app/discussion/tests/test_catalog.py:386:25: Q000 Remove bad quotes.
plone/app/discussion/tests/test_catalog.py:429:25: Q000 Remove bad quotes.
plone/app/discussion/tests/test_catalog.py:436:25: Q000 Remove bad quotes.
plone/app/discussion/tests/test_catalog.py:450:41: Q000 Remove bad quotes.
plone/app/discussion/tests/test_catalog.py:450:49: Q000 Remove bad quotes.
plone/app/discussion/tests/test_catalog.py:556:25: Q000 Remove bad quotes.
ERROR: /home/jenkins/workspace/package-plone.app.discussion/plone/app/discussion/tests/test_comment.py Imports are incorrectly sorted.
plone/app/discussion/tests/test_comment.py:0:1: I001 found unsorted imports
plone/app/discussion/tests/test_comment.py:55:28: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comment.py:56:28: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comment.py:57:28: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comment.py:106:32: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comment.py:108:26: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comment.py:114:26: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comment.py:136:32: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comment.py:142:28: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comment.py:143:26: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comment.py:147:32: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comment.py:148:26: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comment.py:170:13: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comment.py:178:13: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comment.py:191:25: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comment.py:194:13: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comment.py:199:25: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comment.py:243:38: S001 found %s formatter
plone/app/discussion/tests/test_comment.py:274:38: S001 found %s formatter
plone/app/discussion/tests/test_comment.py:279:23: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comment.py:316:13: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comment.py:341:38: S001 found %s formatter
plone/app/discussion/tests/test_comment.py:383:38: S001 found %s formatter
plone/app/discussion/tests/test_comment.py:419:38: S001 found %s formatter
plone/app/discussion/tests/test_comment.py:454:38: S001 found %s formatter
plone/app/discussion/tests/test_comment.py:462:38: S001 found %s formatter
plone/app/discussion/tests/test_comment.py:471:38: S001 found %s formatter
plone/app/discussion/tests/test_comment.py:480:38: S001 found %s formatter
ERROR: /home/jenkins/workspace/package-plone.app.discussion/plone/app/discussion/tests/test_comments_viewlet.py Imports are incorrectly sorted.
plone/app/discussion/tests/test_comments_viewlet.py:0:1: I001 found unsorted imports
plone/app/discussion/tests/test_comments_viewlet.py:43:1: F811 redefinition of unused 'IConversation' from line 38
plone/app/discussion/tests/test_comments_viewlet.py:64:45: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:109:65: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:123:65: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:131:47: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:132:64: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:181:65: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:195:59: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:197:14: D001 found assertEquals replace it with assertEqual
plone/app/discussion/tests/test_comments_viewlet.py:200:33: F812 list comprehension redefines 'comment' from line 196
plone/app/discussion/tests/test_comments_viewlet.py:205:47: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:207:64: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:249:65: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:260:69: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:260:80: E501 line too long (96 > 79 characters)
plone/app/discussion/tests/test_comments_viewlet.py:307:65: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:356:27: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:391:13: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:474:13: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:475:13: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:480:35: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:485:13: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:486:13: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:487:13: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:498:13: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:499:13: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:500:13: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:556:63: S001 found %s formatter
ERROR: /home/jenkins/workspace/package-plone.app.discussion/plone/app/discussion/tests/test_contentrules.py Imports are incorrectly sorted.
plone/app/discussion/tests/test_contentrules.py:0:1: I001 found unsorted imports
plone/app/discussion/tests/test_contentrules.py:20:1: E302 expected 2 blank lines, found 1
plone/app/discussion/tests/test_contentrules.py:46:24: Q000 Remove bad quotes.
plone/app/discussion/tests/test_contentrules.py:47:35: Q000 Remove bad quotes.
plone/app/discussion/tests/test_contentrules.py:48:31: Q000 Remove bad quotes.
plone/app/discussion/tests/test_contentrules.py:49:32: Q000 Remove bad quotes.
plone/app/discussion/tests/test_contentrules.py:54:5: E303 too many blank lines (2)
plone/app/discussion/tests/test_contentrules.py:109:38: S001 found %s formatter
plone/app/discussion/tests/test_contentrules.py:113:38: Q000 Remove bad quotes.
plone/app/discussion/tests/test_contentrules.py:114:34: Q000 Remove bad quotes.
plone/app/discussion/tests/test_contentrules.py:115:35: Q000 Remove bad quotes.
plone/app/discussion/tests/test_contentrules.py:118:9: F841 local variable 'new_re_id' is assigned to but never used
plone/app/discussion/tests/test_contentrules.py:127:35: E127 continuation line over-indented for visual indent
plone/app/discussion/tests/test_contentrules.py:137:44: E127 continuation line over-indented for visual indent
ERROR: /home/jenkins/workspace/package-plone.app.discussion/plone/app/discussion/tests/test_controlpanel.py Imports are incorrectly sorted.
plone/app/discussion/tests/test_controlpanel.py:0:1: I001 found unsorted imports
plone/app/discussion/tests/test_controlpanel.py:36:18: Q000 Remove bad quotes.
plone/app/discussion/tests/test_controlpanel.py:43:56: Q000 Remove bad quotes.
plone/app/discussion/tests/test_controlpanel.py:92:5: F811 redefinition of unused 'test_edit_comment_enabled' from line 84
plone/app/discussion/tests/test_controlpanel.py:145:5: E265 block comment should start with '# '
ERROR: /home/jenkins/workspace/package-plone.app.discussion/plone/app/discussion/tests/test_conversation.py Imports are incorrectly sorted.
plone/app/discussion/tests/test_conversation.py:0:1: C101 Coding magic comment not found
plone/app/discussion/tests/test_conversation.py:0:1: I001 found unsorted imports
plone/app/discussion/tests/test_conversation.py:31:1: B901 blind except: statement
plone/app/discussion/tests/test_conversation.py:91:35: Q000 Remove bad quotes.
plone/app/discussion/tests/test_conversation.py:93:35: Q000 Remove bad quotes.
plone/app/discussion/tests/test_conversation.py:96:27: Q000 Remove bad quotes.
plone/app/discussion/tests/test_conversation.py:401:9: E265 block comment should start with '# '
plone/app/discussion/tests/test_conversation.py:443:36: Q000 Remove bad quotes.
plone/app/discussion/tests/test_conversation.py:448:36: Q000 Remove bad quotes.
plone/app/discussion/tests/test_conversation.py:453:36: Q000 Remove bad quotes.
plone/app/discussion/tests/test_conversation.py:458:36: Q000 Remove bad quotes.
plone/app/discussion/tests/test_conversation.py:852:38: S001 found %s formatter
plone/app/discussion/tests/test_conversation.py:856:38: S001 found %s formatter
plone/app/discussion/tests/test_conversation.py:861:38: S001 found %s formatter
ERROR: /home/jenkins/workspace/package-plone.app.discussion/plone/app/discussion/tests/test_events.py Imports are incorrectly sorted.
plone/app/discussion/tests/test_events.py:0:1: I001 found unsorted imports
plone/app/discussion/tests/test_events.py:15:1: E302 expected 2 blank lines, found 0
plone/app/discussion/tests/test_events.py:26:1: E302 expected 2 blank lines, found 1
plone/app/discussion/tests/test_events.py:29:1: E302 expected 2 blank lines, found 1
plone/app/discussion/tests/test_events.py:32:1: E302 expected 2 blank lines, found 1
plone/app/discussion/tests/test_events.py:35:1: E302 expected 2 blank lines, found 1
plone/app/discussion/tests/test_events.py:40:1: E302 expected 2 blank lines, found 0
plone/app/discussion/tests/test_events.py:81:26: Q000 Remove bad quotes.
plone/app/discussion/tests/test_events.py:99:1: E302 expected 2 blank lines, found 1
plone/app/discussion/tests/test_events.py:138:26: Q000 Remove bad quotes.
plone/app/discussion/tests/test_events.py:151:38: S001 found %s formatter
plone/app/discussion/tests/test_events.py:157:9: F841 local variable 'new_re_id' is assigned to but never used
plone/app/discussion/tests/test_events.py:171:38: S001 found %s formatter
ERROR: /home/jenkins/workspace/package-plone.app.discussion/plone/app/discussion/tests/test_functional.py Imports are incorrectly sorted.
plone/app/discussion/tests/test_functional.py:0:1: I001 found unsorted imports
ERROR: /home/jenkins/workspace/package-plone.app.discussion/plone/app/discussion/tests/test_indexers.py Imports are incorrectly sorted.
plone/app/discussion/tests/test_indexers.py:0:1: C101 Coding magic comment not found
plone/app/discussion/tests/test_indexers.py:0:1: I001 found unsorted imports
plone/app/discussion/tests/test_indexers.py:54:28: Q000 Remove bad quotes.
plone/app/discussion/tests/test_indexers.py:55:36: Q000 Remove bad quotes.
plone/app/discussion/tests/test_indexers.py:62:28: Q000 Remove bad quotes.
plone/app/discussion/tests/test_indexers.py:63:36: Q000 Remove bad quotes.
plone/app/discussion/tests/test_indexers.py:70:28: Q000 Remove bad quotes.
plone/app/discussion/tests/test_indexers.py:71:36: Q000 Remove bad quotes.
plone/app/discussion/tests/test_indexers.py:110:9: E265 block comment should start with '# '
plone/app/discussion/tests/test_indexers.py:112:9: E265 block comment should start with '# '
plone/app/discussion/tests/test_indexers.py:139:27: Q000 Remove bad quotes.
plone/app/discussion/tests/test_indexers.py:140:31: Q000 Remove bad quotes.
plone/app/discussion/tests/test_indexers.py:170:35: Q000 Remove bad quotes.
plone/app/discussion/tests/test_indexers.py:170:41: Q000 Remove bad quotes.
ERROR: /home/jenkins/workspace/package-plone.app.discussion/plone/app/discussion/tests/test_moderation_view.py Imports are incorrectly sorted.
plone/app/discussion/tests/test_moderation_view.py:0:1: I001 found unsorted imports
plone/app/discussion/tests/test_moderation_view.py:86:38: S001 found %s formatter
plone/app/discussion/tests/test_moderation_view.py:94:38: S001 found %s formatter
plone/app/discussion/tests/test_moderation_view.py:102:38: S001 found %s formatter
ERROR: /home/jenkins/workspace/package-plone.app.discussion/plone/app/discussion/tests/test_notifications.py Imports are incorrectly sorted.
plone/app/discussion/tests/test_notifications.py:0:1: I001 found unsorted imports
plone/app/discussion/tests/test_notifications.py:37:42: Q000 Remove bad quotes.
plone/app/discussion/tests/test_notifications.py:63:32: Q000 Remove bad quotes.
plone/app/discussion/tests/test_notifications.py:85:13: Q000 Remove bad quotes.
plone/app/discussion/tests/test_notifications.py:86:13: S001 found % formatter
plone/app/discussion/tests/test_notifications.py:101:32: Q000 Remove bad quotes.
plone/app/discussion/tests/test_notifications.py:129:32: Q000 Remove bad quotes.
plone/app/discussion/tests/test_notifications.py:145:32: Q000 Remove bad quotes.
plone/app/discussion/tests/test_notifications.py:150:32: Q000 Remove bad quotes.
plone/app/discussion/tests/test_notifications.py:175:42: Q000 Remove bad quotes.
plone/app/discussion/tests/test_notifications.py:225:13: Q000 Remove bad quotes.
plone/app/discussion/tests/test_notifications.py:226:13: S001 found % formatter
plone/app/discussion/tests/test_notifications.py:232:13: S001 found % formatter
plone/app/discussion/tests/test_notifications.py:236:13: S001 found % formatter
ERROR: /home/jenkins/workspace/package-plone.app.discussion/plone/app/discussion/tests/test_robot.py Imports are incorrectly sorted.
plone/app/discussion/tests/test_robot.py:0:1: C101 Coding magic comment not found
plone/app/discussion/tests/test_robot.py:0:1: I001 found unsorted imports
ERROR: /home/jenkins/workspace/package-plone.app.discussion/plone/app/discussion/tests/test_workflow.py Imports are incorrectly sorted.
plone/app/discussion/tests/test_workflow.py:0:1: I001 found unsorted imports
plone/app/discussion/tests/test_workflow.py:57:9: E265 block comment should start with '# '
plone/app/discussion/tests/test_workflow.py:93:27: Q000 Remove bad quotes.
plone/app/discussion/tests/test_workflow.py:132:38: S001 found %s formatter
plone/app/discussion/tests/test_workflow.py:152:9: E265 block comment should start with '# '
plone/app/discussion/tests/test_workflow.py:153:9: E265 block comment should start with '# '
plone/app/discussion/tests/test_workflow.py:201:38: S001 found %s formatter
ERROR: /home/jenkins/workspace/package-plone.app.discussion/plone/app/discussion/browser/captcha.py Imports are incorrectly sorted.
plone/app/discussion/browser/captcha.py:0:1: I001 found unsorted imports
plone/app/discussion/browser/captcha.py:64:39: Q000 Remove bad quotes.
ERROR: /home/jenkins/workspace/package-plone.app.discussion/plone/app/discussion/browser/comment.py Imports are incorrectly sorted.
plone/app/discussion/browser/comment.py:0:1: C101 Coding magic comment not found
plone/app/discussion/browser/comment.py:0:1: I001 found unsorted imports
plone/app/discussion/browser/comment.py:45:19: Q000 Remove bad quotes.
plone/app/discussion/browser/comment.py:45:20: S001 found %s formatter
plone/app/discussion/browser/comment.py:47:41: S001 found %s formatter
plone/app/discussion/browser/comment.py:53:10: Q000 Remove bad quotes.
plone/app/discussion/browser/comment.py:92:52: Q000 Remove bad quotes.
plone/app/discussion/browser/comment.py:95:40: Q000 Remove bad quotes.
plone/app/discussion/browser/comment.py:95:58: Q000 Remove bad quotes.
plone/app/discussion/browser/comment.py:108:1: E265 block comment should start with '# '
ERROR: /home/jenkins/workspace/package-plone.app.discussion/plone/app/discussion/browser/comments.py Imports are incorrectly sorted.
plone/app/discussion/browser/comments.py:0:1: I001 found unsorted imports
plone/app/discussion/browser/comments.py:94:39: Q000 Remove bad quotes.
plone/app/discussion/browser/comments.py:100:35: Q000 Remove bad quotes.
plone/app/discussion/browser/comments.py:134:41: Q000 Remove bad quotes.
plone/app/discussion/browser/comments.py:135:41: Q000 Remove bad quotes.
plone/app/discussion/browser/comments.py:136:42: Q000 Remove bad quotes.
plone/app/discussion/browser/comments.py:138:1: C901 'CommentForm.handleComment' is too complex (17)
plone/app/discussion/browser/comments.py:147:32: Q000 Remove bad quotes.
plone/app/discussion/browser/comments.py:148:32: Q000 Remove bad quotes.
plone/app/discussion/browser/comments.py:163:16: E713 test for membership should be 'not in'
plone/app/discussion/browser/comments.py:220:53: Q000 Remove bad quotes.
plone/app/discussion/browser/comments.py:267:19: Q000 Remove bad quotes.
plone/app/discussion/browser/comments.py:268:22: Q000 Remove bad quotes.
plone/app/discussion/browser/comments.py:291:13: W503 line break before binary operator
plone/app/discussion/browser/comments.py:292:13: W503 line break before binary operator
plone/app/discussion/browser/comments.py:348:39: Q000 Remove bad quotes.
plone/app/discussion/browser/comments.py:351:41: Q000 Remove bad quotes.
plone/app/discussion/browser/comments.py:359:41: Q000 Remove bad quotes.
plone/app/discussion/browser/comments.py:367:37: Q000 Remove bad quotes.
plone/app/discussion/browser/comments.py:438:20: Q000 Remove bad quotes.
plone/app/discussion/browser/comments.py:438:21: S001 found %s formatter
plone/app/discussion/browser/comments.py:478:17: S001 found %s formatter
ERROR: /home/jenkins/workspace/package-plone.app.discussion/plone/app/discussion/browser/controlpanel.py Imports are incorrectly sorted.
plone/app/discussion/browser/controlpanel.py:0:1: I001 found unsorted imports
plone/app/discussion/browser/controlpanel.py:34:10: Q000 Remove bad quotes.
plone/app/discussion/browser/controlpanel.py:90:55: Q000 Remove bad quotes.
plone/app/discussion/browser/controlpanel.py:91:48: Q000 Remove bad quotes.
plone/app/discussion/browser/controlpanel.py:96:55: Q000 Remove bad quotes.
plone/app/discussion/browser/controlpanel.py:97:40: Q000 Remove bad quotes.
plone/app/discussion/browser/controlpanel.py:97:41: S001 found %s formatter
plone/app/discussion/browser/controlpanel.py:113:46: Q000 Remove bad quotes.
plone/app/discussion/browser/controlpanel.py:119:27: Q000 Remove bad quotes.
plone/app/discussion/browser/controlpanel.py:126:27: Q000 Remove bad quotes.
plone/app/discussion/browser/controlpanel.py:128:27: Q000 Remove bad quotes.
plone/app/discussion/browser/controlpanel.py:131:27: Q000 Remove bad quotes.
plone/app/discussion/browser/controlpanel.py:135:27: Q000 Remove bad quotes.
plone/app/discussion/browser/controlpanel.py:141:27: Q000 Remove bad quotes.
plone/app/discussion/browser/controlpanel.py:168:46: Q000 Remove bad quotes.
ERROR: /home/jenkins/workspace/package-plone.app.discussion/plone/app/discussion/browser/conversation.py Imports are incorrectly sorted.
plone/app/discussion/browser/conversation.py:0:1: C101 Coding magic comment not found
plone/app/discussion/browser/conversation.py:0:1: I001 found unsorted imports
plone/app/discussion/browser/conversation.py:20:1: B901 blind except: statement
plone/app/discussion/browser/conversation.py:32:1: C901 'ConversationView._enabled_for_archetypes' is too complex (14)
plone/app/discussion/browser/conversation.py:138:12: P002 found "hasattr", consider replacing it
plone/app/discussion/browser/conversation.py:138:29: Q000 Remove bad quotes.
ERROR: /home/jenkins/workspace/package-plone.app.discussion/plone/app/discussion/browser/migration.py Imports are incorrectly sorted.
plone/app/discussion/browser/migration.py:0:1: C101 Coding magic comment not found
plone/app/discussion/browser/migration.py:0:1: I001 found unsorted imports
plone/app/discussion/browser/migration.py:37:1: C901 'View.__call__' is too complex (32)
plone/app/discussion/browser/migration.py:44:19: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:48:16: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:80:26: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:82:31: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:83:22: S001 found %s formatter
plone/app/discussion/browser/migration.py:181:25: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:181:26: S001 found %s formatter
plone/app/discussion/browser/migration.py:191:13: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:191:20: S001 found %s formatter
plone/app/discussion/browser/migration.py:205:13: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:205:20: S001 found %s formatter
plone/app/discussion/browser/migration.py:206:13: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:206:20: S001 found %s formatter
plone/app/discussion/browser/migration.py:207:13: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:207:20: S001 found %s formatter
plone/app/discussion/browser/migration.py:209:13: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:210:13: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:228:21: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:229:31: S001 found %s formatter
plone/app/discussion/browser/migration.py:237:17: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:238:17: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:239:17: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:239:28: S001 found %s formatter
plone/app/discussion/browser/migration.py:246:17: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:248:13: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:249:13: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:250:13: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:252:13: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:253:13: S001 found % formatter
plone/app/discussion/browser/migration.py:257:17: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:257:18: S001 found %s formatter
plone/app/discussion/browser/migration.py:261:17: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:262:17: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:266:17: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:267:17: Q000 Remove bad quotes.
ERROR: /home/jenkins/workspace/package-plone.app.discussion/plone/app/discussion/browser/moderation.py Imports are incorrectly sorted.
plone/app/discussion/browser/moderation.py:0:1: I001 found unsorted imports
plone/app/discussion/browser/moderation.py:4:1: F401 'queryUtility' imported but unused
plone/app/discussion/browser/moderation.py:13:1: F401 'IRegistry' imported but unused
plone/app/discussion/browser/moderation.py:14:1: F401 'IDiscussionSettings' imported but unused
plone/app/discussion/browser/moderation.py:108:19: Q000 Remove bad quotes.
plone/app/discussion/browser/moderation.py:109:22: Q000 Remove bad quotes.
plone/app/discussion/browser/moderation.py:154:15: Q000 Remove bad quotes.
plone/app/discussion/browser/moderation.py:155:18: Q000 Remove bad quotes.
ERROR: /home/jenkins/workspace/package-plone.app.discussion/plone/app/discussion/browser/traversal.py Imports are incorrectly sorted.
plone/app/discussion/browser/traversal.py:0:1: C101 Coding magic comment not found
plone/app/discussion/browser/traversal.py:0:1: I001 found unsorted imports
plone/app/discussion/browser/traversal.py:32:20: Q000 Remove bad quotes.
ERROR: /home/jenkins/workspace/package-plone.app.discussion/plone/app/discussion/browser/validator.py Imports are incorrectly sorted.
plone/app/discussion/browser/validator.py:0:1: I001 found unsorted imports
```
You can run that yourself using buildout.coredev ``experimental/qa.cfg`` config file.


Cool! Figuring out a missing pi in effies code,


@theodorusyoga iya, nanti aja ya *sekalian nyoba mention wkwk


@tisto Jenkins CI reporting about code analysis
See the full report here: http://jenkins.plone.org/job/package-plone.app.discussion/17//violations
```
plone/__init__.py:0:1: C101 Coding magic comment not found
plone/app/__init__.py:0:1: C101 Coding magic comment not found
ERROR: /home/jenkins/workspace/package-plone.app.discussion/plone/app/discussion/__init__.py Imports are incorrectly sorted.
plone/app/discussion/__init__.py:0:1: I001 found unsorted imports
ERROR: /home/jenkins/workspace/package-plone.app.discussion/plone/app/discussion/catalog.py Imports are incorrectly sorted.
plone/app/discussion/catalog.py:0:1: C101 Coding magic comment not found
plone/app/discussion/catalog.py:0:1: I001 found unsorted imports
plone/app/discussion/catalog.py:89:17: Q000 Remove bad quotes.
ERROR: /home/jenkins/workspace/package-plone.app.discussion/plone/app/discussion/comment.py Imports are incorrectly sorted.
plone/app/discussion/comment.py:0:1: I001 found unsorted imports
plone/app/discussion/comment.py:79:28: Q000 Remove bad quotes.
plone/app/discussion/comment.py:174:40: Q000 Remove bad quotes.
plone/app/discussion/comment.py:176:30: S001 found %s formatter
plone/app/discussion/comment.py:180:48: S001 found %s formatter
plone/app/discussion/comment.py:215:14: D001 found declareProtected replace it with AccessControl.ClassSecurityInfo.protected
plone/app/discussion/comment.py:252:1: E302 expected 2 blank lines, found 1
plone/app/discussion/comment.py:261:1: E302 expected 2 blank lines, found 1
plone/app/discussion/comment.py:270:1: E302 expected 2 blank lines, found 1
plone/app/discussion/comment.py:279:1: E302 expected 2 blank lines, found 1
plone/app/discussion/comment.py:305:21: Q000 Remove bad quotes.
plone/app/discussion/contentrules.py:0:1: C101 Coding magic comment not found
plone/app/discussion/contentrules.py:18:5: E731 do not assign a lambda expression, use a def
plone/app/discussion/contentrules.py:26:1: E302 expected 2 blank lines, found 1
plone/app/discussion/contentrules.py:44:1: E302 expected 2 blank lines, found 1
plone/app/discussion/contentrules.py:55:1: E302 expected 2 blank lines, found 1
plone/app/discussion/contentrules.py:66:1: E302 expected 2 blank lines, found 1
plone/app/discussion/contentrules.py:77:1: E302 expected 2 blank lines, found 1
plone/app/discussion/contentrules.py:88:1: E302 expected 2 blank lines, found 1
ERROR: /home/jenkins/workspace/package-plone.app.discussion/plone/app/discussion/conversation.py Imports are incorrectly sorted.
plone/app/discussion/conversation.py:0:1: C101 Coding magic comment not found
plone/app/discussion/conversation.py:0:1: I001 found unsorted imports
plone/app/discussion/conversation.py:67:27: Q000 Remove bad quotes.
plone/app/discussion/conversation.py:191:16: E713 test for membership should be 'not in'
plone/app/discussion/conversation.py:200:12: E713 test for membership should be 'not in'
plone/app/discussion/conversation.py:206:12: E713 test for membership should be 'not in'
plone/app/discussion/conversation.py:310:8: E713 test for membership should be 'not in'
plone/app/discussion/conversation.py:439:29: Q000 Remove bad quotes.
ERROR: /home/jenkins/workspace/package-plone.app.discussion/plone/app/discussion/events.py Imports are incorrectly sorted.
plone/app/discussion/events.py:0:1: C101 Coding magic comment not found
plone/app/discussion/events.py:0:1: I001 found unsorted imports
plone/app/discussion/events.py:4:1: F401 'IComment' imported but unused
plone/app/discussion/events.py:11:1: E302 expected 2 blank lines, found 1
plone/app/discussion/events.py:27:1: E302 expected 2 blank lines, found 1
plone/app/discussion/events.py:32:1: E302 expected 2 blank lines, found 1
plone/app/discussion/events.py:37:1: E302 expected 2 blank lines, found 1
plone/app/discussion/events.py:42:1: E302 expected 2 blank lines, found 1
ERROR: /home/jenkins/workspace/package-plone.app.discussion/plone/app/discussion/interfaces.py Imports are incorrectly sorted.
plone/app/discussion/interfaces.py:0:1: I001 found unsorted imports
plone/app/discussion/interfaces.py:135:17: Q000 Remove bad quotes.
plone/app/discussion/interfaces.py:161:65: Q000 Remove bad quotes.
plone/app/discussion/interfaces.py:215:25: Q000 Remove bad quotes.
plone/app/discussion/interfaces.py:230:21: Q000 Remove bad quotes.
plone/app/discussion/interfaces.py:248:25: Q000 Remove bad quotes.
plone/app/discussion/interfaces.py:252:23: Q000 Remove bad quotes.
plone/app/discussion/interfaces.py:259:25: Q000 Remove bad quotes.
plone/app/discussion/interfaces.py:276:25: Q000 Remove bad quotes.
plone/app/discussion/interfaces.py:365:1: E302 expected 2 blank lines, found 1
plone/app/discussion/interfaces.py:369:1: E302 expected 2 blank lines, found 1
plone/app/discussion/interfaces.py:373:1: E302 expected 2 blank lines, found 1
plone/app/discussion/interfaces.py:377:1: E302 expected 2 blank lines, found 1
plone/app/discussion/interfaces.py:381:1: E302 expected 2 blank lines, found 1
ERROR: /home/jenkins/workspace/package-plone.app.discussion/plone/app/discussion/patches.py Imports are incorrectly sorted.
plone/app/discussion/patches.py:0:1: C101 Coding magic comment not found
plone/app/discussion/patches.py:0:1: I001 found unsorted imports
plone/app/discussion/patches.py:28:46: Q000 Remove bad quotes.
plone/app/discussion/subscribers.py:0:1: C101 Coding magic comment not found
ERROR: /home/jenkins/workspace/package-plone.app.discussion/plone/app/discussion/testing.py Imports are incorrectly sorted.
plone/app/discussion/testing.py:0:1: C101 Coding magic comment not found
plone/app/discussion/testing.py:0:1: I001 found unsorted imports
plone/app/discussion/testing.py:11:1: F401 'z2' imported but unused
plone/app/discussion/testing.py:19:23: Q000 Remove bad quotes.
plone/app/discussion/testing.py:20:1: B901 blind except: statement
plone/app/discussion/testing.py:21:23: Q000 Remove bad quotes.
plone/app/discussion/testing.py:82:14: Q000 Remove bad quotes.
plone/app/discussion/testing.py:104:10: Q000 Remove bad quotes.
plone/app/discussion/testing.py:107:10: Q000 Remove bad quotes.
plone/app/discussion/testing.py:113:10: Q000 Remove bad quotes.
ERROR: /home/jenkins/workspace/package-plone.app.discussion/plone/app/discussion/tool.py Imports are incorrectly sorted.
plone/app/discussion/tool.py:0:1: C101 Coding magic comment not found
plone/app/discussion/tool.py:0:1: I001 found unsorted imports
ERROR: /home/jenkins/workspace/package-plone.app.discussion/plone/app/discussion/upgrades.py Imports are incorrectly sorted.
plone/app/discussion/upgrades.py:0:1: C101 Coding magic comment not found
plone/app/discussion/upgrades.py:0:1: I001 found unsorted imports
ERROR: /home/jenkins/workspace/package-plone.app.discussion/plone/app/discussion/vocabularies.py Imports are incorrectly sorted.
plone/app/discussion/vocabularies.py:0:1: I001 found unsorted imports
ERROR: /home/jenkins/workspace/package-plone.app.discussion/plone/app/discussion/tests/test_catalog.py Imports are incorrectly sorted.
plone/app/discussion/tests/test_catalog.py:0:1: C101 Coding magic comment not found
plone/app/discussion/tests/test_catalog.py:0:1: I001 found unsorted imports
plone/app/discussion/tests/test_catalog.py:89:25: Q000 Remove bad quotes.
plone/app/discussion/tests/test_catalog.py:107:38: S001 found %s formatter
plone/app/discussion/tests/test_catalog.py:114:25: Q000 Remove bad quotes.
plone/app/discussion/tests/test_catalog.py:135:38: S001 found %s formatter
plone/app/discussion/tests/test_catalog.py:142:25: Q000 Remove bad quotes.
plone/app/discussion/tests/test_catalog.py:158:25: Q000 Remove bad quotes.
plone/app/discussion/tests/test_catalog.py:173:25: Q000 Remove bad quotes.
plone/app/discussion/tests/test_catalog.py:191:38: S001 found %s formatter
plone/app/discussion/tests/test_catalog.py:199:25: Q000 Remove bad quotes.
plone/app/discussion/tests/test_catalog.py:212:25: Q000 Remove bad quotes.
plone/app/discussion/tests/test_catalog.py:224:25: Q000 Remove bad quotes.
plone/app/discussion/tests/test_catalog.py:235:25: Q000 Remove bad quotes.
plone/app/discussion/tests/test_catalog.py:243:41: Q000 Remove bad quotes.
plone/app/discussion/tests/test_catalog.py:250:25: Q000 Remove bad quotes.
plone/app/discussion/tests/test_catalog.py:280:38: S001 found %s formatter
plone/app/discussion/tests/test_catalog.py:299:38: S001 found %s formatter
plone/app/discussion/tests/test_catalog.py:307:47: Q000 Remove bad quotes.
plone/app/discussion/tests/test_catalog.py:347:40: Q000 Remove bad quotes.
plone/app/discussion/tests/test_catalog.py:380:25: Q000 Remove bad quotes.
plone/app/discussion/tests/test_catalog.py:386:25: Q000 Remove bad quotes.
plone/app/discussion/tests/test_catalog.py:429:25: Q000 Remove bad quotes.
plone/app/discussion/tests/test_catalog.py:436:25: Q000 Remove bad quotes.
plone/app/discussion/tests/test_catalog.py:450:41: Q000 Remove bad quotes.
plone/app/discussion/tests/test_catalog.py:450:49: Q000 Remove bad quotes.
plone/app/discussion/tests/test_catalog.py:556:25: Q000 Remove bad quotes.
ERROR: /home/jenkins/workspace/package-plone.app.discussion/plone/app/discussion/tests/test_comment.py Imports are incorrectly sorted.
plone/app/discussion/tests/test_comment.py:0:1: I001 found unsorted imports
plone/app/discussion/tests/test_comment.py:55:28: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comment.py:56:28: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comment.py:57:28: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comment.py:106:32: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comment.py:108:26: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comment.py:114:26: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comment.py:136:32: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comment.py:142:28: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comment.py:143:26: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comment.py:147:32: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comment.py:148:26: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comment.py:170:13: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comment.py:178:13: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comment.py:191:25: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comment.py:194:13: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comment.py:199:25: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comment.py:243:38: S001 found %s formatter
plone/app/discussion/tests/test_comment.py:274:38: S001 found %s formatter
plone/app/discussion/tests/test_comment.py:279:23: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comment.py:316:13: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comment.py:341:38: S001 found %s formatter
plone/app/discussion/tests/test_comment.py:383:38: S001 found %s formatter
plone/app/discussion/tests/test_comment.py:419:38: S001 found %s formatter
plone/app/discussion/tests/test_comment.py:454:38: S001 found %s formatter
plone/app/discussion/tests/test_comment.py:462:38: S001 found %s formatter
plone/app/discussion/tests/test_comment.py:471:38: S001 found %s formatter
plone/app/discussion/tests/test_comment.py:480:38: S001 found %s formatter
ERROR: /home/jenkins/workspace/package-plone.app.discussion/plone/app/discussion/tests/test_comments_viewlet.py Imports are incorrectly sorted.
plone/app/discussion/tests/test_comments_viewlet.py:0:1: I001 found unsorted imports
plone/app/discussion/tests/test_comments_viewlet.py:43:1: F811 redefinition of unused 'IConversation' from line 38
plone/app/discussion/tests/test_comments_viewlet.py:64:45: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:109:65: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:123:65: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:131:47: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:132:64: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:181:65: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:195:59: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:197:14: D001 found assertEquals replace it with assertEqual
plone/app/discussion/tests/test_comments_viewlet.py:200:33: F812 list comprehension redefines 'comment' from line 196
plone/app/discussion/tests/test_comments_viewlet.py:205:47: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:207:64: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:249:65: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:260:69: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:260:80: E501 line too long (96 > 79 characters)
plone/app/discussion/tests/test_comments_viewlet.py:307:65: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:356:27: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:391:13: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:474:13: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:475:13: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:480:35: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:485:13: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:486:13: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:487:13: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:498:13: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:499:13: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:500:13: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:556:63: S001 found %s formatter
ERROR: /home/jenkins/workspace/package-plone.app.discussion/plone/app/discussion/tests/test_contentrules.py Imports are incorrectly sorted.
plone/app/discussion/tests/test_contentrules.py:0:1: I001 found unsorted imports
plone/app/discussion/tests/test_contentrules.py:20:1: E302 expected 2 blank lines, found 1
plone/app/discussion/tests/test_contentrules.py:46:24: Q000 Remove bad quotes.
plone/app/discussion/tests/test_contentrules.py:47:35: Q000 Remove bad quotes.
plone/app/discussion/tests/test_contentrules.py:48:31: Q000 Remove bad quotes.
plone/app/discussion/tests/test_contentrules.py:49:32: Q000 Remove bad quotes.
plone/app/discussion/tests/test_contentrules.py:54:5: E303 too many blank lines (2)
plone/app/discussion/tests/test_contentrules.py:109:38: S001 found %s formatter
plone/app/discussion/tests/test_contentrules.py:113:38: Q000 Remove bad quotes.
plone/app/discussion/tests/test_contentrules.py:114:34: Q000 Remove bad quotes.
plone/app/discussion/tests/test_contentrules.py:115:35: Q000 Remove bad quotes.
plone/app/discussion/tests/test_contentrules.py:118:9: F841 local variable 'new_re_id' is assigned to but never used
plone/app/discussion/tests/test_contentrules.py:127:35: E127 continuation line over-indented for visual indent
plone/app/discussion/tests/test_contentrules.py:137:44: E127 continuation line over-indented for visual indent
ERROR: /home/jenkins/workspace/package-plone.app.discussion/plone/app/discussion/tests/test_controlpanel.py Imports are incorrectly sorted.
plone/app/discussion/tests/test_controlpanel.py:0:1: I001 found unsorted imports
plone/app/discussion/tests/test_controlpanel.py:36:18: Q000 Remove bad quotes.
plone/app/discussion/tests/test_controlpanel.py:43:56: Q000 Remove bad quotes.
plone/app/discussion/tests/test_controlpanel.py:92:5: F811 redefinition of unused 'test_edit_comment_enabled' from line 84
plone/app/discussion/tests/test_controlpanel.py:145:5: E265 block comment should start with '# '
ERROR: /home/jenkins/workspace/package-plone.app.discussion/plone/app/discussion/tests/test_conversation.py Imports are incorrectly sorted.
plone/app/discussion/tests/test_conversation.py:0:1: C101 Coding magic comment not found
plone/app/discussion/tests/test_conversation.py:0:1: I001 found unsorted imports
plone/app/discussion/tests/test_conversation.py:31:1: B901 blind except: statement
plone/app/discussion/tests/test_conversation.py:91:35: Q000 Remove bad quotes.
plone/app/discussion/tests/test_conversation.py:93:35: Q000 Remove bad quotes.
plone/app/discussion/tests/test_conversation.py:96:27: Q000 Remove bad quotes.
plone/app/discussion/tests/test_conversation.py:401:9: E265 block comment should start with '# '
plone/app/discussion/tests/test_conversation.py:443:36: Q000 Remove bad quotes.
plone/app/discussion/tests/test_conversation.py:448:36: Q000 Remove bad quotes.
plone/app/discussion/tests/test_conversation.py:453:36: Q000 Remove bad quotes.
plone/app/discussion/tests/test_conversation.py:458:36: Q000 Remove bad quotes.
plone/app/discussion/tests/test_conversation.py:852:38: S001 found %s formatter
plone/app/discussion/tests/test_conversation.py:856:38: S001 found %s formatter
plone/app/discussion/tests/test_conversation.py:861:38: S001 found %s formatter
ERROR: /home/jenkins/workspace/package-plone.app.discussion/plone/app/discussion/tests/test_events.py Imports are incorrectly sorted.
plone/app/discussion/tests/test_events.py:0:1: I001 found unsorted imports
plone/app/discussion/tests/test_events.py:15:1: E302 expected 2 blank lines, found 0
plone/app/discussion/tests/test_events.py:26:1: E302 expected 2 blank lines, found 1
plone/app/discussion/tests/test_events.py:29:1: E302 expected 2 blank lines, found 1
plone/app/discussion/tests/test_events.py:32:1: E302 expected 2 blank lines, found 1
plone/app/discussion/tests/test_events.py:35:1: E302 expected 2 blank lines, found 1
plone/app/discussion/tests/test_events.py:40:1: E302 expected 2 blank lines, found 0
plone/app/discussion/tests/test_events.py:81:26: Q000 Remove bad quotes.
plone/app/discussion/tests/test_events.py:99:1: E302 expected 2 blank lines, found 1
plone/app/discussion/tests/test_events.py:138:26: Q000 Remove bad quotes.
plone/app/discussion/tests/test_events.py:151:38: S001 found %s formatter
plone/app/discussion/tests/test_events.py:157:9: F841 local variable 'new_re_id' is assigned to but never used
plone/app/discussion/tests/test_events.py:171:38: S001 found %s formatter
ERROR: /home/jenkins/workspace/package-plone.app.discussion/plone/app/discussion/tests/test_functional.py Imports are incorrectly sorted.
plone/app/discussion/tests/test_functional.py:0:1: I001 found unsorted imports
ERROR: /home/jenkins/workspace/package-plone.app.discussion/plone/app/discussion/tests/test_indexers.py Imports are incorrectly sorted.
plone/app/discussion/tests/test_indexers.py:0:1: C101 Coding magic comment not found
plone/app/discussion/tests/test_indexers.py:0:1: I001 found unsorted imports
plone/app/discussion/tests/test_indexers.py:54:28: Q000 Remove bad quotes.
plone/app/discussion/tests/test_indexers.py:55:36: Q000 Remove bad quotes.
plone/app/discussion/tests/test_indexers.py:62:28: Q000 Remove bad quotes.
plone/app/discussion/tests/test_indexers.py:63:36: Q000 Remove bad quotes.
plone/app/discussion/tests/test_indexers.py:70:28: Q000 Remove bad quotes.
plone/app/discussion/tests/test_indexers.py:71:36: Q000 Remove bad quotes.
plone/app/discussion/tests/test_indexers.py:110:9: E265 block comment should start with '# '
plone/app/discussion/tests/test_indexers.py:112:9: E265 block comment should start with '# '
plone/app/discussion/tests/test_indexers.py:139:27: Q000 Remove bad quotes.
plone/app/discussion/tests/test_indexers.py:140:31: Q000 Remove bad quotes.
plone/app/discussion/tests/test_indexers.py:170:35: Q000 Remove bad quotes.
plone/app/discussion/tests/test_indexers.py:170:41: Q000 Remove bad quotes.
ERROR: /home/jenkins/workspace/package-plone.app.discussion/plone/app/discussion/tests/test_moderation_view.py Imports are incorrectly sorted.
plone/app/discussion/tests/test_moderation_view.py:0:1: I001 found unsorted imports
plone/app/discussion/tests/test_moderation_view.py:86:38: S001 found %s formatter
plone/app/discussion/tests/test_moderation_view.py:94:38: S001 found %s formatter
plone/app/discussion/tests/test_moderation_view.py:102:38: S001 found %s formatter
ERROR: /home/jenkins/workspace/package-plone.app.discussion/plone/app/discussion/tests/test_notifications.py Imports are incorrectly sorted.
plone/app/discussion/tests/test_notifications.py:0:1: I001 found unsorted imports
plone/app/discussion/tests/test_notifications.py:41:44: Q000 Remove bad quotes.
plone/app/discussion/tests/test_notifications.py:67:32: Q000 Remove bad quotes.
plone/app/discussion/tests/test_notifications.py:89:13: Q000 Remove bad quotes.
plone/app/discussion/tests/test_notifications.py:90:13: S001 found % formatter
plone/app/discussion/tests/test_notifications.py:105:32: Q000 Remove bad quotes.
plone/app/discussion/tests/test_notifications.py:135:32: Q000 Remove bad quotes.
plone/app/discussion/tests/test_notifications.py:150:32: Q000 Remove bad quotes.
plone/app/discussion/tests/test_notifications.py:155:32: Q000 Remove bad quotes.
plone/app/discussion/tests/test_notifications.py:182:44: Q000 Remove bad quotes.
plone/app/discussion/tests/test_notifications.py:232:13: Q000 Remove bad quotes.
plone/app/discussion/tests/test_notifications.py:233:13: S001 found % formatter
plone/app/discussion/tests/test_notifications.py:239:13: S001 found % formatter
plone/app/discussion/tests/test_notifications.py:243:13: S001 found % formatter
ERROR: /home/jenkins/workspace/package-plone.app.discussion/plone/app/discussion/tests/test_robot.py Imports are incorrectly sorted.
plone/app/discussion/tests/test_robot.py:0:1: C101 Coding magic comment not found
plone/app/discussion/tests/test_robot.py:0:1: I001 found unsorted imports
ERROR: /home/jenkins/workspace/package-plone.app.discussion/plone/app/discussion/tests/test_workflow.py Imports are incorrectly sorted.
plone/app/discussion/tests/test_workflow.py:0:1: I001 found unsorted imports
plone/app/discussion/tests/test_workflow.py:57:9: E265 block comment should start with '# '
plone/app/discussion/tests/test_workflow.py:93:27: Q000 Remove bad quotes.
plone/app/discussion/tests/test_workflow.py:132:38: S001 found %s formatter
plone/app/discussion/tests/test_workflow.py:152:9: E265 block comment should start with '# '
plone/app/discussion/tests/test_workflow.py:153:9: E265 block comment should start with '# '
plone/app/discussion/tests/test_workflow.py:201:38: S001 found %s formatter
ERROR: /home/jenkins/workspace/package-plone.app.discussion/plone/app/discussion/browser/captcha.py Imports are incorrectly sorted.
plone/app/discussion/browser/captcha.py:0:1: I001 found unsorted imports
plone/app/discussion/browser/captcha.py:64:39: Q000 Remove bad quotes.
ERROR: /home/jenkins/workspace/package-plone.app.discussion/plone/app/discussion/browser/comment.py Imports are incorrectly sorted.
plone/app/discussion/browser/comment.py:0:1: C101 Coding magic comment not found
plone/app/discussion/browser/comment.py:0:1: I001 found unsorted imports
plone/app/discussion/browser/comment.py:45:19: Q000 Remove bad quotes.
plone/app/discussion/browser/comment.py:45:20: S001 found %s formatter
plone/app/discussion/browser/comment.py:47:41: S001 found %s formatter
plone/app/discussion/browser/comment.py:53:10: Q000 Remove bad quotes.
plone/app/discussion/browser/comment.py:92:52: Q000 Remove bad quotes.
plone/app/discussion/browser/comment.py:95:40: Q000 Remove bad quotes.
plone/app/discussion/browser/comment.py:95:58: Q000 Remove bad quotes.
plone/app/discussion/browser/comment.py:108:1: E265 block comment should start with '# '
ERROR: /home/jenkins/workspace/package-plone.app.discussion/plone/app/discussion/browser/comments.py Imports are incorrectly sorted.
plone/app/discussion/browser/comments.py:0:1: I001 found unsorted imports
plone/app/discussion/browser/comments.py:94:39: Q000 Remove bad quotes.
plone/app/discussion/browser/comments.py:100:35: Q000 Remove bad quotes.
plone/app/discussion/browser/comments.py:134:41: Q000 Remove bad quotes.
plone/app/discussion/browser/comments.py:135:41: Q000 Remove bad quotes.
plone/app/discussion/browser/comments.py:136:42: Q000 Remove bad quotes.
plone/app/discussion/browser/comments.py:138:1: C901 'CommentForm.handleComment' is too complex (17)
plone/app/discussion/browser/comments.py:147:32: Q000 Remove bad quotes.
plone/app/discussion/browser/comments.py:148:32: Q000 Remove bad quotes.
plone/app/discussion/browser/comments.py:163:16: E713 test for membership should be 'not in'
plone/app/discussion/browser/comments.py:220:53: Q000 Remove bad quotes.
plone/app/discussion/browser/comments.py:267:19: Q000 Remove bad quotes.
plone/app/discussion/browser/comments.py:268:22: Q000 Remove bad quotes.
plone/app/discussion/browser/comments.py:291:13: W503 line break before binary operator
plone/app/discussion/browser/comments.py:292:13: W503 line break before binary operator
plone/app/discussion/browser/comments.py:348:39: Q000 Remove bad quotes.
plone/app/discussion/browser/comments.py:351:41: Q000 Remove bad quotes.
plone/app/discussion/browser/comments.py:359:41: Q000 Remove bad quotes.
plone/app/discussion/browser/comments.py:367:37: Q000 Remove bad quotes.
plone/app/discussion/browser/comments.py:438:20: Q000 Remove bad quotes.
plone/app/discussion/browser/comments.py:438:21: S001 found %s formatter
plone/app/discussion/browser/comments.py:478:17: S001 found %s formatter
ERROR: /home/jenkins/workspace/package-plone.app.discussion/plone/app/discussion/browser/controlpanel.py Imports are incorrectly sorted.
plone/app/discussion/browser/controlpanel.py:0:1: I001 found unsorted imports
plone/app/discussion/browser/controlpanel.py:32:10: Q000 Remove bad quotes.
plone/app/discussion/browser/controlpanel.py:88:55: Q000 Remove bad quotes.
plone/app/discussion/browser/controlpanel.py:89:48: Q000 Remove bad quotes.
plone/app/discussion/browser/controlpanel.py:94:55: Q000 Remove bad quotes.
plone/app/discussion/browser/controlpanel.py:95:40: Q000 Remove bad quotes.
plone/app/discussion/browser/controlpanel.py:95:41: S001 found %s formatter
plone/app/discussion/browser/controlpanel.py:111:46: Q000 Remove bad quotes.
plone/app/discussion/browser/controlpanel.py:117:27: Q000 Remove bad quotes.
plone/app/discussion/browser/controlpanel.py:124:27: Q000 Remove bad quotes.
plone/app/discussion/browser/controlpanel.py:126:27: Q000 Remove bad quotes.
plone/app/discussion/browser/controlpanel.py:129:27: Q000 Remove bad quotes.
plone/app/discussion/browser/controlpanel.py:133:27: Q000 Remove bad quotes.
plone/app/discussion/browser/controlpanel.py:139:27: Q000 Remove bad quotes.
plone/app/discussion/browser/controlpanel.py:165:46: Q000 Remove bad quotes.
ERROR: /home/jenkins/workspace/package-plone.app.discussion/plone/app/discussion/browser/conversation.py Imports are incorrectly sorted.
plone/app/discussion/browser/conversation.py:0:1: C101 Coding magic comment not found
plone/app/discussion/browser/conversation.py:0:1: I001 found unsorted imports
plone/app/discussion/browser/conversation.py:20:1: B901 blind except: statement
plone/app/discussion/browser/conversation.py:32:1: C901 'ConversationView._enabled_for_archetypes' is too complex (14)
plone/app/discussion/browser/conversation.py:138:12: P002 found "hasattr", consider replacing it
plone/app/discussion/browser/conversation.py:138:29: Q000 Remove bad quotes.
ERROR: /home/jenkins/workspace/package-plone.app.discussion/plone/app/discussion/browser/migration.py Imports are incorrectly sorted.
plone/app/discussion/browser/migration.py:0:1: C101 Coding magic comment not found
plone/app/discussion/browser/migration.py:0:1: I001 found unsorted imports
plone/app/discussion/browser/migration.py:37:1: C901 'View.__call__' is too complex (32)
plone/app/discussion/browser/migration.py:44:19: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:48:16: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:80:26: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:82:31: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:83:22: S001 found %s formatter
plone/app/discussion/browser/migration.py:181:25: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:181:26: S001 found %s formatter
plone/app/discussion/browser/migration.py:191:13: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:191:20: S001 found %s formatter
plone/app/discussion/browser/migration.py:205:13: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:205:20: S001 found %s formatter
plone/app/discussion/browser/migration.py:206:13: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:206:20: S001 found %s formatter
plone/app/discussion/browser/migration.py:207:13: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:207:20: S001 found %s formatter
plone/app/discussion/browser/migration.py:209:13: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:210:13: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:228:21: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:229:31: S001 found %s formatter
plone/app/discussion/browser/migration.py:237:17: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:238:17: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:239:17: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:239:28: S001 found %s formatter
plone/app/discussion/browser/migration.py:246:17: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:248:13: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:249:13: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:250:13: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:252:13: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:253:13: S001 found % formatter
plone/app/discussion/browser/migration.py:257:17: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:257:18: S001 found %s formatter
plone/app/discussion/browser/migration.py:261:17: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:262:17: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:266:17: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:267:17: Q000 Remove bad quotes.
ERROR: /home/jenkins/workspace/package-plone.app.discussion/plone/app/discussion/browser/moderation.py Imports are incorrectly sorted.
plone/app/discussion/browser/moderation.py:0:1: I001 found unsorted imports
plone/app/discussion/browser/moderation.py:4:1: F401 'queryUtility' imported but unused
plone/app/discussion/browser/moderation.py:13:1: F401 'IRegistry' imported but unused
plone/app/discussion/browser/moderation.py:14:1: F401 'IDiscussionSettings' imported but unused
plone/app/discussion/browser/moderation.py:108:19: Q000 Remove bad quotes.
plone/app/discussion/browser/moderation.py:109:22: Q000 Remove bad quotes.
plone/app/discussion/browser/moderation.py:154:15: Q000 Remove bad quotes.
plone/app/discussion/browser/moderation.py:155:18: Q000 Remove bad quotes.
ERROR: /home/jenkins/workspace/package-plone.app.discussion/plone/app/discussion/browser/traversal.py Imports are incorrectly sorted.
plone/app/discussion/browser/traversal.py:0:1: C101 Coding magic comment not found
plone/app/discussion/browser/traversal.py:0:1: I001 found unsorted imports
plone/app/discussion/browser/traversal.py:32:20: Q000 Remove bad quotes.
ERROR: /home/jenkins/workspace/package-plone.app.discussion/plone/app/discussion/browser/validator.py Imports are incorrectly sorted.
plone/app/discussion/browser/validator.py:0:1: I001 found unsorted imports
```
You can run that yourself using buildout.coredev ``experimental/qa.cfg`` config file.


@mauritsvanrees Jenkins CI reporting about code analysis
See the full report here: http://jenkins.plone.org/job/package-plone.app.discussion/18//violations
```
plone/__init__.py:0:1: C101 Coding magic comment not found
plone/app/__init__.py:0:1: C101 Coding magic comment not found
ERROR: /home/jenkins/workspace/package-plone.app.discussion@2/plone/app/discussion/__init__.py Imports are incorrectly sorted.
plone/app/discussion/__init__.py:0:1: I001 found unsorted imports
ERROR: /home/jenkins/workspace/package-plone.app.discussion@2/plone/app/discussion/catalog.py Imports are incorrectly sorted.
plone/app/discussion/catalog.py:0:1: C101 Coding magic comment not found
plone/app/discussion/catalog.py:0:1: I001 found unsorted imports
plone/app/discussion/catalog.py:89:17: Q000 Remove bad quotes.
ERROR: /home/jenkins/workspace/package-plone.app.discussion@2/plone/app/discussion/comment.py Imports are incorrectly sorted.
plone/app/discussion/comment.py:0:1: I001 found unsorted imports
plone/app/discussion/comment.py:77:28: Q000 Remove bad quotes.
plone/app/discussion/comment.py:172:40: Q000 Remove bad quotes.
plone/app/discussion/comment.py:174:30: S001 found %s formatter
plone/app/discussion/comment.py:178:48: S001 found %s formatter
plone/app/discussion/comment.py:213:14: D001 found declareProtected replace it with AccessControl.ClassSecurityInfo.protected
plone/app/discussion/comment.py:250:1: E302 expected 2 blank lines, found 1
plone/app/discussion/comment.py:259:1: E302 expected 2 blank lines, found 1
plone/app/discussion/comment.py:268:1: E302 expected 2 blank lines, found 1
plone/app/discussion/comment.py:277:1: E302 expected 2 blank lines, found 1
plone/app/discussion/comment.py:303:21: Q000 Remove bad quotes.
plone/app/discussion/contentrules.py:0:1: C101 Coding magic comment not found
plone/app/discussion/contentrules.py:18:5: E731 do not assign a lambda expression, use a def
plone/app/discussion/contentrules.py:26:1: E302 expected 2 blank lines, found 1
plone/app/discussion/contentrules.py:48:1: E302 expected 2 blank lines, found 1
plone/app/discussion/contentrules.py:59:1: E302 expected 2 blank lines, found 1
plone/app/discussion/contentrules.py:70:1: E302 expected 2 blank lines, found 1
plone/app/discussion/contentrules.py:81:1: E302 expected 2 blank lines, found 1
plone/app/discussion/contentrules.py:92:1: E302 expected 2 blank lines, found 1
ERROR: /home/jenkins/workspace/package-plone.app.discussion@2/plone/app/discussion/conversation.py Imports are incorrectly sorted.
plone/app/discussion/conversation.py:0:1: C101 Coding magic comment not found
plone/app/discussion/conversation.py:0:1: I001 found unsorted imports
plone/app/discussion/conversation.py:67:27: Q000 Remove bad quotes.
plone/app/discussion/conversation.py:205:16: E713 test for membership should be 'not in'
plone/app/discussion/conversation.py:214:12: E713 test for membership should be 'not in'
plone/app/discussion/conversation.py:220:12: E713 test for membership should be 'not in'
plone/app/discussion/conversation.py:324:8: E713 test for membership should be 'not in'
plone/app/discussion/conversation.py:453:29: Q000 Remove bad quotes.
ERROR: /home/jenkins/workspace/package-plone.app.discussion@2/plone/app/discussion/events.py Imports are incorrectly sorted.
plone/app/discussion/events.py:0:1: C101 Coding magic comment not found
plone/app/discussion/events.py:0:1: I001 found unsorted imports
plone/app/discussion/events.py:11:1: E302 expected 2 blank lines, found 1
plone/app/discussion/events.py:33:1: E302 expected 2 blank lines, found 1
plone/app/discussion/events.py:38:1: E302 expected 2 blank lines, found 1
plone/app/discussion/events.py:43:1: E302 expected 2 blank lines, found 1
plone/app/discussion/events.py:48:1: E302 expected 2 blank lines, found 1
ERROR: /home/jenkins/workspace/package-plone.app.discussion@2/plone/app/discussion/interfaces.py Imports are incorrectly sorted.
plone/app/discussion/interfaces.py:0:1: I001 found unsorted imports
plone/app/discussion/interfaces.py:135:17: Q000 Remove bad quotes.
plone/app/discussion/interfaces.py:161:65: Q000 Remove bad quotes.
plone/app/discussion/interfaces.py:247:25: Q000 Remove bad quotes.
plone/app/discussion/interfaces.py:262:21: Q000 Remove bad quotes.
plone/app/discussion/interfaces.py:280:25: Q000 Remove bad quotes.
plone/app/discussion/interfaces.py:284:23: Q000 Remove bad quotes.
plone/app/discussion/interfaces.py:291:25: Q000 Remove bad quotes.
plone/app/discussion/interfaces.py:308:25: Q000 Remove bad quotes.
plone/app/discussion/interfaces.py:390:1: E302 expected 2 blank lines, found 1
plone/app/discussion/interfaces.py:394:1: E302 expected 2 blank lines, found 1
plone/app/discussion/interfaces.py:398:1: E302 expected 2 blank lines, found 1
plone/app/discussion/interfaces.py:402:1: E302 expected 2 blank lines, found 1
plone/app/discussion/interfaces.py:406:1: E302 expected 2 blank lines, found 1
ERROR: /home/jenkins/workspace/package-plone.app.discussion@2/plone/app/discussion/patches.py Imports are incorrectly sorted.
plone/app/discussion/patches.py:0:1: C101 Coding magic comment not found
plone/app/discussion/patches.py:0:1: I001 found unsorted imports
ERROR: /home/jenkins/workspace/package-plone.app.discussion@2/plone/app/discussion/testing.py Imports are incorrectly sorted.
plone/app/discussion/testing.py:0:1: C101 Coding magic comment not found
plone/app/discussion/testing.py:0:1: I001 found unsorted imports
plone/app/discussion/testing.py:13:23: Q000 Remove bad quotes.
plone/app/discussion/testing.py:14:1: B901 blind except: statement
plone/app/discussion/testing.py:15:23: Q000 Remove bad quotes.
plone/app/discussion/testing.py:66:14: Q000 Remove bad quotes.
plone/app/discussion/testing.py:78:10: Q000 Remove bad quotes.
plone/app/discussion/testing.py:81:10: Q000 Remove bad quotes.
ERROR: /home/jenkins/workspace/package-plone.app.discussion@2/plone/app/discussion/tool.py Imports are incorrectly sorted.
plone/app/discussion/tool.py:0:1: C101 Coding magic comment not found
plone/app/discussion/tool.py:0:1: I001 found unsorted imports
ERROR: /home/jenkins/workspace/package-plone.app.discussion@2/plone/app/discussion/upgrades.py Imports are incorrectly sorted.
plone/app/discussion/upgrades.py:0:1: C101 Coding magic comment not found
plone/app/discussion/upgrades.py:0:1: I001 found unsorted imports
ERROR: /home/jenkins/workspace/package-plone.app.discussion@2/plone/app/discussion/vocabularies.py Imports are incorrectly sorted.
plone/app/discussion/vocabularies.py:0:1: I001 found unsorted imports
ERROR: /home/jenkins/workspace/package-plone.app.discussion@2/plone/app/discussion/tests/test_catalog.py Imports are incorrectly sorted.
plone/app/discussion/tests/test_catalog.py:0:1: C101 Coding magic comment not found
plone/app/discussion/tests/test_catalog.py:0:1: I001 found unsorted imports
plone/app/discussion/tests/test_catalog.py:89:25: Q000 Remove bad quotes.
plone/app/discussion/tests/test_catalog.py:107:38: S001 found %s formatter
plone/app/discussion/tests/test_catalog.py:114:25: Q000 Remove bad quotes.
plone/app/discussion/tests/test_catalog.py:135:38: S001 found %s formatter
plone/app/discussion/tests/test_catalog.py:142:25: Q000 Remove bad quotes.
plone/app/discussion/tests/test_catalog.py:158:25: Q000 Remove bad quotes.
plone/app/discussion/tests/test_catalog.py:173:25: Q000 Remove bad quotes.
plone/app/discussion/tests/test_catalog.py:191:38: S001 found %s formatter
plone/app/discussion/tests/test_catalog.py:199:25: Q000 Remove bad quotes.
plone/app/discussion/tests/test_catalog.py:212:25: Q000 Remove bad quotes.
plone/app/discussion/tests/test_catalog.py:224:25: Q000 Remove bad quotes.
plone/app/discussion/tests/test_catalog.py:235:25: Q000 Remove bad quotes.
plone/app/discussion/tests/test_catalog.py:243:41: Q000 Remove bad quotes.
plone/app/discussion/tests/test_catalog.py:250:25: Q000 Remove bad quotes.
plone/app/discussion/tests/test_catalog.py:280:38: S001 found %s formatter
plone/app/discussion/tests/test_catalog.py:299:38: S001 found %s formatter
plone/app/discussion/tests/test_catalog.py:307:47: Q000 Remove bad quotes.
plone/app/discussion/tests/test_catalog.py:347:40: Q000 Remove bad quotes.
plone/app/discussion/tests/test_catalog.py:380:25: Q000 Remove bad quotes.
plone/app/discussion/tests/test_catalog.py:386:25: Q000 Remove bad quotes.
plone/app/discussion/tests/test_catalog.py:429:25: Q000 Remove bad quotes.
plone/app/discussion/tests/test_catalog.py:436:25: Q000 Remove bad quotes.
plone/app/discussion/tests/test_catalog.py:450:41: Q000 Remove bad quotes.
plone/app/discussion/tests/test_catalog.py:450:49: Q000 Remove bad quotes.
plone/app/discussion/tests/test_catalog.py:533:31: Q000 Remove bad quotes.
plone/app/discussion/tests/test_catalog.py:578:25: Q000 Remove bad quotes.
ERROR: /home/jenkins/workspace/package-plone.app.discussion@2/plone/app/discussion/tests/test_comment.py Imports are incorrectly sorted.
plone/app/discussion/tests/test_comment.py:0:1: I001 found unsorted imports
plone/app/discussion/tests/test_comment.py:55:28: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comment.py:56:28: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comment.py:57:28: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comment.py:106:32: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comment.py:108:26: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comment.py:114:26: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comment.py:130:28: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comment.py:131:26: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comment.py:135:32: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comment.py:136:26: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comment.py:158:13: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comment.py:166:13: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comment.py:179:25: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comment.py:182:13: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comment.py:187:25: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comment.py:231:38: S001 found %s formatter
plone/app/discussion/tests/test_comment.py:262:38: S001 found %s formatter
plone/app/discussion/tests/test_comment.py:267:23: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comment.py:304:13: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comment.py:329:38: S001 found %s formatter
plone/app/discussion/tests/test_comment.py:371:38: S001 found %s formatter
plone/app/discussion/tests/test_comment.py:407:38: S001 found %s formatter
plone/app/discussion/tests/test_comment.py:442:38: S001 found %s formatter
plone/app/discussion/tests/test_comment.py:450:38: S001 found %s formatter
plone/app/discussion/tests/test_comment.py:459:38: S001 found %s formatter
plone/app/discussion/tests/test_comment.py:468:38: S001 found %s formatter
ERROR: /home/jenkins/workspace/package-plone.app.discussion@2/plone/app/discussion/tests/test_comments_viewlet.py Imports are incorrectly sorted.
plone/app/discussion/tests/test_comments_viewlet.py:0:1: I001 found unsorted imports
plone/app/discussion/tests/test_comments_viewlet.py:43:1: F811 redefinition of unused 'IConversation' from line 38
plone/app/discussion/tests/test_comments_viewlet.py:112:65: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:126:65: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:134:43: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:135:60: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:137:66: W291 trailing whitespace
plone/app/discussion/tests/test_comments_viewlet.py:180:65: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:194:59: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:196:14: D001 found assertEquals replace it with assertEqual
plone/app/discussion/tests/test_comments_viewlet.py:236:65: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:281:27: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:316:13: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:405:13: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:406:13: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:411:35: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:416:13: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:417:13: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:418:13: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:429:13: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:430:13: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:431:13: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:487:63: S001 found %s formatter
ERROR: /home/jenkins/workspace/package-plone.app.discussion@2/plone/app/discussion/tests/test_contentrules.py Imports are incorrectly sorted.
plone/app/discussion/tests/test_contentrules.py:0:1: I001 found unsorted imports
plone/app/discussion/tests/test_contentrules.py:6:1: F401 'notify' imported but unused
plone/app/discussion/tests/test_contentrules.py:22:1: E302 expected 2 blank lines, found 1
plone/app/discussion/tests/test_contentrules.py:51:24: Q000 Remove bad quotes.
plone/app/discussion/tests/test_contentrules.py:52:35: Q000 Remove bad quotes.
plone/app/discussion/tests/test_contentrules.py:53:31: Q000 Remove bad quotes.
plone/app/discussion/tests/test_contentrules.py:54:32: Q000 Remove bad quotes.
plone/app/discussion/tests/test_contentrules.py:59:5: E303 too many blank lines (2)
plone/app/discussion/tests/test_contentrules.py:117:38: S001 found %s formatter
plone/app/discussion/tests/test_contentrules.py:121:38: Q000 Remove bad quotes.
plone/app/discussion/tests/test_contentrules.py:122:34: Q000 Remove bad quotes.
plone/app/discussion/tests/test_contentrules.py:123:35: Q000 Remove bad quotes.
plone/app/discussion/tests/test_contentrules.py:126:9: F841 local variable 'new_re_id' is assigned to but never used
plone/app/discussion/tests/test_contentrules.py:135:35: E127 continuation line over-indented for visual indent
plone/app/discussion/tests/test_contentrules.py:145:44: E127 continuation line over-indented for visual indent
ERROR: /home/jenkins/workspace/package-plone.app.discussion@2/plone/app/discussion/tests/test_controlpanel.py Imports are incorrectly sorted.
plone/app/discussion/tests/test_controlpanel.py:0:1: I001 found unsorted imports
plone/app/discussion/tests/test_controlpanel.py:36:18: Q000 Remove bad quotes.
plone/app/discussion/tests/test_controlpanel.py:43:56: Q000 Remove bad quotes.
plone/app/discussion/tests/test_controlpanel.py:92:5: F811 redefinition of unused 'test_edit_comment_enabled' from line 84
plone/app/discussion/tests/test_controlpanel.py:145:5: E265 block comment should start with '# '
ERROR: /home/jenkins/workspace/package-plone.app.discussion@2/plone/app/discussion/tests/test_conversation.py Imports are incorrectly sorted.
plone/app/discussion/tests/test_conversation.py:0:1: C101 Coding magic comment not found
plone/app/discussion/tests/test_conversation.py:0:1: I001 found unsorted imports
plone/app/discussion/tests/test_conversation.py:31:1: B901 blind except: statement
plone/app/discussion/tests/test_conversation.py:91:35: Q000 Remove bad quotes.
plone/app/discussion/tests/test_conversation.py:93:35: Q000 Remove bad quotes.
plone/app/discussion/tests/test_conversation.py:94:14: D001 found assertEquals replace it with assertEqual
plone/app/discussion/tests/test_conversation.py:95:14: D001 found assertEquals replace it with assertEqual
plone/app/discussion/tests/test_conversation.py:96:14: D001 found assertEquals replace it with assertEqual
plone/app/discussion/tests/test_conversation.py:96:28: Q000 Remove bad quotes.
plone/app/discussion/tests/test_conversation.py:97:14: D001 found assertEquals replace it with assertEqual
plone/app/discussion/tests/test_conversation.py:518:9: E265 block comment should start with '# '
plone/app/discussion/tests/test_conversation.py:560:36: Q000 Remove bad quotes.
plone/app/discussion/tests/test_conversation.py:565:36: Q000 Remove bad quotes.
plone/app/discussion/tests/test_conversation.py:570:36: Q000 Remove bad quotes.
plone/app/discussion/tests/test_conversation.py:575:36: Q000 Remove bad quotes.
plone/app/discussion/tests/test_conversation.py:969:38: S001 found %s formatter
plone/app/discussion/tests/test_conversation.py:973:38: S001 found %s formatter
plone/app/discussion/tests/test_conversation.py:978:38: S001 found %s formatter
ERROR: /home/jenkins/workspace/package-plone.app.discussion@2/plone/app/discussion/tests/test_events.py Imports are incorrectly sorted.
plone/app/discussion/tests/test_events.py:0:1: I001 found unsorted imports
plone/app/discussion/tests/test_events.py:15:1: E302 expected 2 blank lines, found 0
plone/app/discussion/tests/test_events.py:26:1: E302 expected 2 blank lines, found 1
plone/app/discussion/tests/test_events.py:29:1: E302 expected 2 blank lines, found 1
plone/app/discussion/tests/test_events.py:32:1: E302 expected 2 blank lines, found 1
plone/app/discussion/tests/test_events.py:35:1: E302 expected 2 blank lines, found 1
plone/app/discussion/tests/test_events.py:40:1: E302 expected 2 blank lines, found 0
plone/app/discussion/tests/test_events.py:81:26: Q000 Remove bad quotes.
plone/app/discussion/tests/test_events.py:99:1: E302 expected 2 blank lines, found 1
plone/app/discussion/tests/test_events.py:138:26: Q000 Remove bad quotes.
plone/app/discussion/tests/test_events.py:151:38: S001 found %s formatter
plone/app/discussion/tests/test_events.py:157:9: F841 local variable 'new_re_id' is assigned to but never used
plone/app/discussion/tests/test_events.py:171:38: S001 found %s formatter
ERROR: /home/jenkins/workspace/package-plone.app.discussion@2/plone/app/discussion/tests/test_functional.py Imports are incorrectly sorted.
plone/app/discussion/tests/test_functional.py:0:1: I001 found unsorted imports
ERROR: /home/jenkins/workspace/package-plone.app.discussion@2/plone/app/discussion/tests/test_indexers.py Imports are incorrectly sorted.
plone/app/discussion/tests/test_indexers.py:0:1: C101 Coding magic comment not found
plone/app/discussion/tests/test_indexers.py:0:1: I001 found unsorted imports
plone/app/discussion/tests/test_indexers.py:54:28: Q000 Remove bad quotes.
plone/app/discussion/tests/test_indexers.py:55:36: Q000 Remove bad quotes.
plone/app/discussion/tests/test_indexers.py:62:28: Q000 Remove bad quotes.
plone/app/discussion/tests/test_indexers.py:63:36: Q000 Remove bad quotes.
plone/app/discussion/tests/test_indexers.py:70:28: Q000 Remove bad quotes.
plone/app/discussion/tests/test_indexers.py:71:36: Q000 Remove bad quotes.
plone/app/discussion/tests/test_indexers.py:110:9: E265 block comment should start with '# '
plone/app/discussion/tests/test_indexers.py:112:9: E265 block comment should start with '# '
plone/app/discussion/tests/test_indexers.py:139:27: Q000 Remove bad quotes.
plone/app/discussion/tests/test_indexers.py:140:31: Q000 Remove bad quotes.
plone/app/discussion/tests/test_indexers.py:170:35: Q000 Remove bad quotes.
plone/app/discussion/tests/test_indexers.py:170:41: Q000 Remove bad quotes.
ERROR: /home/jenkins/workspace/package-plone.app.discussion@2/plone/app/discussion/tests/test_migration.py Imports are incorrectly sorted.
plone/app/discussion/tests/test_migration.py:0:1: C101 Coding magic comment not found
plone/app/discussion/tests/test_migration.py:0:1: I001 found unsorted imports
plone/app/discussion/tests/test_migration.py:55:26: Q000 Remove bad quotes.
plone/app/discussion/tests/test_migration.py:213:9: E265 block comment should start with '# '
ERROR: /home/jenkins/workspace/package-plone.app.discussion@2/plone/app/discussion/tests/test_moderation_view.py Imports are incorrectly sorted.
plone/app/discussion/tests/test_moderation_view.py:0:1: I001 found unsorted imports
plone/app/discussion/tests/test_moderation_view.py:111:38: S001 found %s formatter
plone/app/discussion/tests/test_moderation_view.py:119:38: S001 found %s formatter
plone/app/discussion/tests/test_moderation_view.py:127:38: S001 found %s formatter
ERROR: /home/jenkins/workspace/package-plone.app.discussion@2/plone/app/discussion/tests/test_notifications.py Imports are incorrectly sorted.
plone/app/discussion/tests/test_notifications.py:0:1: I001 found unsorted imports
plone/app/discussion/tests/test_notifications.py:37:42: Q000 Remove bad quotes.
plone/app/discussion/tests/test_notifications.py:64:32: Q000 Remove bad quotes.
plone/app/discussion/tests/test_notifications.py:86:13: Q000 Remove bad quotes.
plone/app/discussion/tests/test_notifications.py:87:13: S001 found % formatter
plone/app/discussion/tests/test_notifications.py:102:32: Q000 Remove bad quotes.
plone/app/discussion/tests/test_notifications.py:130:32: Q000 Remove bad quotes.
plone/app/discussion/tests/test_notifications.py:146:32: Q000 Remove bad quotes.
plone/app/discussion/tests/test_notifications.py:151:32: Q000 Remove bad quotes.
plone/app/discussion/tests/test_notifications.py:176:42: Q000 Remove bad quotes.
plone/app/discussion/tests/test_notifications.py:227:13: Q000 Remove bad quotes.
plone/app/discussion/tests/test_notifications.py:228:13: S001 found % formatter
plone/app/discussion/tests/test_notifications.py:234:13: S001 found % formatter
plone/app/discussion/tests/test_notifications.py:238:13: S001 found % formatter
ERROR: /home/jenkins/workspace/package-plone.app.discussion@2/plone/app/discussion/tests/test_tool.py Imports are incorrectly sorted.
plone/app/discussion/tests/test_tool.py:0:1: C101 Coding magic comment not found
plone/app/discussion/tests/test_tool.py:0:1: I001 found unsorted imports
plone/app/discussion/tests/test_tool.py:32:31: Q000 Remove bad quotes.
plone/app/discussion/tests/test_tool.py:42:13: Q000 Remove bad quotes.
plone/app/discussion/tests/test_tool.py:43:13: Q000 Remove bad quotes.
plone/app/discussion/tests/test_tool.py:43:15: S001 found %s formatter
ERROR: /home/jenkins/workspace/package-plone.app.discussion@2/plone/app/discussion/tests/test_workflow.py Imports are incorrectly sorted.
plone/app/discussion/tests/test_workflow.py:0:1: I001 found unsorted imports
plone/app/discussion/tests/test_workflow.py:58:9: E265 block comment should start with '# '
plone/app/discussion/tests/test_workflow.py:94:27: Q000 Remove bad quotes.
plone/app/discussion/tests/test_workflow.py:133:38: S001 found %s formatter
plone/app/discussion/tests/test_workflow.py:153:9: E265 block comment should start with '# '
plone/app/discussion/tests/test_workflow.py:154:9: E265 block comment should start with '# '
plone/app/discussion/tests/test_workflow.py:203:38: S001 found %s formatter
ERROR: /home/jenkins/workspace/package-plone.app.discussion@2/plone/app/discussion/browser/captcha.py Imports are incorrectly sorted.
plone/app/discussion/browser/captcha.py:0:1: I001 found unsorted imports
plone/app/discussion/browser/captcha.py:64:39: Q000 Remove bad quotes.
ERROR: /home/jenkins/workspace/package-plone.app.discussion@2/plone/app/discussion/browser/comment.py Imports are incorrectly sorted.
plone/app/discussion/browser/comment.py:0:1: C101 Coding magic comment not found
plone/app/discussion/browser/comment.py:0:1: I001 found unsorted imports
plone/app/discussion/browser/comment.py:45:19: Q000 Remove bad quotes.
plone/app/discussion/browser/comment.py:45:20: S001 found %s formatter
plone/app/discussion/browser/comment.py:47:41: S001 found %s formatter
plone/app/discussion/browser/comment.py:53:10: Q000 Remove bad quotes.
plone/app/discussion/browser/comment.py:92:52: Q000 Remove bad quotes.
plone/app/discussion/browser/comment.py:95:40: Q000 Remove bad quotes.
plone/app/discussion/browser/comment.py:95:58: Q000 Remove bad quotes.
plone/app/discussion/browser/comment.py:108:1: E265 block comment should start with '# '
ERROR: /home/jenkins/workspace/package-plone.app.discussion@2/plone/app/discussion/browser/comments.py Imports are incorrectly sorted.
plone/app/discussion/browser/comments.py:0:1: I001 found unsorted imports
plone/app/discussion/browser/comments.py:94:39: Q000 Remove bad quotes.
plone/app/discussion/browser/comments.py:100:35: Q000 Remove bad quotes.
plone/app/discussion/browser/comments.py:128:41: Q000 Remove bad quotes.
plone/app/discussion/browser/comments.py:129:41: Q000 Remove bad quotes.
plone/app/discussion/browser/comments.py:130:42: Q000 Remove bad quotes.
plone/app/discussion/browser/comments.py:132:1: C901 'CommentForm.handleComment' is too complex (15)
plone/app/discussion/browser/comments.py:141:32: Q000 Remove bad quotes.
plone/app/discussion/browser/comments.py:142:32: Q000 Remove bad quotes.
plone/app/discussion/browser/comments.py:157:16: E713 test for membership should be 'not in'
plone/app/discussion/browser/comments.py:210:53: Q000 Remove bad quotes.
plone/app/discussion/browser/comments.py:251:19: Q000 Remove bad quotes.
plone/app/discussion/browser/comments.py:252:22: Q000 Remove bad quotes.
plone/app/discussion/browser/comments.py:275:13: W503 line break before binary operator
plone/app/discussion/browser/comments.py:276:13: W503 line break before binary operator
plone/app/discussion/browser/comments.py:325:39: Q000 Remove bad quotes.
plone/app/discussion/browser/comments.py:328:41: Q000 Remove bad quotes.
plone/app/discussion/browser/comments.py:336:41: Q000 Remove bad quotes.
plone/app/discussion/browser/comments.py:344:37: Q000 Remove bad quotes.
plone/app/discussion/browser/comments.py:415:20: Q000 Remove bad quotes.
plone/app/discussion/browser/comments.py:415:21: S001 found %s formatter
plone/app/discussion/browser/comments.py:462:17: S001 found %s formatter
ERROR: /home/jenkins/workspace/package-plone.app.discussion@2/plone/app/discussion/browser/controlpanel.py Imports are incorrectly sorted.
plone/app/discussion/browser/controlpanel.py:0:1: I001 found unsorted imports
plone/app/discussion/browser/controlpanel.py:34:10: Q000 Remove bad quotes.
plone/app/discussion/browser/controlpanel.py:90:55: Q000 Remove bad quotes.
plone/app/discussion/browser/controlpanel.py:91:48: Q000 Remove bad quotes.
plone/app/discussion/browser/controlpanel.py:96:55: Q000 Remove bad quotes.
plone/app/discussion/browser/controlpanel.py:97:40: Q000 Remove bad quotes.
plone/app/discussion/browser/controlpanel.py:97:41: S001 found %s formatter
plone/app/discussion/browser/controlpanel.py:113:46: Q000 Remove bad quotes.
plone/app/discussion/browser/controlpanel.py:119:27: Q000 Remove bad quotes.
plone/app/discussion/browser/controlpanel.py:126:27: Q000 Remove bad quotes.
plone/app/discussion/browser/controlpanel.py:128:27: Q000 Remove bad quotes.
plone/app/discussion/browser/controlpanel.py:131:27: Q000 Remove bad quotes.
plone/app/discussion/browser/controlpanel.py:135:27: Q000 Remove bad quotes.
plone/app/discussion/browser/controlpanel.py:141:27: Q000 Remove bad quotes.
plone/app/discussion/browser/controlpanel.py:168:46: Q000 Remove bad quotes.
ERROR: /home/jenkins/workspace/package-plone.app.discussion@2/plone/app/discussion/browser/conversation.py Imports are incorrectly sorted.
plone/app/discussion/browser/conversation.py:0:1: C101 Coding magic comment not found
plone/app/discussion/browser/conversation.py:0:1: I001 found unsorted imports
plone/app/discussion/browser/conversation.py:20:1: B901 blind except: statement
plone/app/discussion/browser/conversation.py:32:1: C901 'ConversationView._enabled_for_archetypes' is too complex (14)
plone/app/discussion/browser/conversation.py:138:12: P002 found "hasattr", consider replacing it
plone/app/discussion/browser/conversation.py:138:29: Q000 Remove bad quotes.
ERROR: /home/jenkins/workspace/package-plone.app.discussion@2/plone/app/discussion/browser/migration.py Imports are incorrectly sorted.
plone/app/discussion/browser/migration.py:0:1: C101 Coding magic comment not found
plone/app/discussion/browser/migration.py:0:1: I001 found unsorted imports
plone/app/discussion/browser/migration.py:37:1: C901 'View.__call__' is too complex (32)
plone/app/discussion/browser/migration.py:44:19: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:48:16: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:80:26: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:82:31: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:83:22: S001 found %s formatter
plone/app/discussion/browser/migration.py:181:25: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:181:26: S001 found %s formatter
plone/app/discussion/browser/migration.py:191:13: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:191:20: S001 found %s formatter
plone/app/discussion/browser/migration.py:205:13: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:205:20: S001 found %s formatter
plone/app/discussion/browser/migration.py:206:13: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:206:20: S001 found %s formatter
plone/app/discussion/browser/migration.py:207:13: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:207:20: S001 found %s formatter
plone/app/discussion/browser/migration.py:209:13: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:210:13: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:228:21: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:229:31: S001 found %s formatter
plone/app/discussion/browser/migration.py:237:17: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:238:17: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:239:17: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:239:28: S001 found %s formatter
plone/app/discussion/browser/migration.py:246:17: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:248:13: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:249:13: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:250:13: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:252:13: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:253:13: S001 found % formatter
plone/app/discussion/browser/migration.py:257:17: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:257:18: S001 found %s formatter
plone/app/discussion/browser/migration.py:261:17: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:262:17: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:266:17: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:267:17: Q000 Remove bad quotes.
ERROR: /home/jenkins/workspace/package-plone.app.discussion@2/plone/app/discussion/browser/moderation.py Imports are incorrectly sorted.
plone/app/discussion/browser/moderation.py:0:1: I001 found unsorted imports
plone/app/discussion/browser/moderation.py:100:15: Q000 Remove bad quotes.
plone/app/discussion/browser/moderation.py:101:18: Q000 Remove bad quotes.
plone/app/discussion/browser/moderation.py:139:15: Q000 Remove bad quotes.
plone/app/discussion/browser/moderation.py:140:18: Q000 Remove bad quotes.
ERROR: /home/jenkins/workspace/package-plone.app.discussion@2/plone/app/discussion/browser/traversal.py Imports are incorrectly sorted.
plone/app/discussion/browser/traversal.py:0:1: C101 Coding magic comment not found
plone/app/discussion/browser/traversal.py:0:1: I001 found unsorted imports
plone/app/discussion/browser/traversal.py:32:20: Q000 Remove bad quotes.
ERROR: /home/jenkins/workspace/package-plone.app.discussion@2/plone/app/discussion/browser/validator.py Imports are incorrectly sorted.
plone/app/discussion/browser/validator.py:0:1: I001 found unsorted imports
```
You can run that yourself using buildout.coredev ``experimental/qa.cfg`` config file.