@vangheem Jenkins CI reporting about code analysis
See the full report here: http://jenkins.plone.org/job/package-plone.app.discussion/19//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/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:81: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:65:28: Q000 Remove bad quotes.
plone/app/discussion/comment.py:160:40: Q000 Remove bad quotes.
plone/app/discussion/comment.py:162:30: S001 found %s formatter
plone/app/discussion/comment.py:166:48: S001 found %s formatter
plone/app/discussion/comment.py:201:14: D001 found declareProtected replace it with AccessControl.ClassSecurityInfo.protected
plone/app/discussion/comment.py:295: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
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:57:27: Q000 Remove bad quotes.
plone/app/discussion/conversation.py:428:29: Q000 Remove bad quotes.
plone/app/discussion/events.py:0:1: C101 Coding magic comment not found
plone/app/discussion/interfaces.py:133:17: Q000 Remove bad quotes.
plone/app/discussion/interfaces.py:159:65: Q000 Remove bad quotes.
plone/app/discussion/interfaces.py:213:25: Q000 Remove bad quotes.
plone/app/discussion/interfaces.py:228:21: Q000 Remove bad quotes.
plone/app/discussion/interfaces.py:246:25: Q000 Remove bad quotes.
plone/app/discussion/interfaces.py:250:23: Q000 Remove bad quotes.
plone/app/discussion/interfaces.py:257:25: Q000 Remove bad quotes.
plone/app/discussion/interfaces.py:260:23: Q000 Remove bad quotes.
plone/app/discussion/interfaces.py:268:25: Q000 Remove bad quotes.
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:25: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:17:23: Q000 Remove bad quotes.
plone/app/discussion/testing.py:18:1: B901 blind except: statement
plone/app/discussion/testing.py:19:23: Q000 Remove bad quotes.
plone/app/discussion/testing.py:80:14: Q000 Remove bad quotes.
plone/app/discussion/testing.py:110:10: Q000 Remove bad quotes.
plone/app/discussion/testing.py:113:10: Q000 Remove bad quotes.
plone/app/discussion/testing.py:119: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
plone/app/discussion/upgrades.py:0:1: C101 Coding magic comment not found
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:77:25: Q000 Remove bad quotes.
plone/app/discussion/tests/test_catalog.py:95:38: S001 found %s formatter
plone/app/discussion/tests/test_catalog.py:102:25: Q000 Remove bad quotes.
plone/app/discussion/tests/test_catalog.py:123:38: S001 found %s formatter
plone/app/discussion/tests/test_catalog.py:130:25: Q000 Remove bad quotes.
plone/app/discussion/tests/test_catalog.py:146:25: Q000 Remove bad quotes.
plone/app/discussion/tests/test_catalog.py:161:25: Q000 Remove bad quotes.
plone/app/discussion/tests/test_catalog.py:179:38: S001 found %s formatter
plone/app/discussion/tests/test_catalog.py:187:25: Q000 Remove bad quotes.
plone/app/discussion/tests/test_catalog.py:200: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:223:25: Q000 Remove bad quotes.
plone/app/discussion/tests/test_catalog.py:231:41: Q000 Remove bad quotes.
plone/app/discussion/tests/test_catalog.py:238:25: Q000 Remove bad quotes.
plone/app/discussion/tests/test_catalog.py:265:38: S001 found %s formatter
plone/app/discussion/tests/test_catalog.py:284:38: S001 found %s formatter
plone/app/discussion/tests/test_catalog.py:292:47: Q000 Remove bad quotes.
plone/app/discussion/tests/test_catalog.py:332:40: Q000 Remove bad quotes.
plone/app/discussion/tests/test_catalog.py:365:25: Q000 Remove bad quotes.
plone/app/discussion/tests/test_catalog.py:371:25: Q000 Remove bad quotes.
plone/app/discussion/tests/test_catalog.py:414:25: Q000 Remove bad quotes.
plone/app/discussion/tests/test_catalog.py:421:25: Q000 Remove bad quotes.
plone/app/discussion/tests/test_catalog.py:435:41: Q000 Remove bad quotes.
plone/app/discussion/tests/test_catalog.py:435:49: Q000 Remove bad quotes.
plone/app/discussion/tests/test_catalog.py:538: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:44:28: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comment.py:45:28: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comment.py:46:28: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comment.py:95:32: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comment.py:97:26: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comment.py:103:26: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comment.py:125:32: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comment.py:131:28: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comment.py:132: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:137:26: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comment.py:159:13: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comment.py:167:13: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comment.py:180:25: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comment.py:183:13: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comment.py:188:25: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comment.py:232:38: S001 found %s formatter
plone/app/discussion/tests/test_comment.py:263:38: S001 found %s formatter
plone/app/discussion/tests/test_comment.py:268:23: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comment.py:305:13: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comment.py:330:38: S001 found %s formatter
plone/app/discussion/tests/test_comment.py:367:38: S001 found %s formatter
plone/app/discussion/tests/test_comment.py:403:38: S001 found %s formatter
plone/app/discussion/tests/test_comment.py:438:38: S001 found %s formatter
plone/app/discussion/tests/test_comment.py:446:38: S001 found %s formatter
plone/app/discussion/tests/test_comment.py:455:38: S001 found %s formatter
plone/app/discussion/tests/test_comment.py:464: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:52:45: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:97:65: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:111:65: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:119:47: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:120:64: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:169:65: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:183:59: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:185:14: D001 found assertEquals replace it with assertEqual
plone/app/discussion/tests/test_comments_viewlet.py:193:47: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:195:64: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:237:65: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:251:13: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:295:65: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:310:13: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:357:65: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:406:27: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:441:13: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:522:13: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:523:13: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:528:35: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:533:13: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:534:13: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:535:13: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:546:13: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:547:13: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:548:13: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:604: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:40:24: Q000 Remove bad quotes.
plone/app/discussion/tests/test_contentrules.py:41:35: Q000 Remove bad quotes.
plone/app/discussion/tests/test_contentrules.py:42:31: Q000 Remove bad quotes.
plone/app/discussion/tests/test_contentrules.py:43:32: Q000 Remove bad quotes.
plone/app/discussion/tests/test_contentrules.py:98:38: S001 found %s formatter
plone/app/discussion/tests/test_contentrules.py:102:38: Q000 Remove bad quotes.
plone/app/discussion/tests/test_contentrules.py:103:34: Q000 Remove bad quotes.
plone/app/discussion/tests/test_contentrules.py:104:35: Q000 Remove bad quotes.
plone/app/discussion/tests/test_controlpanel.py:32:18: Q000 Remove bad quotes.
plone/app/discussion/tests/test_controlpanel.py:39:56: Q000 Remove bad quotes.
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:27:1: B901 blind except: statement
plone/app/discussion/tests/test_conversation.py:85:35: Q000 Remove bad quotes.
plone/app/discussion/tests/test_conversation.py:87:35: Q000 Remove bad quotes.
plone/app/discussion/tests/test_conversation.py:90:27: Q000 Remove bad quotes.
plone/app/discussion/tests/test_conversation.py:437:36: Q000 Remove bad quotes.
plone/app/discussion/tests/test_conversation.py:442:36: Q000 Remove bad quotes.
plone/app/discussion/tests/test_conversation.py:447:36: Q000 Remove bad quotes.
plone/app/discussion/tests/test_conversation.py:452:36: Q000 Remove bad quotes.
plone/app/discussion/tests/test_conversation.py:842:38: S001 found %s formatter
plone/app/discussion/tests/test_conversation.py:846:38: S001 found %s formatter
plone/app/discussion/tests/test_conversation.py:851: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:89:26: Q000 Remove bad quotes.
plone/app/discussion/tests/test_events.py:142:26: Q000 Remove bad quotes.
plone/app/discussion/tests/test_events.py:155:38: S001 found %s formatter
plone/app/discussion/tests/test_events.py:175:38: S001 found %s formatter
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:42:28: Q000 Remove bad quotes.
plone/app/discussion/tests/test_indexers.py:43:36: Q000 Remove bad quotes.
plone/app/discussion/tests/test_indexers.py:50:28: Q000 Remove bad quotes.
plone/app/discussion/tests/test_indexers.py:51:36: Q000 Remove bad quotes.
plone/app/discussion/tests/test_indexers.py:58:28: Q000 Remove bad quotes.
plone/app/discussion/tests/test_indexers.py:59:36: Q000 Remove bad quotes.
plone/app/discussion/tests/test_indexers.py:121:27: Q000 Remove bad quotes.
plone/app/discussion/tests/test_indexers.py:122:31: Q000 Remove bad quotes.
plone/app/discussion/tests/test_indexers.py:152:35: Q000 Remove bad quotes.
plone/app/discussion/tests/test_indexers.py:152: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:78:38: S001 found %s formatter
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
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:35:44: Q000 Remove bad quotes.
plone/app/discussion/tests/test_notifications.py:59:32: Q000 Remove bad quotes.
plone/app/discussion/tests/test_notifications.py:81:13: Q000 Remove bad quotes.
plone/app/discussion/tests/test_notifications.py:82:13: S001 found % formatter
plone/app/discussion/tests/test_notifications.py:97:32: Q000 Remove bad quotes.
plone/app/discussion/tests/test_notifications.py:127:32: Q000 Remove bad quotes.
plone/app/discussion/tests/test_notifications.py:142:32: Q000 Remove bad quotes.
plone/app/discussion/tests/test_notifications.py:147:32: Q000 Remove bad quotes.
plone/app/discussion/tests/test_notifications.py:174:44: Q000 Remove bad quotes.
plone/app/discussion/tests/test_notifications.py:222:13: Q000 Remove bad quotes.
plone/app/discussion/tests/test_notifications.py:223:13: S001 found % formatter
plone/app/discussion/tests/test_notifications.py:229:13: S001 found % formatter
plone/app/discussion/tests/test_notifications.py:233:13: S001 found % formatter
plone/app/discussion/tests/test_robot.py:0:1: C101 Coding magic comment not found
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:90:27: Q000 Remove bad quotes.
plone/app/discussion/tests/test_workflow.py:129:38: S001 found %s formatter
plone/app/discussion/tests/test_workflow.py:195: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:46:80: E501 line too long (86 > 79 characters)
plone/app/discussion/browser/captcha.py:54: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:44:19: Q000 Remove bad quotes.
plone/app/discussion/browser/comment.py:44:20: S001 found %s formatter
plone/app/discussion/browser/comment.py:46:41: S001 found %s formatter
plone/app/discussion/browser/comment.py:52:10: Q000 Remove bad quotes.
plone/app/discussion/browser/comment.py:91:52: Q000 Remove bad quotes.
plone/app/discussion/browser/comment.py:94:40: Q000 Remove bad quotes.
plone/app/discussion/browser/comment.py:94:58: Q000 Remove bad quotes.
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:84:39: Q000 Remove bad quotes.
plone/app/discussion/browser/comments.py:90:35: Q000 Remove bad quotes.
plone/app/discussion/browser/comments.py:124:41: Q000 Remove bad quotes.
plone/app/discussion/browser/comments.py:125:41: Q000 Remove bad quotes.
plone/app/discussion/browser/comments.py:126:42: Q000 Remove bad quotes.
plone/app/discussion/browser/comments.py:128:1: C901 'CommentForm.handleComment' is too complex (17)
plone/app/discussion/browser/comments.py:137:32: Q000 Remove bad quotes.
plone/app/discussion/browser/comments.py:138:32: Q000 Remove bad quotes.
plone/app/discussion/browser/comments.py:210:53: Q000 Remove bad quotes.
plone/app/discussion/browser/comments.py:258:19: Q000 Remove bad quotes.
plone/app/discussion/browser/comments.py:259:22: Q000 Remove bad quotes.
plone/app/discussion/browser/comments.py:282:13: W503 line break before binary operator
plone/app/discussion/browser/comments.py:283:13: W503 line break before binary operator
plone/app/discussion/browser/comments.py:359:39: Q000 Remove bad quotes.
plone/app/discussion/browser/comments.py:362:41: Q000 Remove bad quotes.
plone/app/discussion/browser/comments.py:370:41: Q000 Remove bad quotes.
plone/app/discussion/browser/comments.py:378:37: Q000 Remove bad quotes.
plone/app/discussion/browser/comments.py:448:20: Q000 Remove bad quotes.
plone/app/discussion/browser/comments.py:448:21: S001 found %s formatter
plone/app/discussion/browser/comments.py:494: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:26:10: Q000 Remove bad quotes.
plone/app/discussion/browser/controlpanel.py:84:55: Q000 Remove bad quotes.
plone/app/discussion/browser/controlpanel.py:85:48: Q000 Remove bad quotes.
plone/app/discussion/browser/controlpanel.py:90:55: Q000 Remove bad quotes.
plone/app/discussion/browser/controlpanel.py:91:40: Q000 Remove bad quotes.
plone/app/discussion/browser/controlpanel.py:91:41: S001 found %s formatter
plone/app/discussion/browser/controlpanel.py:107:46: Q000 Remove bad quotes.
plone/app/discussion/browser/controlpanel.py:113:27: Q000 Remove bad quotes.
plone/app/discussion/browser/controlpanel.py:120:27: Q000 Remove bad quotes.
plone/app/discussion/browser/controlpanel.py:122:27: Q000 Remove bad quotes.
plone/app/discussion/browser/controlpanel.py:125:27: Q000 Remove bad quotes.
plone/app/discussion/browser/controlpanel.py:128:27: Q000 Remove bad quotes.
plone/app/discussion/browser/controlpanel.py:132:27: Q000 Remove bad quotes.
plone/app/discussion/browser/controlpanel.py:138:27: Q000 Remove bad quotes.
plone/app/discussion/browser/controlpanel.py:164: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:15:1: B901 blind except: statement
plone/app/discussion/browser/conversation.py:27:1: C901 'ConversationView._enabled_for_archetypes' is too complex (14)
plone/app/discussion/browser/conversation.py:133:12: P002 found "hasattr", consider replacing it
plone/app/discussion/browser/conversation.py:133: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:31:1: C901 'View.__call__' is too complex (32)
plone/app/discussion/browser/migration.py:38:19: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:42:16: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:74:26: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:76:31: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:77:22: S001 found %s formatter
plone/app/discussion/browser/migration.py:175:25: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:175:26: S001 found %s formatter
plone/app/discussion/browser/migration.py:185:13: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:185:20: S001 found %s formatter
plone/app/discussion/browser/migration.py:199:13: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:199:20: S001 found %s formatter
plone/app/discussion/browser/migration.py:200:13: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:200:20: S001 found %s formatter
plone/app/discussion/browser/migration.py:201:13: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:201:20: S001 found %s formatter
plone/app/discussion/browser/migration.py:203:13: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:204:13: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:222:21: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:223:31: S001 found %s formatter
plone/app/discussion/browser/migration.py:231:17: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:232:17: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:233:17: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:233:28: S001 found %s formatter
plone/app/discussion/browser/migration.py:240:17: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:242:13: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:243:13: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:244:13: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:246:13: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:247:13: S001 found % formatter
plone/app/discussion/browser/migration.py:251:17: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:251:18: S001 found %s formatter
plone/app/discussion/browser/migration.py:255:17: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:256:17: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:260:17: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:261: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:104:19: Q000 Remove bad quotes.
plone/app/discussion/browser/moderation.py:105:22: Q000 Remove bad quotes.
plone/app/discussion/browser/moderation.py:138:17: W503 line break before binary operator
plone/app/discussion/browser/moderation.py:143:17: W503 line break before binary operator
plone/app/discussion/browser/moderation.py:182:15: Q000 Remove bad quotes.
plone/app/discussion/browser/moderation.py:183:18: Q000 Remove bad quotes.
plone/app/discussion/browser/traversal.py:0:1: C101 Coding magic comment not found
plone/app/discussion/browser/traversal.py:32:20: Q000 Remove bad quotes.
```
You can run that yourself using buildout.coredev ``experimental/qa.cfg`` config file.


@esteele Jenkins CI reporting about code analysis
See the full report here: http://jenkins.plone.org/job/package-plone.app.discussion/20//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/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:81: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:65:28: Q000 Remove bad quotes.
plone/app/discussion/comment.py:160:40: Q000 Remove bad quotes.
plone/app/discussion/comment.py:162:30: S001 found %s formatter
plone/app/discussion/comment.py:166:48: S001 found %s formatter
plone/app/discussion/comment.py:201:14: D001 found declareProtected replace it with AccessControl.ClassSecurityInfo.protected
plone/app/discussion/comment.py:295: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
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:57:27: Q000 Remove bad quotes.
plone/app/discussion/conversation.py:431:29: Q000 Remove bad quotes.
plone/app/discussion/events.py:0:1: C101 Coding magic comment not found
plone/app/discussion/interfaces.py:133:17: Q000 Remove bad quotes.
plone/app/discussion/interfaces.py:159:65: Q000 Remove bad quotes.
plone/app/discussion/interfaces.py:213:25: Q000 Remove bad quotes.
plone/app/discussion/interfaces.py:239:21: Q000 Remove bad quotes.
plone/app/discussion/interfaces.py:257:25: Q000 Remove bad quotes.
plone/app/discussion/interfaces.py:261:23: Q000 Remove bad quotes.
plone/app/discussion/interfaces.py:268:25: Q000 Remove bad quotes.
plone/app/discussion/interfaces.py:271:23: Q000 Remove bad quotes.
plone/app/discussion/interfaces.py:279:25: Q000 Remove bad quotes.
plone/app/discussion/interfaces.py:296:25: Q000 Remove bad quotes.
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:25: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:17:23: Q000 Remove bad quotes.
plone/app/discussion/testing.py:18:1: B901 blind except: statement
plone/app/discussion/testing.py:19:23: Q000 Remove bad quotes.
plone/app/discussion/testing.py:80:14: Q000 Remove bad quotes.
plone/app/discussion/testing.py:110:10: Q000 Remove bad quotes.
plone/app/discussion/testing.py:113:10: Q000 Remove bad quotes.
plone/app/discussion/testing.py:119: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
plone/app/discussion/upgrades.py:0:1: C101 Coding magic comment not found
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:77:25: Q000 Remove bad quotes.
plone/app/discussion/tests/test_catalog.py:95:38: S001 found %s formatter
plone/app/discussion/tests/test_catalog.py:102:25: Q000 Remove bad quotes.
plone/app/discussion/tests/test_catalog.py:123:38: S001 found %s formatter
plone/app/discussion/tests/test_catalog.py:130:25: Q000 Remove bad quotes.
plone/app/discussion/tests/test_catalog.py:146:25: Q000 Remove bad quotes.
plone/app/discussion/tests/test_catalog.py:161:25: Q000 Remove bad quotes.
plone/app/discussion/tests/test_catalog.py:179:38: S001 found %s formatter
plone/app/discussion/tests/test_catalog.py:187:25: Q000 Remove bad quotes.
plone/app/discussion/tests/test_catalog.py:200: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:223:25: Q000 Remove bad quotes.
plone/app/discussion/tests/test_catalog.py:231:41: Q000 Remove bad quotes.
plone/app/discussion/tests/test_catalog.py:238:25: Q000 Remove bad quotes.
plone/app/discussion/tests/test_catalog.py:265:38: S001 found %s formatter
plone/app/discussion/tests/test_catalog.py:284:38: S001 found %s formatter
plone/app/discussion/tests/test_catalog.py:292:47: Q000 Remove bad quotes.
plone/app/discussion/tests/test_catalog.py:332:40: Q000 Remove bad quotes.
plone/app/discussion/tests/test_catalog.py:365:25: Q000 Remove bad quotes.
plone/app/discussion/tests/test_catalog.py:371:25: Q000 Remove bad quotes.
plone/app/discussion/tests/test_catalog.py:414:25: Q000 Remove bad quotes.
plone/app/discussion/tests/test_catalog.py:421:25: Q000 Remove bad quotes.
plone/app/discussion/tests/test_catalog.py:435:41: Q000 Remove bad quotes.
plone/app/discussion/tests/test_catalog.py:435:49: Q000 Remove bad quotes.
plone/app/discussion/tests/test_catalog.py:538: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:44:28: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comment.py:45:28: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comment.py:46:28: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comment.py:95:32: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comment.py:97:26: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comment.py:103:26: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comment.py:125:32: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comment.py:131:28: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comment.py:132: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:137:26: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comment.py:159:13: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comment.py:167:13: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comment.py:180:25: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comment.py:183:13: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comment.py:188:25: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comment.py:232:38: S001 found %s formatter
plone/app/discussion/tests/test_comment.py:263:38: S001 found %s formatter
plone/app/discussion/tests/test_comment.py:268:23: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comment.py:305:13: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comment.py:330:38: S001 found %s formatter
plone/app/discussion/tests/test_comment.py:367:38: S001 found %s formatter
plone/app/discussion/tests/test_comment.py:403:38: S001 found %s formatter
plone/app/discussion/tests/test_comment.py:438:38: S001 found %s formatter
plone/app/discussion/tests/test_comment.py:446:38: S001 found %s formatter
plone/app/discussion/tests/test_comment.py:455:38: S001 found %s formatter
plone/app/discussion/tests/test_comment.py:464: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:52:45: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:97:65: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:111:65: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:119:47: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:120:64: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:169:65: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:183:59: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:185:14: D001 found assertEquals replace it with assertEqual
plone/app/discussion/tests/test_comments_viewlet.py:193:47: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:195:64: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:237:65: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:251:13: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:295:65: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:310:13: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:357:65: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:406:27: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:441:13: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:522:13: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:523:13: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:528:35: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:533:13: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:534:13: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:535:13: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:546:13: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:547:13: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:548:13: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:604: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:40:24: Q000 Remove bad quotes.
plone/app/discussion/tests/test_contentrules.py:41:35: Q000 Remove bad quotes.
plone/app/discussion/tests/test_contentrules.py:42:31: Q000 Remove bad quotes.
plone/app/discussion/tests/test_contentrules.py:43:32: Q000 Remove bad quotes.
plone/app/discussion/tests/test_contentrules.py:98:38: S001 found %s formatter
plone/app/discussion/tests/test_contentrules.py:102:38: Q000 Remove bad quotes.
plone/app/discussion/tests/test_contentrules.py:103:34: Q000 Remove bad quotes.
plone/app/discussion/tests/test_contentrules.py:104:35: Q000 Remove bad quotes.
plone/app/discussion/tests/test_controlpanel.py:32:18: Q000 Remove bad quotes.
plone/app/discussion/tests/test_controlpanel.py:39:56: Q000 Remove bad quotes.
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:27:1: B901 blind except: statement
plone/app/discussion/tests/test_conversation.py:85:35: Q000 Remove bad quotes.
plone/app/discussion/tests/test_conversation.py:87:35: Q000 Remove bad quotes.
plone/app/discussion/tests/test_conversation.py:90:27: Q000 Remove bad quotes.
plone/app/discussion/tests/test_conversation.py:437:36: Q000 Remove bad quotes.
plone/app/discussion/tests/test_conversation.py:442:36: Q000 Remove bad quotes.
plone/app/discussion/tests/test_conversation.py:447:36: Q000 Remove bad quotes.
plone/app/discussion/tests/test_conversation.py:452:36: Q000 Remove bad quotes.
plone/app/discussion/tests/test_conversation.py:842:38: S001 found %s formatter
plone/app/discussion/tests/test_conversation.py:846:38: S001 found %s formatter
plone/app/discussion/tests/test_conversation.py:851: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:89:26: Q000 Remove bad quotes.
plone/app/discussion/tests/test_events.py:142:26: Q000 Remove bad quotes.
plone/app/discussion/tests/test_events.py:155:38: S001 found %s formatter
plone/app/discussion/tests/test_events.py:175:38: S001 found %s formatter
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:42:28: Q000 Remove bad quotes.
plone/app/discussion/tests/test_indexers.py:43:36: Q000 Remove bad quotes.
plone/app/discussion/tests/test_indexers.py:50:28: Q000 Remove bad quotes.
plone/app/discussion/tests/test_indexers.py:51:36: Q000 Remove bad quotes.
plone/app/discussion/tests/test_indexers.py:58:28: Q000 Remove bad quotes.
plone/app/discussion/tests/test_indexers.py:59:36: Q000 Remove bad quotes.
plone/app/discussion/tests/test_indexers.py:121:27: Q000 Remove bad quotes.
plone/app/discussion/tests/test_indexers.py:122:31: Q000 Remove bad quotes.
plone/app/discussion/tests/test_indexers.py:152:35: Q000 Remove bad quotes.
plone/app/discussion/tests/test_indexers.py:152: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:78:38: S001 found %s formatter
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
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:35:44: Q000 Remove bad quotes.
plone/app/discussion/tests/test_notifications.py:59:32: Q000 Remove bad quotes.
plone/app/discussion/tests/test_notifications.py:81:13: Q000 Remove bad quotes.
plone/app/discussion/tests/test_notifications.py:82:13: S001 found % formatter
plone/app/discussion/tests/test_notifications.py:97:32: Q000 Remove bad quotes.
plone/app/discussion/tests/test_notifications.py:127:32: Q000 Remove bad quotes.
plone/app/discussion/tests/test_notifications.py:142:32: Q000 Remove bad quotes.
plone/app/discussion/tests/test_notifications.py:147:32: Q000 Remove bad quotes.
plone/app/discussion/tests/test_notifications.py:174:44: Q000 Remove bad quotes.
plone/app/discussion/tests/test_notifications.py:222:13: Q000 Remove bad quotes.
plone/app/discussion/tests/test_notifications.py:223:13: S001 found % formatter
plone/app/discussion/tests/test_notifications.py:229:13: S001 found % formatter
plone/app/discussion/tests/test_notifications.py:233:13: S001 found % formatter
plone/app/discussion/tests/test_robot.py:0:1: C101 Coding magic comment not found
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:90:27: Q000 Remove bad quotes.
plone/app/discussion/tests/test_workflow.py:129:38: S001 found %s formatter
plone/app/discussion/tests/test_workflow.py:195: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:54: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:49:19: Q000 Remove bad quotes.
plone/app/discussion/browser/comment.py:49:20: S001 found %s formatter
plone/app/discussion/browser/comment.py:51:41: S001 found %s formatter
plone/app/discussion/browser/comment.py:57:10: Q000 Remove bad quotes.
plone/app/discussion/browser/comment.py:96:52: Q000 Remove bad quotes.
plone/app/discussion/browser/comment.py:99:40: Q000 Remove bad quotes.
plone/app/discussion/browser/comment.py:99:58: Q000 Remove bad quotes.
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:84:39: Q000 Remove bad quotes.
plone/app/discussion/browser/comments.py:90:35: Q000 Remove bad quotes.
plone/app/discussion/browser/comments.py:124:41: Q000 Remove bad quotes.
plone/app/discussion/browser/comments.py:125:41: Q000 Remove bad quotes.
plone/app/discussion/browser/comments.py:126:42: Q000 Remove bad quotes.
plone/app/discussion/browser/comments.py:128:1: C901 'CommentForm.handleComment' is too complex (17)
plone/app/discussion/browser/comments.py:137:32: Q000 Remove bad quotes.
plone/app/discussion/browser/comments.py:138:32: Q000 Remove bad quotes.
plone/app/discussion/browser/comments.py:210:53: Q000 Remove bad quotes.
plone/app/discussion/browser/comments.py:258:19: Q000 Remove bad quotes.
plone/app/discussion/browser/comments.py:259:22: Q000 Remove bad quotes.
plone/app/discussion/browser/comments.py:282:13: W503 line break before binary operator
plone/app/discussion/browser/comments.py:283:13: W503 line break before binary operator
plone/app/discussion/browser/comments.py:359:39: Q000 Remove bad quotes.
plone/app/discussion/browser/comments.py:362:41: Q000 Remove bad quotes.
plone/app/discussion/browser/comments.py:370:41: Q000 Remove bad quotes.
plone/app/discussion/browser/comments.py:378:37: Q000 Remove bad quotes.
plone/app/discussion/browser/comments.py:448:20: Q000 Remove bad quotes.
plone/app/discussion/browser/comments.py:448:21: S001 found %s formatter
plone/app/discussion/browser/comments.py:494: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:26:10: Q000 Remove bad quotes.
plone/app/discussion/browser/controlpanel.py:84:55: Q000 Remove bad quotes.
plone/app/discussion/browser/controlpanel.py:85:48: Q000 Remove bad quotes.
plone/app/discussion/browser/controlpanel.py:90:55: Q000 Remove bad quotes.
plone/app/discussion/browser/controlpanel.py:91:40: Q000 Remove bad quotes.
plone/app/discussion/browser/controlpanel.py:91:41: S001 found %s formatter
plone/app/discussion/browser/controlpanel.py:107:46: Q000 Remove bad quotes.
plone/app/discussion/browser/controlpanel.py:113:27: Q000 Remove bad quotes.
plone/app/discussion/browser/controlpanel.py:120:27: Q000 Remove bad quotes.
plone/app/discussion/browser/controlpanel.py:122:27: Q000 Remove bad quotes.
plone/app/discussion/browser/controlpanel.py:125:27: Q000 Remove bad quotes.
plone/app/discussion/browser/controlpanel.py:128:27: Q000 Remove bad quotes.
plone/app/discussion/browser/controlpanel.py:132:27: Q000 Remove bad quotes.
plone/app/discussion/browser/controlpanel.py:138:27: Q000 Remove bad quotes.
plone/app/discussion/browser/controlpanel.py:164: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:15:1: B901 blind except: statement
plone/app/discussion/browser/conversation.py:27:1: C901 'ConversationView._enabled_for_archetypes' is too complex (14)
plone/app/discussion/browser/conversation.py:133:12: P002 found "hasattr", consider replacing it
plone/app/discussion/browser/conversation.py:133: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:31:1: C901 'View.__call__' is too complex (32)
plone/app/discussion/browser/migration.py:38:19: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:42:16: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:74:26: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:76:31: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:77:22: S001 found %s formatter
plone/app/discussion/browser/migration.py:175:25: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:175:26: S001 found %s formatter
plone/app/discussion/browser/migration.py:185:13: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:185:20: S001 found %s formatter
plone/app/discussion/browser/migration.py:199:13: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:199:20: S001 found %s formatter
plone/app/discussion/browser/migration.py:200:13: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:200:20: S001 found %s formatter
plone/app/discussion/browser/migration.py:201:13: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:201:20: S001 found %s formatter
plone/app/discussion/browser/migration.py:203:13: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:204:13: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:222:21: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:223:31: S001 found %s formatter
plone/app/discussion/browser/migration.py:231:17: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:232:17: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:233:17: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:233:28: S001 found %s formatter
plone/app/discussion/browser/migration.py:240:17: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:242:13: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:243:13: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:244:13: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:246:13: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:247:13: S001 found % formatter
plone/app/discussion/browser/migration.py:251:17: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:251:18: S001 found %s formatter
plone/app/discussion/browser/migration.py:255:17: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:256:17: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:260:17: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:261: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:104:19: Q000 Remove bad quotes.
plone/app/discussion/browser/moderation.py:105:22: Q000 Remove bad quotes.
plone/app/discussion/browser/moderation.py:138:17: W503 line break before binary operator
plone/app/discussion/browser/moderation.py:143:17: W503 line break before binary operator
plone/app/discussion/browser/moderation.py:182:15: Q000 Remove bad quotes.
plone/app/discussion/browser/moderation.py:183:18: Q000 Remove bad quotes.
plone/app/discussion/browser/traversal.py:0:1: C101 Coding magic comment not found
plone/app/discussion/browser/traversal.py:32:20: Q000 Remove bad quotes.
```
You can run that yourself using buildout.coredev ``experimental/qa.cfg`` config file.


@gforcada Jenkins CI reporting about code analysis
See the full report here: http://jenkins.plone.org/job/package-plone.app.discussion/21//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/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:81: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:65:28: Q000 Remove bad quotes.
plone/app/discussion/comment.py:160:40: Q000 Remove bad quotes.
plone/app/discussion/comment.py:162:30: S001 found %s formatter
plone/app/discussion/comment.py:166:48: S001 found %s formatter
plone/app/discussion/comment.py:201:14: D001 found declareProtected replace it with AccessControl.ClassSecurityInfo.protected
plone/app/discussion/comment.py:295: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
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:57:27: Q000 Remove bad quotes.
plone/app/discussion/conversation.py:431:29: Q000 Remove bad quotes.
plone/app/discussion/events.py:0:1: C101 Coding magic comment not found
plone/app/discussion/interfaces.py:133:17: Q000 Remove bad quotes.
plone/app/discussion/interfaces.py:159:65: Q000 Remove bad quotes.
plone/app/discussion/interfaces.py:213:25: Q000 Remove bad quotes.
plone/app/discussion/interfaces.py:239:21: Q000 Remove bad quotes.
plone/app/discussion/interfaces.py:257:25: Q000 Remove bad quotes.
plone/app/discussion/interfaces.py:261:23: Q000 Remove bad quotes.
plone/app/discussion/interfaces.py:268:25: Q000 Remove bad quotes.
plone/app/discussion/interfaces.py:271:23: Q000 Remove bad quotes.
plone/app/discussion/interfaces.py:279:25: Q000 Remove bad quotes.
plone/app/discussion/interfaces.py:296:25: Q000 Remove bad quotes.
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:25: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:17:23: Q000 Remove bad quotes.
plone/app/discussion/testing.py:18:1: B901 blind except: statement
plone/app/discussion/testing.py:19:23: Q000 Remove bad quotes.
plone/app/discussion/testing.py:80:14: Q000 Remove bad quotes.
plone/app/discussion/testing.py:110:10: Q000 Remove bad quotes.
plone/app/discussion/testing.py:113:10: Q000 Remove bad quotes.
plone/app/discussion/testing.py:119: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
plone/app/discussion/upgrades.py:0:1: C101 Coding magic comment not found
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:77:25: Q000 Remove bad quotes.
plone/app/discussion/tests/test_catalog.py:95:38: S001 found %s formatter
plone/app/discussion/tests/test_catalog.py:102:25: Q000 Remove bad quotes.
plone/app/discussion/tests/test_catalog.py:123:38: S001 found %s formatter
plone/app/discussion/tests/test_catalog.py:130:25: Q000 Remove bad quotes.
plone/app/discussion/tests/test_catalog.py:146:25: Q000 Remove bad quotes.
plone/app/discussion/tests/test_catalog.py:161:25: Q000 Remove bad quotes.
plone/app/discussion/tests/test_catalog.py:179:38: S001 found %s formatter
plone/app/discussion/tests/test_catalog.py:187:25: Q000 Remove bad quotes.
plone/app/discussion/tests/test_catalog.py:200: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:223:25: Q000 Remove bad quotes.
plone/app/discussion/tests/test_catalog.py:231:41: Q000 Remove bad quotes.
plone/app/discussion/tests/test_catalog.py:238:25: Q000 Remove bad quotes.
plone/app/discussion/tests/test_catalog.py:265:38: S001 found %s formatter
plone/app/discussion/tests/test_catalog.py:284:38: S001 found %s formatter
plone/app/discussion/tests/test_catalog.py:292:47: Q000 Remove bad quotes.
plone/app/discussion/tests/test_catalog.py:332:40: Q000 Remove bad quotes.
plone/app/discussion/tests/test_catalog.py:365:25: Q000 Remove bad quotes.
plone/app/discussion/tests/test_catalog.py:371:25: Q000 Remove bad quotes.
plone/app/discussion/tests/test_catalog.py:414:25: Q000 Remove bad quotes.
plone/app/discussion/tests/test_catalog.py:421:25: Q000 Remove bad quotes.
plone/app/discussion/tests/test_catalog.py:435:41: Q000 Remove bad quotes.
plone/app/discussion/tests/test_catalog.py:435:49: Q000 Remove bad quotes.
plone/app/discussion/tests/test_catalog.py:538: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:44:28: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comment.py:45:28: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comment.py:46:28: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comment.py:95:32: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comment.py:97:26: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comment.py:103:26: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comment.py:125:32: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comment.py:131:28: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comment.py:132: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:137:26: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comment.py:159:13: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comment.py:167:13: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comment.py:180:25: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comment.py:183:13: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comment.py:188:25: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comment.py:232:38: S001 found %s formatter
plone/app/discussion/tests/test_comment.py:263:38: S001 found %s formatter
plone/app/discussion/tests/test_comment.py:268:23: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comment.py:305:13: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comment.py:330:38: S001 found %s formatter
plone/app/discussion/tests/test_comment.py:367:38: S001 found %s formatter
plone/app/discussion/tests/test_comment.py:403:38: S001 found %s formatter
plone/app/discussion/tests/test_comment.py:438:38: S001 found %s formatter
plone/app/discussion/tests/test_comment.py:446:38: S001 found %s formatter
plone/app/discussion/tests/test_comment.py:455:38: S001 found %s formatter
plone/app/discussion/tests/test_comment.py:464: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:52:45: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:97:65: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:111:65: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:119:47: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:120:64: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:169:65: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:183:59: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:185:14: D001 found assertEquals replace it with assertEqual
plone/app/discussion/tests/test_comments_viewlet.py:193:47: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:195:64: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:237:65: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:251:13: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:295:65: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:310:13: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:357:65: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:406:27: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:441:13: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:522:13: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:523:13: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:528:35: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:533:13: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:534:13: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:535:13: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:546:13: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:547:13: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:548:13: Q000 Remove bad quotes.
plone/app/discussion/tests/test_comments_viewlet.py:604: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:40:24: Q000 Remove bad quotes.
plone/app/discussion/tests/test_contentrules.py:41:35: Q000 Remove bad quotes.
plone/app/discussion/tests/test_contentrules.py:42:31: Q000 Remove bad quotes.
plone/app/discussion/tests/test_contentrules.py:43:32: Q000 Remove bad quotes.
plone/app/discussion/tests/test_contentrules.py:98:38: S001 found %s formatter
plone/app/discussion/tests/test_contentrules.py:102:38: Q000 Remove bad quotes.
plone/app/discussion/tests/test_contentrules.py:103:34: Q000 Remove bad quotes.
plone/app/discussion/tests/test_contentrules.py:104:35: Q000 Remove bad quotes.
plone/app/discussion/tests/test_controlpanel.py:32:18: Q000 Remove bad quotes.
plone/app/discussion/tests/test_controlpanel.py:39:56: Q000 Remove bad quotes.
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:27:1: B901 blind except: statement
plone/app/discussion/tests/test_conversation.py:85:35: Q000 Remove bad quotes.
plone/app/discussion/tests/test_conversation.py:87:35: Q000 Remove bad quotes.
plone/app/discussion/tests/test_conversation.py:90:27: Q000 Remove bad quotes.
plone/app/discussion/tests/test_conversation.py:437:36: Q000 Remove bad quotes.
plone/app/discussion/tests/test_conversation.py:442:36: Q000 Remove bad quotes.
plone/app/discussion/tests/test_conversation.py:447:36: Q000 Remove bad quotes.
plone/app/discussion/tests/test_conversation.py:452:36: Q000 Remove bad quotes.
plone/app/discussion/tests/test_conversation.py:842:38: S001 found %s formatter
plone/app/discussion/tests/test_conversation.py:846:38: S001 found %s formatter
plone/app/discussion/tests/test_conversation.py:851: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:89:26: Q000 Remove bad quotes.
plone/app/discussion/tests/test_events.py:142:26: Q000 Remove bad quotes.
plone/app/discussion/tests/test_events.py:155:38: S001 found %s formatter
plone/app/discussion/tests/test_events.py:175:38: S001 found %s formatter
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:42:28: Q000 Remove bad quotes.
plone/app/discussion/tests/test_indexers.py:43:36: Q000 Remove bad quotes.
plone/app/discussion/tests/test_indexers.py:50:28: Q000 Remove bad quotes.
plone/app/discussion/tests/test_indexers.py:51:36: Q000 Remove bad quotes.
plone/app/discussion/tests/test_indexers.py:58:28: Q000 Remove bad quotes.
plone/app/discussion/tests/test_indexers.py:59:36: Q000 Remove bad quotes.
plone/app/discussion/tests/test_indexers.py:121:27: Q000 Remove bad quotes.
plone/app/discussion/tests/test_indexers.py:122:31: Q000 Remove bad quotes.
plone/app/discussion/tests/test_indexers.py:152:35: Q000 Remove bad quotes.
plone/app/discussion/tests/test_indexers.py:152: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:78:38: S001 found %s formatter
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
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:35:44: Q000 Remove bad quotes.
plone/app/discussion/tests/test_notifications.py:59:32: Q000 Remove bad quotes.
plone/app/discussion/tests/test_notifications.py:81:13: Q000 Remove bad quotes.
plone/app/discussion/tests/test_notifications.py:82:13: S001 found % formatter
plone/app/discussion/tests/test_notifications.py:97:32: Q000 Remove bad quotes.
plone/app/discussion/tests/test_notifications.py:127:32: Q000 Remove bad quotes.
plone/app/discussion/tests/test_notifications.py:142:32: Q000 Remove bad quotes.
plone/app/discussion/tests/test_notifications.py:147:32: Q000 Remove bad quotes.
plone/app/discussion/tests/test_notifications.py:174:44: Q000 Remove bad quotes.
plone/app/discussion/tests/test_notifications.py:222:13: Q000 Remove bad quotes.
plone/app/discussion/tests/test_notifications.py:223:13: S001 found % formatter
plone/app/discussion/tests/test_notifications.py:229:13: S001 found % formatter
plone/app/discussion/tests/test_notifications.py:233:13: S001 found % formatter
plone/app/discussion/tests/test_robot.py:0:1: C101 Coding magic comment not found
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:90:27: Q000 Remove bad quotes.
plone/app/discussion/tests/test_workflow.py:129:38: S001 found %s formatter
plone/app/discussion/tests/test_workflow.py:195: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:54: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:49:19: Q000 Remove bad quotes.
plone/app/discussion/browser/comment.py:49:20: S001 found %s formatter
plone/app/discussion/browser/comment.py:51:41: S001 found %s formatter
plone/app/discussion/browser/comment.py:57:10: Q000 Remove bad quotes.
plone/app/discussion/browser/comment.py:96:52: Q000 Remove bad quotes.
plone/app/discussion/browser/comment.py:99:40: Q000 Remove bad quotes.
plone/app/discussion/browser/comment.py:99:58: Q000 Remove bad quotes.
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:84:39: Q000 Remove bad quotes.
plone/app/discussion/browser/comments.py:90:35: Q000 Remove bad quotes.
plone/app/discussion/browser/comments.py:124:41: Q000 Remove bad quotes.
plone/app/discussion/browser/comments.py:125:41: Q000 Remove bad quotes.
plone/app/discussion/browser/comments.py:126:42: Q000 Remove bad quotes.
plone/app/discussion/browser/comments.py:128:1: C901 'CommentForm.handleComment' is too complex (17)
plone/app/discussion/browser/comments.py:137:32: Q000 Remove bad quotes.
plone/app/discussion/browser/comments.py:138:32: Q000 Remove bad quotes.
plone/app/discussion/browser/comments.py:210:53: Q000 Remove bad quotes.
plone/app/discussion/browser/comments.py:258:19: Q000 Remove bad quotes.
plone/app/discussion/browser/comments.py:259:22: Q000 Remove bad quotes.
plone/app/discussion/browser/comments.py:282:13: W503 line break before binary operator
plone/app/discussion/browser/comments.py:283:13: W503 line break before binary operator
plone/app/discussion/browser/comments.py:359:39: Q000 Remove bad quotes.
plone/app/discussion/browser/comments.py:362:41: Q000 Remove bad quotes.
plone/app/discussion/browser/comments.py:370:41: Q000 Remove bad quotes.
plone/app/discussion/browser/comments.py:378:37: Q000 Remove bad quotes.
plone/app/discussion/browser/comments.py:448:20: Q000 Remove bad quotes.
plone/app/discussion/browser/comments.py:448:21: S001 found %s formatter
plone/app/discussion/browser/comments.py:494: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:26:10: Q000 Remove bad quotes.
plone/app/discussion/browser/controlpanel.py:84:55: Q000 Remove bad quotes.
plone/app/discussion/browser/controlpanel.py:85:48: Q000 Remove bad quotes.
plone/app/discussion/browser/controlpanel.py:90:55: Q000 Remove bad quotes.
plone/app/discussion/browser/controlpanel.py:91:40: Q000 Remove bad quotes.
plone/app/discussion/browser/controlpanel.py:91:41: S001 found %s formatter
plone/app/discussion/browser/controlpanel.py:107:46: Q000 Remove bad quotes.
plone/app/discussion/browser/controlpanel.py:113:27: Q000 Remove bad quotes.
plone/app/discussion/browser/controlpanel.py:120:27: Q000 Remove bad quotes.
plone/app/discussion/browser/controlpanel.py:122:27: Q000 Remove bad quotes.
plone/app/discussion/browser/controlpanel.py:125:27: Q000 Remove bad quotes.
plone/app/discussion/browser/controlpanel.py:128:27: Q000 Remove bad quotes.
plone/app/discussion/browser/controlpanel.py:132:27: Q000 Remove bad quotes.
plone/app/discussion/browser/controlpanel.py:138:27: Q000 Remove bad quotes.
plone/app/discussion/browser/controlpanel.py:164: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:15:1: B901 blind except: statement
plone/app/discussion/browser/conversation.py:27:1: C901 'ConversationView._enabled_for_archetypes' is too complex (14)
plone/app/discussion/browser/conversation.py:133:12: P002 found "hasattr", consider replacing it
plone/app/discussion/browser/conversation.py:133: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:31:1: C901 'View.__call__' is too complex (32)
plone/app/discussion/browser/migration.py:38:19: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:42:16: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:74:26: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:76:31: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:77:22: S001 found %s formatter
plone/app/discussion/browser/migration.py:175:25: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:175:26: S001 found %s formatter
plone/app/discussion/browser/migration.py:185:13: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:185:20: S001 found %s formatter
plone/app/discussion/browser/migration.py:199:13: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:199:20: S001 found %s formatter
plone/app/discussion/browser/migration.py:200:13: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:200:20: S001 found %s formatter
plone/app/discussion/browser/migration.py:201:13: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:201:20: S001 found %s formatter
plone/app/discussion/browser/migration.py:203:13: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:204:13: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:222:21: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:223:31: S001 found %s formatter
plone/app/discussion/browser/migration.py:231:17: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:232:17: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:233:17: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:233:28: S001 found %s formatter
plone/app/discussion/browser/migration.py:240:17: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:242:13: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:243:13: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:244:13: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:246:13: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:247:13: S001 found % formatter
plone/app/discussion/browser/migration.py:251:17: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:251:18: S001 found %s formatter
plone/app/discussion/browser/migration.py:255:17: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:256:17: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:260:17: Q000 Remove bad quotes.
plone/app/discussion/browser/migration.py:261: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:104:19: Q000 Remove bad quotes.
plone/app/discussion/browser/moderation.py:105:22: Q000 Remove bad quotes.
plone/app/discussion/browser/moderation.py:138:17: W503 line break before binary operator
plone/app/discussion/browser/moderation.py:143:17: W503 line break before binary operator
plone/app/discussion/browser/moderation.py:182:15: Q000 Remove bad quotes.
plone/app/discussion/browser/moderation.py:183:18: Q000 Remove bad quotes.
plone/app/discussion/browser/traversal.py:0:1: C101 Coding magic comment not found
plone/app/discussion/browser/traversal.py:32:20: Q000 Remove bad quotes.
```
You can run that yourself using buildout.coredev ``experimental/qa.cfg`` config file.


http://paste.org.ru/?ksez09

Fix