@vangheem Jenkins CI reporting about code analysis
See the full report here: https://jenkins.plone.org/job/package-plone.app.users/86/violations
```
plone/app/users/field_extender.py:0:1: C101 Coding magic comment not found
plone/app/users/field_extender.py:1:1: I001 isort found an import in the wrong position
plone/app/users/field_extender.py:2:1: I001 isort found an import in the wrong position
plone/app/users/field_extender.py:3:1: I004 isort found an unexpected blank line in imports
plone/app/users/field_extender.py:4:1: I001 isort found an import in the wrong position
plone/app/users/field_extender.py:5:1: I001 isort found an import in the wrong position
plone/app/users/field_extender.py:9:1: I001 isort found an import in the wrong position
plone/app/users/field_extender.py:10:1: I004 isort found an unexpected blank line in imports
plone/app/users/field_extender.py:11:1: I001 isort found an import in the wrong position
plone/app/users/field_extender.py:12:1: I004 isort found an unexpected blank line in imports
plone/app/users/field_extender.py:13:1: I001 isort found an import in the wrong position
plone/app/users/field_extender.py:14:1: I004 isort found an unexpected blank line in imports
plone/app/users/field_extender.py:15:1: I004 isort found an unexpected blank line in imports
plone/app/users/field_extender.py:16:1: I001 isort found an import in the wrong position
plone/app/users/field_extender.py:29:15: Q000 Remove bad quotes.
plone/app/users/field_extender.py:30:21: Q000 Remove bad quotes.
plone/app/users/field_extender.py:45:5: D001 found adapts( replace it with zope.component.adapter
plone/app/users/field_extender.py:61:5: D001 found implements( replace it with zope.interface.implementer
plone/app/users/field_extender.py:74:56: Q000 Remove bad quotes.
plone/app/users/schema.py:5:1: I001 isort found an import in the wrong position
plone/app/users/schema.py:6:1: I001 isort found an import in the wrong position
plone/app/users/schema.py:7:1: I001 isort found an import in the wrong position
plone/app/users/schema.py:8:1: I001 isort found an import in the wrong position
plone/app/users/schema.py:9:1: I001 isort found an import in the wrong position
plone/app/users/schema.py:10:1: I001 isort found an import in the wrong position
plone/app/users/schema.py:11:1: I001 isort found an import in the wrong position
plone/app/users/schema.py:12:1: I001 isort found an import in the wrong position
plone/app/users/schema.py:13:1: I001 isort found an import in the wrong position
plone/app/users/schema.py:19:1: I001 isort found an import in the wrong position
plone/app/users/schema.py:21:21: Q000 Remove bad quotes.
plone/app/users/schema.py:23:16: Q000 Remove bad quotes.
plone/app/users/schema.py:33:11: T000 Todo note found.
plone/app/users/schema.py:51:5: D001 found implements( replace it with zope.interface.implementer
plone/app/users/schema.py:77:31: Q000 Remove bad quotes.
plone/app/users/schema.py:96:21: Q000 Remove bad quotes.
plone/app/users/schema.py:97:21: Q000 Remove bad quotes.
plone/app/users/schema.py:98:21: Q000 Remove bad quotes.
plone/app/users/schema.py:98:76: C812 missing trailing comma
plone/app/users/schema.py:99:10: C812 missing trailing comma
plone/app/users/schema.py:111:31: Q000 Remove bad quotes.
plone/app/users/schema.py:112:23: Q000 Remove bad quotes.
plone/app/users/schema.py:116:25: Q000 Remove bad quotes.
plone/app/users/schema.py:117:17: Q000 Remove bad quotes.
plone/app/users/schema.py:157:16: S001 found module formatter
plone/app/users/schema.py:171:48: C812 missing trailing comma
plone/app/users/schema.py:174:13: Q000 Remove bad quotes.
plone/app/users/schema.py:175:22: Q000 Remove bad quotes.
plone/app/users/schema.py:176:22: Q000 Remove bad quotes.
plone/app/users/schema.py:177:22: Q000 Remove bad quotes.
plone/app/users/schema.py:178:22: Q000 Remove bad quotes.
plone/app/users/schema.py:179:22: Q000 Remove bad quotes.
plone/app/users/schema.py:180:22: Q000 Remove bad quotes.
plone/app/users/schema.py:195:39: W292 no newline at end of file
plone/app/users/setuphandlers.py:0:1: C101 Coding magic comment not found
plone/app/users/setuphandlers.py:3:1: I001 isort found an import in the wrong position
plone/app/users/testing.py:9:1: I003 isort expected 1 blank line in imports, found 0
plone/app/users/testing.py:17:10: Q000 Remove bad quotes.
plone/app/users/upgrades.py:0:1: C101 Coding magic comment not found
plone/app/users/upgrades.py:1:1: I001 isort found an import in the wrong position
plone/app/users/upgrades.py:5:1: I001 isort found an import in the wrong position
plone/app/users/upgrades.py:12:1: I003 isort expected 1 blank line in imports, found 0
plone/app/users/upgrades.py:12:1: I003 isort expected 1 blank line in imports, found 0
plone/app/users/upgrades.py:12:25: Q000 Remove bad quotes.
plone/app/users/upgrades.py:35:31: Q000 Remove bad quotes.
plone/app/users/upgrades.py:36:23: Q000 Remove bad quotes.
plone/app/users/upgrades.py:47:31: Q000 Remove bad quotes.
plone/app/users/upgrades.py:48:23: Q000 Remove bad quotes.
plone/app/users/upgrades.py:49:23: Q000 Remove bad quotes.
plone/app/users/upgrades.py:60:31: Q000 Remove bad quotes.
plone/app/users/upgrades.py:61:23: Q000 Remove bad quotes.
plone/app/users/upgrades.py:62:23: Q000 Remove bad quotes.
plone/app/users/upgrades.py:76:72: C812 missing trailing comma
plone/app/users/upgrades.py:93:33: Q000 Remove bad quotes.
plone/app/users/upgrades.py:109:9: E128 continuation line under-indented for visual indent
plone/app/users/upgrades.py:110:20: C812 missing trailing comma
plone/app/users/utils.py:22:65: C812 missing trailing comma
plone/app/users/utils.py:23:10: C812 missing trailing comma
plone/app/users/vocabularies.py:11:1: I001 isort found an import in the wrong position
plone/app/users/vocabularies.py:14:1: I001 isort found an import in the wrong position
plone/app/users/vocabularies.py:15:1: I001 isort found an import in the wrong position
plone/app/users/vocabularies.py:41:80: E501 line too long (130 > 79 characters)
plone/app/users/vocabularies.py:48:5: D001 found implements( replace it with zope.interface.implementer
plone/app/users/vocabularies.py:62:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/users/vocabularies.py:95:5: D001 found implements( replace it with zope.interface.implementer
plone/app/users/vocabularies.py:115:25: S001 found module formatter
plone/app/users/browser/account.py:4:1: I001 isort found an import in the wrong position
plone/app/users/browser/account.py:5:1: I001 isort found an import in the wrong position
plone/app/users/browser/account.py:6:1: I001 isort found an import in the wrong position
plone/app/users/browser/account.py:7:1: I001 isort found an import in the wrong position
plone/app/users/browser/account.py:8:1: I001 isort found an import in the wrong position
plone/app/users/browser/account.py:9:1: I001 isort found an import in the wrong position
plone/app/users/browser/account.py:10:1: I001 isort found an import in the wrong position
plone/app/users/browser/account.py:11:1: I001 isort found an import in the wrong position
plone/app/users/browser/account.py:12:1: I001 isort found an import in the wrong position
plone/app/users/browser/account.py:31:16: Q000 Remove bad quotes.
plone/app/users/browser/account.py:32:16: Q000 Remove bad quotes.
plone/app/users/browser/account.py:36:16: Q000 Remove bad quotes.
plone/app/users/browser/account.py:37:16: Q000 Remove bad quotes.
plone/app/users/browser/account.py:38:16: Q000 Remove bad quotes.
plone/app/users/browser/account.py:77:44: C812 missing trailing comma
plone/app/users/browser/account.py:91:39: P002 found "hasattr", consider replacing it
plone/app/users/browser/account.py:133:5: D001 found implements( replace it with zope.interface.implementer
plone/app/users/browser/account.py:139:24: Q000 Remove bad quotes.
plone/app/users/browser/account.py:140:26: Q000 Remove bad quotes.
plone/app/users/browser/account.py:169:12: P002 found "hasattr", consider replacing it
plone/app/users/browser/account.py:171:58: C812 missing trailing comma
plone/app/users/browser/account.py:189:41: Q000 Remove bad quotes.
plone/app/users/browser/account.py:232:57: Q000 Remove bad quotes.
plone/app/users/browser/account.py:233:60: Q000 Remove bad quotes.
plone/app/users/browser/account.py:235:13: S001 found module formatter
plone/app/users/browser/account.py:235:68: C812 missing trailing comma
plone/app/users/browser/membersearch.py:2:1: I001 isort found an import in the wrong position
plone/app/users/browser/membersearch.py:3:1: I001 isort found an import in the wrong position
plone/app/users/browser/membersearch.py:19:46: C812 missing trailing comma
plone/app/users/browser/passwordpanel.py:6:1: I001 isort found an import in the wrong position
plone/app/users/browser/passwordpanel.py:7:1: I001 isort found an import in the wrong position
plone/app/users/browser/passwordpanel.py:28:21: Q000 Remove bad quotes.
plone/app/users/browser/passwordpanel.py:35:21: Q000 Remove bad quotes.
plone/app/users/browser/passwordpanel.py:36:13: Q000 Remove bad quotes.
plone/app/users/browser/passwordpanel.py:59:21: Q000 Remove bad quotes.
plone/app/users/browser/passwordpanel.py:74:45: C812 missing trailing comma
plone/app/users/browser/passwordpanel.py:91:29: Q000 Remove bad quotes.
plone/app/users/browser/passwordpanel.py:111:28: C812 missing trailing comma
plone/app/users/browser/passwordpanel.py:137:38: Q000 Remove bad quotes.
plone/app/users/browser/passwordpanel.py:137:45: C812 missing trailing comma
plone/app/users/browser/passwordpanel.py:142:15: Q000 Remove bad quotes.
plone/app/users/browser/passwordpanel.py:142:41: Q000 Remove bad quotes.
plone/app/users/browser/passwordpanel.py:142:47: C812 missing trailing comma
plone/app/users/browser/personalpreferences.py:6:1: I001 isort found an import in the wrong position
plone/app/users/browser/personalpreferences.py:7:1: I001 isort found an import in the wrong position
plone/app/users/browser/personalpreferences.py:10:1: I003 isort expected 1 blank line in imports, found 0
plone/app/users/browser/personalpreferences.py:33:46: C812 missing trailing comma
plone/app/users/browser/personalpreferences.py:35:20: Q000 Remove bad quotes.
plone/app/users/browser/personalpreferences.py:42:20: Q000 Remove bad quotes.
plone/app/users/browser/personalpreferences.py:43:23: C812 missing trailing comma
plone/app/users/browser/personalpreferences.py:81:41: C812 missing trailing comma
plone/app/users/browser/personalpreferences.py:87:50: C812 missing trailing comma
plone/app/users/browser/personalpreferences.py:94:13: Q000 Remove bad quotes.
plone/app/users/browser/personalpreferences.py:95:13: Q000 Remove bad quotes.
plone/app/users/browser/personalpreferences.py:95:47: C812 missing trailing comma
plone/app/users/browser/personalpreferences.py:98:13: Q000 Remove bad quotes.
plone/app/users/browser/personalpreferences.py:99:13: Q000 Remove bad quotes.
plone/app/users/browser/personalpreferences.py:99:32: C812 missing trailing comma
plone/app/users/browser/register.py:2:1: I001 isort found an import in the wrong position
plone/app/users/browser/register.py:3:1: I001 isort found an import in the wrong position
plone/app/users/browser/register.py:4:1: I001 isort found an import in the wrong position
plone/app/users/browser/register.py:5:1: I001 isort found an import in the wrong position
plone/app/users/browser/register.py:6:1: I001 isort found an import in the wrong position
plone/app/users/browser/register.py:7:1: I004 isort found an unexpected blank line in imports
plone/app/users/browser/register.py:8:1: I001 isort found an import in the wrong position
plone/app/users/browser/register.py:9:1: I001 isort found an import in the wrong position
plone/app/users/browser/register.py:10:1: I001 isort found an import in the wrong position
plone/app/users/browser/register.py:11:1: I001 isort found an import in the wrong position
plone/app/users/browser/register.py:12:1: I001 isort found an import in the wrong position
plone/app/users/browser/register.py:12:25: C812 missing trailing comma
plone/app/users/browser/register.py:13:1: I001 isort found an import in the wrong position
plone/app/users/browser/register.py:14:1: I001 isort found an import in the wrong position
plone/app/users/browser/register.py:15:1: I001 isort found an import in the wrong position
plone/app/users/browser/register.py:16:1: I001 isort found an import in the wrong position
plone/app/users/browser/register.py:17:1: I001 isort found an import in the wrong position
plone/app/users/browser/register.py:31:1: I001 isort found an import in the wrong position
plone/app/users/browser/register.py:32:1: I001 isort found an import in the wrong position
plone/app/users/browser/register.py:33:1: I001 isort found an import in the wrong position
plone/app/users/browser/register.py:34:1: I001 isort found an import in the wrong position
plone/app/users/browser/register.py:35:1: I001 isort found an import in the wrong position
plone/app/users/browser/register.py:36:1: I001 isort found an import in the wrong position
plone/app/users/browser/register.py:37:1: I001 isort found an import in the wrong position
plone/app/users/browser/register.py:38:1: I001 isort found an import in the wrong position
plone/app/users/browser/register.py:39:1: I001 isort found an import in the wrong position
plone/app/users/browser/register.py:40:1: I001 isort found an import in the wrong position
plone/app/users/browser/register.py:48:1: I001 isort found an import in the wrong position
plone/app/users/browser/register.py:49:1: I001 isort found an import in the wrong position
plone/app/users/browser/register.py:50:1: I001 isort found an import in the wrong position
plone/app/users/browser/register.py:51:1: I001 isort found an import in the wrong position
plone/app/users/browser/register.py:52:1: I001 isort found an import in the wrong position
plone/app/users/browser/register.py:53:1: I001 isort found an import in the wrong position
plone/app/users/browser/register.py:57:1: I001 isort found an import in the wrong position
plone/app/users/browser/register.py:58:1: I001 isort found an import in the wrong position
plone/app/users/browser/register.py:59:1: I001 isort found an import in the wrong position
plone/app/users/browser/register.py:60:1: I003 isort expected 1 blank line in imports, found 0
plone/app/users/browser/register.py:60:1: I003 isort expected 1 blank line in imports, found 0
plone/app/users/browser/register.py:94:25: Q000 Remove bad quotes.
plone/app/users/browser/register.py:111:40: C812 missing trailing comma
plone/app/users/browser/register.py:151:41: C812 missing trailing comma
plone/app/users/browser/register.py:161:13: Q000 Remove bad quotes.
plone/app/users/browser/register.py:162:19: Q000 Remove bad quotes.
plone/app/users/browser/register.py:178:62: Q000 Remove bad quotes.
plone/app/users/browser/register.py:199:59: Q000 Remove bad quotes.
plone/app/users/browser/register.py:200:17: Q000 Remove bad quotes.
plone/app/users/browser/register.py:201:17: Q000 Remove bad quotes.
plone/app/users/browser/register.py:202:17: Q000 Remove bad quotes.
plone/app/users/browser/register.py:207:25: Q000 Remove bad quotes.
plone/app/users/browser/register.py:208:25: Q000 Remove bad quotes.
plone/app/users/browser/register.py:209:25: Q000 Remove bad quotes.
plone/app/users/browser/register.py:210:25: Q000 Remove bad quotes.
plone/app/users/browser/register.py:210:50: C812 missing trailing comma
plone/app/users/browser/register.py:224:49: C812 missing trailing comma
plone/app/users/browser/register.py:228:5: C901 'BaseRegistrationForm.generate_user_id' is too complex (12)
plone/app/users/browser/register.py:305:12: P002 found "hasattr", consider replacing it
plone/app/users/browser/register.py:316:22: Q000 Remove bad quotes.
plone/app/users/browser/register.py:316:22: S001 found module formatter
plone/app/users/browser/register.py:375:5: C901 'BaseRegistrationForm.validate_registration' is too complex (17)
plone/app/users/browser/register.py:451:29: Q000 Remove bad quotes.
plone/app/users/browser/register.py:452:29: Q000 Remove bad quotes.
plone/app/users/browser/register.py:459:29: Q000 Remove bad quotes.
plone/app/users/browser/register.py:460:29: Q000 Remove bad quotes.
plone/app/users/browser/register.py:470:29: Q000 Remove bad quotes.
plone/app/users/browser/register.py:471:29: Q000 Remove bad quotes.
plone/app/users/browser/register.py:479:37: Q000 Remove bad quotes.
plone/app/users/browser/register.py:480:29: Q000 Remove bad quotes.
plone/app/users/browser/register.py:487:67: C812 missing trailing comma
plone/app/users/browser/register.py:503:11: T000 Todo note found.
plone/app/users/browser/register.py:512:5: C901 'BaseRegistrationForm.handle_join_success' is too complex (12)
plone/app/users/browser/register.py:548:69: Q000 Remove bad quotes.
plone/app/users/browser/register.py:591:35: Q000 Remove bad quotes.
plone/app/users/browser/register.py:592:27: Q000 Remove bad quotes.
plone/app/users/browser/register.py:593:27: Q000 Remove bad quotes.
plone/app/users/browser/register.py:603:35: Q000 Remove bad quotes.
plone/app/users/browser/register.py:604:27: Q000 Remove bad quotes.
plone/app/users/browser/register.py:605:27: Q000 Remove bad quotes.
plone/app/users/browser/register.py:651:19: Q000 Remove bad quotes.
plone/app/users/browser/register.py:692:47: Q000 Remove bad quotes.
plone/app/users/browser/register.py:713:25: Q000 Remove bad quotes.
plone/app/users/browser/register.py:714:25: Q000 Remove bad quotes.
plone/app/users/browser/register.py:715:25: Q000 Remove bad quotes.
plone/app/users/browser/register.py:716:25: Q000 Remove bad quotes.
plone/app/users/browser/register.py:723:19: Q000 Remove bad quotes.
plone/app/users/browser/register.py:766:65: C812 missing trailing comma
plone/app/users/browser/register.py:775:25: Q000 Remove bad quotes.
plone/app/users/browser/register.py:776:25: Q000 Remove bad quotes.
plone/app/users/browser/register.py:777:25: Q000 Remove bad quotes.
plone/app/users/browser/register.py:778:25: Q000 Remove bad quotes.
plone/app/users/browser/register.py:778:79: C812 missing trailing comma
plone/app/users/browser/register.py:784:67: C812 missing trailing comma
plone/app/users/browser/register.py:813:69: Q000 Remove bad quotes.
plone/app/users/browser/register.py:817:15: Q000 Remove bad quotes.
plone/app/users/browser/register.py:826:15: Q000 Remove bad quotes.
plone/app/users/browser/register.py:827:21: Q000 Remove bad quotes.
plone/app/users/browser/register.py:827:80: E501 line too long (82 > 79 characters)
plone/app/users/browser/register.py:828:21: Q000 Remove bad quotes.
plone/app/users/browser/register.py:839:80: E501 line too long (86 > 79 characters)
plone/app/users/browser/register.py:846:28: Q000 Remove bad quotes.
plone/app/users/browser/register.py:849:15: S001 found module formatter
plone/app/users/browser/register.py:853:0: S001 found module formatter
plone/app/users/browser/register.py:860:0: S001 found module formatter
plone/app/users/browser/register.py:895:61: C812 missing trailing comma
plone/app/users/browser/register.py:905:80: E501 line too long (83 > 79 characters)
plone/app/users/browser/registersettingspanel.py:6:1: I001 isort found an import in the wrong position
plone/app/users/browser/registersettingspanel.py:7:1: I001 isort found an import in the wrong position
plone/app/users/browser/registersettingspanel.py:12:1: F401 'zope.component.getMultiAdapter' imported but unused
plone/app/users/browser/registersettingspanel.py:16:15: Q000 Remove bad quotes.
plone/app/users/browser/registersettingspanel.py:17:21: Q000 Remove bad quotes.
plone/app/users/browser/registersettingspanel.py:18:19: Q000 Remove bad quotes.
plone/app/users/browser/registersettingspanel.py:32:80: E501 line too long (94 > 79 characters)
plone/app/users/browser/registersettingspanel.py:49:49: C812 missing trailing comma
plone/app/users/browser/registersettingspanel.py:51:21: Q000 Remove bad quotes.
plone/app/users/browser/registersettingspanel.py:53:21: Q000 Remove bad quotes.
plone/app/users/browser/registersettingspanel.py:54:65: Q000 Remove bad quotes.
plone/app/users/browser/schemaeditor.py:0:1: C101 Coding magic comment not found
plone/app/users/browser/schemaeditor.py:1:1: I001 isort found an import in the wrong position
plone/app/users/browser/schemaeditor.py:2:1: I001 isort found an import in the wrong position
plone/app/users/browser/schemaeditor.py:3:1: I001 isort found an import in the wrong position
plone/app/users/browser/schemaeditor.py:4:1: I004 isort found an unexpected blank line in imports
plone/app/users/browser/schemaeditor.py:5:1: I001 isort found an import in the wrong position
plone/app/users/browser/schemaeditor.py:6:1: I001 isort found an import in the wrong position
plone/app/users/browser/schemaeditor.py:7:1: I001 isort found an import in the wrong position
plone/app/users/browser/schemaeditor.py:8:1: I001 isort found an import in the wrong position
plone/app/users/browser/schemaeditor.py:9:1: I004 isort found an unexpected blank line in imports
plone/app/users/browser/schemaeditor.py:10:1: I001 isort found an import in the wrong position
plone/app/users/browser/schemaeditor.py:11:1: I001 isort found an import in the wrong position
plone/app/users/browser/schemaeditor.py:12:1: I001 isort found an import in the wrong position
plone/app/users/browser/schemaeditor.py:13:1: I001 isort found an import in the wrong position
plone/app/users/browser/schemaeditor.py:14:1: I004 isort found an unexpected blank line in imports
plone/app/users/browser/schemaeditor.py:17:1: I001 isort found an import in the wrong position
plone/app/users/browser/schemaeditor.py:18:1: I001 isort found an import in the wrong position
plone/app/users/browser/schemaeditor.py:22:1: I001 isort found an import in the wrong position
plone/app/users/browser/schemaeditor.py:25:1: I003 isort expected 1 blank line in imports, found 0
plone/app/users/browser/schemaeditor.py:25:1: I001 isort found an import in the wrong position
plone/app/users/browser/schemaeditor.py:26:1: I001 isort found an import in the wrong position
plone/app/users/browser/schemaeditor.py:27:1: I001 isort found an import in the wrong position
plone/app/users/browser/schemaeditor.py:28:1: I001 isort found an import in the wrong position
plone/app/users/browser/schemaeditor.py:29:1: I001 isort found an import in the wrong position
plone/app/users/browser/schemaeditor.py:30:1: I001 isort found an import in the wrong position
plone/app/users/browser/schemaeditor.py:50:5: Q000 Remove bad quotes.
plone/app/users/browser/schemaeditor.py:51:5: Q000 Remove bad quotes.
plone/app/users/browser/schemaeditor.py:52:5: Q000 Remove bad quotes.
plone/app/users/browser/schemaeditor.py:53:5: Q000 Remove bad quotes.
plone/app/users/browser/schemaeditor.py:54:5: Q000 Remove bad quotes.
plone/app/users/browser/schemaeditor.py:55:5: Q000 Remove bad quotes.
plone/app/users/browser/schemaeditor.py:56:5: Q000 Remove bad quotes.
plone/app/users/browser/schemaeditor.py:57:5: Q000 Remove bad quotes.
plone/app/users/browser/schemaeditor.py:58:5: Q000 Remove bad quotes.
plone/app/users/browser/schemaeditor.py:59:5: Q000 Remove bad quotes.
plone/app/users/browser/schemaeditor.py:60:5: Q000 Remove bad quotes.
plone/app/users/browser/schemaeditor.py:61:5: Q000 Remove bad quotes.
plone/app/users/browser/schemaeditor.py:62:5: Q000 Remove bad quotes.
plone/app/users/browser/schemaeditor.py:96:5: D001 found implements( replace it with zope.interface.implementer
plone/app/users/browser/schemaeditor.py:98:15: Q000 Remove bad quotes.
plone/app/users/browser/schemaeditor.py:111:21: Q000 Remove bad quotes.
plone/app/users/browser/schemaeditor.py:139:30: Q000 Remove bad quotes.
plone/app/users/browser/schemaeditor.py:146:17: S001 found module formatter
plone/app/users/browser/schemaeditor.py:187:5: D001 found implements( replace it with zope.interface.implementer
plone/app/users/browser/schemaeditor.py:220:33: Q000 Remove bad quotes.
plone/app/users/browser/schemaeditor.py:225:28: Q000 Remove bad quotes.
plone/app/users/browser/schemaeditor.py:226:31: Q000 Remove bad quotes.
plone/app/users/browser/schemaeditor.py:229:17: B901 blind except: statement
plone/app/users/browser/schemaeditor.py:232:26: Q000 Remove bad quotes.
plone/app/users/browser/schemaeditor.py:233:26: Q000 Remove bad quotes.
plone/app/users/browser/schemaeditor.py:238:31: Q000 Remove bad quotes.
plone/app/users/browser/schemaeditor.py:238:46: Q000 Remove bad quotes.
plone/app/users/browser/schemaeditor.py:240:21: Q000 Remove bad quotes.
plone/app/users/browser/schemaeditor.py:240:21: S001 found module formatter
plone/app/users/browser/schemaeditor.py:242:21: Q000 Remove bad quotes.
plone/app/users/browser/schemaeditor.py:242:21: S001 found module formatter
plone/app/users/browser/schemaeditor.py:251:25: Q000 Remove bad quotes.
plone/app/users/browser/schemaeditor.py:251:25: S001 found module formatter
plone/app/users/browser/schemaeditor.py:302:19: C812 missing trailing comma
plone/app/users/browser/schemaeditor.py:312:19: C812 missing trailing comma
plone/app/users/browser/userdatapanel.py:2:1: I001 isort found an import in the wrong position
plone/app/users/browser/userdatapanel.py:3:1: I001 isort found an import in the wrong position
plone/app/users/browser/userdatapanel.py:4:1: I001 isort found an import in the wrong position
plone/app/users/browser/userdatapanel.py:11:1: I001 isort found an import in the wrong position
plone/app/users/browser/userdatapanel.py:12:1: I001 isort found an import in the wrong position
plone/app/users/browser/userdatapanel.py:13:1: I001 isort found an import in the wrong position
plone/app/users/browser/userdatapanel.py:14:1: I004 isort found an unexpected blank line in imports
plone/app/users/browser/userdatapanel.py:15:1: I001 isort found an import in the wrong position
plone/app/users/browser/userdatapanel.py:16:1: I001 isort found an import in the wrong position
plone/app/users/browser/userdatapanel.py:33:37: Q000 Remove bad quotes.
plone/app/users/browser/userdatapanel.py:65:41: C812 missing trailing comma
plone/app/users/browser/userdatapanel.py:71:59: C812 missing trailing comma
plone/app/users/browser/userdatapanel.py:85:41: C812 missing trailing comma
plone/app/users/tests/__init__.py:0:1: C101 Coding magic comment not found
plone/app/users/tests/base.py:11:1: I001 isort found an import in the wrong position
plone/app/users/tests/base.py:15:1: I001 isort found an import in the wrong position
plone/app/users/tests/base.py:19:1: I001 isort found an import in the wrong position
plone/app/users/tests/base.py:20:1: I001 isort found an import in the wrong position
plone/app/users/tests/base.py:23:1: I004 isort found an unexpected blank line in imports
plone/app/users/tests/base.py:24:1: I001 isort found an import in the wrong position
plone/app/users/tests/base.py:25:1: I001 isort found an import in the wrong position
plone/app/users/tests/base.py:26:1: I001 isort found an import in the wrong position
plone/app/users/tests/base.py:40:50: W291 trailing whitespace
plone/app/users/tests/base.py:68:14: D001 found declarePrivate( replace it with AccessControl.ClassSecurityInfo.private
plone/app/users/tests/base.py:90:1: E302 expected 2 blank lines, found 1
plone/app/users/tests/base.py:97:1: E302 expected 2 blank lines, found 1
plone/app/users/tests/base.py:102:1: E302 expected 2 blank lines, found 1
plone/app/users/tests/base.py:113:5: E265 block comment should start with '# '
plone/app/users/tests/base.py:119:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/users/tests/base.py:121:1: E302 expected 2 blank lines, found 1
plone/app/users/tests/base.py:123:58: Q000 Remove bad quotes.
plone/app/users/tests/base.py:125:1: E302 expected 2 blank lines, found 1
plone/app/users/tests/base.py:132:1: E302 expected 2 blank lines, found 1
plone/app/users/tests/base.py:137:1: W391 blank line at end of file
plone/app/users/tests/test_doctests.py:3:1: I001 isort found an import in the wrong position
plone/app/users/tests/test_doctests.py:33:40: C812 missing trailing comma
plone/app/users/tests/test_exportimport.py:0:1: C101 Coding magic comment not found
plone/app/users/tests/test_exportimport.py:1:1: I001 isort found an import in the wrong position
plone/app/users/tests/test_exportimport.py:2:1: I001 isort found an import in the wrong position
plone/app/users/tests/test_exportimport.py:3:1: I001 isort found an import in the wrong position
plone/app/users/tests/test_exportimport.py:6:1: I001 isort found an import in the wrong position
plone/app/users/tests/test_exportimport.py:17:80: E501 line too long (438 > 79 characters)
plone/app/users/tests/test_exportimport.py:19:80: E501 line too long (81 > 79 characters)
plone/app/users/tests/test_exportimport.py:26:80: E501 line too long (84 > 79 characters)
plone/app/users/tests/test_exportimport.py:34:80: E501 line too long (85 > 79 characters)
plone/app/users/tests/test_exportimport.py:42:80: E501 line too long (101 > 79 characters)
plone/app/users/tests/test_exportimport.py:106:41: Q000 Remove bad quotes.
plone/app/users/tests/test_exportimport.py:109:23: Q000 Remove bad quotes.
plone/app/users/tests/test_exportimport.py:111:23: Q000 Remove bad quotes.
plone/app/users/tests/test_exportimport.py:114:23: Q000 Remove bad quotes.
plone/app/users/tests/test_exportimport.py:116:23: Q000 Remove bad quotes.
plone/app/users/tests/test_exportimport.py:119:23: Q000 Remove bad quotes.
plone/app/users/tests/test_exportimport.py:121:23: Q000 Remove bad quotes.
plone/app/users/tests/test_exportimport.py:124:23: Q000 Remove bad quotes.
plone/app/users/tests/test_exportimport.py:128:26: Q000 Remove bad quotes.
plone/app/users/tests/test_exportimport.py:130:23: Q000 Remove bad quotes.
plone/app/users/tests/test_exportimport.py:132:23: Q000 Remove bad quotes.
plone/app/users/tests/test_exportimport.py:135:23: Q000 Remove bad quotes.
plone/app/users/tests/test_exportimport.py:136:80: E501 line too long (81 > 79 characters)
plone/app/users/tests/test_exportimport.py:137:23: Q000 Remove bad quotes.
plone/app/users/tests/test_exportimport.py:140:23: Q000 Remove bad quotes.
plone/app/users/tests/test_exportimport.py:142:23: Q000 Remove bad quotes.
plone/app/users/tests/test_exportimport.py:145:23: Q000 Remove bad quotes.
plone/app/users/tests/test_exportimport.py:147:23: Q000 Remove bad quotes.
plone/app/users/tests/test_exportimport.py:150:23: Q000 Remove bad quotes.
plone/app/users/tests/test_exportimport.py:152:23: Q000 Remove bad quotes.
plone/app/users/tests/test_exportimport.py:155:23: Q000 Remove bad quotes.
plone/app/users/tests/test_exportimport.py:157:23: Q000 Remove bad quotes.
plone/app/users/tests/test_exportimport.py:160:23: Q000 Remove bad quotes.
plone/app/users/tests/test_exportimport.py:162:23: Q000 Remove bad quotes.
plone/app/users/tests/test_new_user.py:4:1: I001 isort found an import in the wrong position
plone/app/users/tests/test_new_user.py:13:62: C812 missing trailing comma
plone/app/users/tests/test_new_user.py:30:68: C812 missing trailing comma
plone/app/users/tests/test_new_user.py:43:62: C812 missing trailing comma
plone/app/users/tests/test_new_user.py:45:29: W291 trailing whitespace
plone/app/users/tests/test_new_user.py:64:14: D001 found assertEquals( replace it with assertEqual
plone/app/users/tests/test_new_user.py:66:14: D001 found assertEquals( replace it with assertEqual
plone/app/users/tests/test_new_user.py:67:14: D001 found assertEquals( replace it with assertEqual
plone/app/users/tests/test_new_user.py:84:14: D001 found assertEquals( replace it with assertEqual
plone/app/users/tests/test_new_user.py:85:14: D001 found assertEquals( replace it with assertEqual
plone/app/users/tests/test_new_user.py:87:14: D001 found assertEquals( replace it with assertEqual
plone/app/users/tests/test_new_user.py:88:14: D001 found assertEquals( replace it with assertEqual
plone/app/users/tests/test_new_user.py:104:14: D001 found assertEquals( replace it with assertEqual
plone/app/users/tests/test_new_user.py:105:14: D001 found assertEquals( replace it with assertEqual
plone/app/users/tests/test_new_user.py:107:14: D001 found assertEquals( replace it with assertEqual
plone/app/users/tests/test_new_user.py:108:14: D001 found assertEquals( replace it with assertEqual
plone/app/users/tests/test_new_user.py:126:14: D001 found assertEquals( replace it with assertEqual
plone/app/users/tests/test_new_user.py:127:14: D001 found assertEquals( replace it with assertEqual
plone/app/users/tests/test_new_user.py:129:14: D001 found assertEquals( replace it with assertEqual
plone/app/users/tests/test_new_user.py:130:14: D001 found assertEquals( replace it with assertEqual
plone/app/users/tests/test_new_user.py:148:14: D001 found assertEquals( replace it with assertEqual
plone/app/users/tests/test_new_user.py:150:14: D001 found assertEquals( replace it with assertEqual
plone/app/users/tests/test_new_user.py:154:14: D001 found assertEquals( replace it with assertEqual
plone/app/users/tests/test_new_user.py:172:14: D001 found assertEquals( replace it with assertEqual
plone/app/users/tests/test_new_user.py:173:14: D001 found assertEquals( replace it with assertEqual
plone/app/users/tests/test_new_user.py:175:14: D001 found assertEquals( replace it with assertEqual
plone/app/users/tests/test_new_user.py:179:14: D001 found assertEquals( replace it with assertEqual
plone/app/users/tests/test_robot.py:0:1: C101 Coding magic comment not found
plone/app/users/tests/test_robot.py:1:1: I001 isort found an import in the wrong position
plone/app/users/tests/test_robot.py:2:1: I003 isort expected 1 blank line in imports, found 0
plone/app/users/tests/test_robot.py:3:1: F401 'robotsuite' imported but unused
plone/app/users/tests/test_robot.py:4:1: F401 'plone.app.users.testing.PLONE_APP_USERS_ROBOT' imported but unused
plone/app/users/tests/test_robot.py:4:1: I001 isort found an import in the wrong position
plone/app/users/tests/test_robot.py:5:1: F401 'plone.testing.layered' imported but unused
plone/app/users/tests/test_robot.py:5:1: I001 isort found an import in the wrong position
plone/app/users/tests/test_robot.py:11:53: Q000 Remove bad quotes.
plone/app/users/tests/test_robot.py:12:9: F841 local variable 'testfilepath' is assigned to but never used
plone/app/users/tests/test_robot.py:12:37: Q000 Remove bad quotes.
plone/app/users/tests/test_schema_types.py:0:1: C101 Coding magic comment not found
plone/app/users/tests/test_schema_types.py:2:1: I001 isort found an import in the wrong position
plone/app/users/tests/test_schema_types.py:8:1: I003 isort expected 1 blank line in imports, found 0
plone/app/users/tests/test_schema_types.py:16:80: E501 line too long (438 > 79 characters)
plone/app/users/tests/test_schema_types.py:18:80: E501 line too long (81 > 79 characters)
plone/app/users/tests/test_schema_types.py:25:80: E501 line too long (84 > 79 characters)
plone/app/users/tests/test_schema_types.py:33:80: E501 line too long (85 > 79 characters)
plone/app/users/tests/test_schema_types.py:41:80: E501 line too long (101 > 79 characters)
plone/app/users/tests/test_schema_types.py:113:27: Q000 Remove bad quotes.
plone/app/users/tests/test_schema_types.py:119:41: Q000 Remove bad quotes.
plone/app/users/tests/test_schema_types.py:119:80: E501 line too long (80 > 79 characters)
plone/app/users/tests/test_schema_types.py:120:80: E501 line too long (116 > 79 characters)
plone/app/users/tests/test_schema_types.py:120:87: Q000 Remove bad quotes.
plone/app/users/tests/test_schema_types.py:120:100: Q000 Remove bad quotes.
plone/app/users/tests/test_schema_types.py:140:80: E501 line too long (84 > 79 characters)
plone/app/users/tests/test_userid_generator.py:3:1: F401 'Products.CMFPlone.interfaces.ISecuritySchema' imported but unused
plone/app/users/tests/test_userid_generator.py:3:1: I001 isort found an import in the wrong position
plone/app/users/tests/test_userid_generator.py:8:1: F401 'plone.registry.interfaces.IRegistry' imported but unused
plone/app/users/tests/test_userid_generator.py:10:1: F401 'zope.component.getUtility' imported but unused
```
Follow [these instructions](https://github.com/plone/jenkins.plone.org/blob/master/docs/source/run-qa-on-package.rst) to reproduce it locally.


Nor on Linux either.


@jensens Jenkins CI reporting about code analysis
See the full report here: https://jenkins.plone.org/job/package-plone.app.users/88/violations
```
plone/app/users/field_extender.py:0:1: C101 Coding magic comment not found
plone/app/users/field_extender.py:1:1: I001 isort found an import in the wrong position
plone/app/users/field_extender.py:2:1: I001 isort found an import in the wrong position
plone/app/users/field_extender.py:3:1: I004 isort found an unexpected blank line in imports
plone/app/users/field_extender.py:4:1: I001 isort found an import in the wrong position
plone/app/users/field_extender.py:5:1: I001 isort found an import in the wrong position
plone/app/users/field_extender.py:9:1: I001 isort found an import in the wrong position
plone/app/users/field_extender.py:10:1: I004 isort found an unexpected blank line in imports
plone/app/users/field_extender.py:11:1: I001 isort found an import in the wrong position
plone/app/users/field_extender.py:12:1: I004 isort found an unexpected blank line in imports
plone/app/users/field_extender.py:13:1: I001 isort found an import in the wrong position
plone/app/users/field_extender.py:14:1: I004 isort found an unexpected blank line in imports
plone/app/users/field_extender.py:15:1: I004 isort found an unexpected blank line in imports
plone/app/users/field_extender.py:16:1: I001 isort found an import in the wrong position
plone/app/users/field_extender.py:29:15: Q000 Remove bad quotes.
plone/app/users/field_extender.py:30:21: Q000 Remove bad quotes.
plone/app/users/field_extender.py:45:5: D001 found adapts( replace it with zope.component.adapter
plone/app/users/field_extender.py:74:56: Q000 Remove bad quotes.
plone/app/users/schema.py:5:1: I001 isort found an import in the wrong position
plone/app/users/schema.py:6:1: I001 isort found an import in the wrong position
plone/app/users/schema.py:7:1: I001 isort found an import in the wrong position
plone/app/users/schema.py:8:1: F811 redefinition of unused 'implementer' from line 8
plone/app/users/schema.py:8:1: I001 isort found an import in the wrong position
plone/app/users/schema.py:9:1: I001 isort found an import in the wrong position
plone/app/users/schema.py:10:1: I001 isort found an import in the wrong position
plone/app/users/schema.py:11:1: I001 isort found an import in the wrong position
plone/app/users/schema.py:12:1: I001 isort found an import in the wrong position
plone/app/users/schema.py:13:1: I001 isort found an import in the wrong position
plone/app/users/schema.py:19:1: I001 isort found an import in the wrong position
plone/app/users/schema.py:21:21: Q000 Remove bad quotes.
plone/app/users/schema.py:23:16: Q000 Remove bad quotes.
plone/app/users/schema.py:33:11: T000 Todo note found.
plone/app/users/schema.py:77:31: Q000 Remove bad quotes.
plone/app/users/schema.py:96:21: Q000 Remove bad quotes.
plone/app/users/schema.py:97:21: Q000 Remove bad quotes.
plone/app/users/schema.py:98:21: Q000 Remove bad quotes.
plone/app/users/schema.py:98:76: C812 missing trailing comma
plone/app/users/schema.py:99:10: C812 missing trailing comma
plone/app/users/schema.py:111:31: Q000 Remove bad quotes.
plone/app/users/schema.py:112:23: Q000 Remove bad quotes.
plone/app/users/schema.py:116:25: Q000 Remove bad quotes.
plone/app/users/schema.py:117:17: Q000 Remove bad quotes.
plone/app/users/schema.py:157:16: S001 found module formatter
plone/app/users/schema.py:171:48: C812 missing trailing comma
plone/app/users/schema.py:174:13: Q000 Remove bad quotes.
plone/app/users/schema.py:175:22: Q000 Remove bad quotes.
plone/app/users/schema.py:176:22: Q000 Remove bad quotes.
plone/app/users/schema.py:177:22: Q000 Remove bad quotes.
plone/app/users/schema.py:178:22: Q000 Remove bad quotes.
plone/app/users/schema.py:179:22: Q000 Remove bad quotes.
plone/app/users/schema.py:180:22: Q000 Remove bad quotes.
plone/app/users/setuphandlers.py:0:1: C101 Coding magic comment not found
plone/app/users/setuphandlers.py:3:1: I001 isort found an import in the wrong position
plone/app/users/testing.py:9:1: I003 isort expected 1 blank line in imports, found 0
plone/app/users/testing.py:17:10: Q000 Remove bad quotes.
plone/app/users/upgrades.py:0:1: C101 Coding magic comment not found
plone/app/users/upgrades.py:1:1: I001 isort found an import in the wrong position
plone/app/users/upgrades.py:5:1: I001 isort found an import in the wrong position
plone/app/users/upgrades.py:12:1: I003 isort expected 1 blank line in imports, found 0
plone/app/users/upgrades.py:12:1: I003 isort expected 1 blank line in imports, found 0
plone/app/users/upgrades.py:12:25: Q000 Remove bad quotes.
plone/app/users/upgrades.py:35:31: Q000 Remove bad quotes.
plone/app/users/upgrades.py:36:23: Q000 Remove bad quotes.
plone/app/users/upgrades.py:47:31: Q000 Remove bad quotes.
plone/app/users/upgrades.py:48:23: Q000 Remove bad quotes.
plone/app/users/upgrades.py:49:23: Q000 Remove bad quotes.
plone/app/users/upgrades.py:60:31: Q000 Remove bad quotes.
plone/app/users/upgrades.py:61:23: Q000 Remove bad quotes.
plone/app/users/upgrades.py:62:23: Q000 Remove bad quotes.
plone/app/users/upgrades.py:76:72: C812 missing trailing comma
plone/app/users/upgrades.py:93:33: Q000 Remove bad quotes.
plone/app/users/upgrades.py:109:9: E128 continuation line under-indented for visual indent
plone/app/users/upgrades.py:110:20: C812 missing trailing comma
plone/app/users/utils.py:22:65: C812 missing trailing comma
plone/app/users/utils.py:23:10: C812 missing trailing comma
plone/app/users/vocabularies.py:11:1: I001 isort found an import in the wrong position
plone/app/users/vocabularies.py:14:1: I001 isort found an import in the wrong position
plone/app/users/vocabularies.py:15:1: I001 isort found an import in the wrong position
plone/app/users/vocabularies.py:42:80: E501 line too long (130 > 79 characters)
plone/app/users/vocabularies.py:62:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/users/vocabularies.py:115:25: S001 found module formatter
plone/app/users/browser/account.py:4:1: I001 isort found an import in the wrong position
plone/app/users/browser/account.py:5:1: I001 isort found an import in the wrong position
plone/app/users/browser/account.py:6:1: I001 isort found an import in the wrong position
plone/app/users/browser/account.py:7:1: I001 isort found an import in the wrong position
plone/app/users/browser/account.py:8:1: I001 isort found an import in the wrong position
plone/app/users/browser/account.py:9:1: I001 isort found an import in the wrong position
plone/app/users/browser/account.py:10:1: I001 isort found an import in the wrong position
plone/app/users/browser/account.py:11:1: I001 isort found an import in the wrong position
plone/app/users/browser/account.py:12:1: I001 isort found an import in the wrong position
plone/app/users/browser/account.py:31:16: Q000 Remove bad quotes.
plone/app/users/browser/account.py:32:16: Q000 Remove bad quotes.
plone/app/users/browser/account.py:36:16: Q000 Remove bad quotes.
plone/app/users/browser/account.py:37:16: Q000 Remove bad quotes.
plone/app/users/browser/account.py:38:16: Q000 Remove bad quotes.
plone/app/users/browser/account.py:77:44: C812 missing trailing comma
plone/app/users/browser/account.py:91:39: P002 found "hasattr", consider replacing it
plone/app/users/browser/account.py:138:24: Q000 Remove bad quotes.
plone/app/users/browser/account.py:139:26: Q000 Remove bad quotes.
plone/app/users/browser/account.py:168:12: P002 found "hasattr", consider replacing it
plone/app/users/browser/account.py:170:58: C812 missing trailing comma
plone/app/users/browser/account.py:188:41: Q000 Remove bad quotes.
plone/app/users/browser/account.py:233:57: Q000 Remove bad quotes.
plone/app/users/browser/account.py:234:60: Q000 Remove bad quotes.
plone/app/users/browser/account.py:236:13: S001 found module formatter
plone/app/users/browser/account.py:236:68: C812 missing trailing comma
plone/app/users/browser/membersearch.py:2:1: I001 isort found an import in the wrong position
plone/app/users/browser/membersearch.py:3:1: I001 isort found an import in the wrong position
plone/app/users/browser/membersearch.py:4:1: F401 'plone.app.users.schema.checkEmailAddress' imported but unused
plone/app/users/browser/membersearch.py:19:46: C812 missing trailing comma
plone/app/users/browser/passwordpanel.py:6:1: I001 isort found an import in the wrong position
plone/app/users/browser/passwordpanel.py:7:1: I001 isort found an import in the wrong position
plone/app/users/browser/passwordpanel.py:28:21: Q000 Remove bad quotes.
plone/app/users/browser/passwordpanel.py:35:21: Q000 Remove bad quotes.
plone/app/users/browser/passwordpanel.py:36:13: Q000 Remove bad quotes.
plone/app/users/browser/passwordpanel.py:59:21: Q000 Remove bad quotes.
plone/app/users/browser/passwordpanel.py:74:45: C812 missing trailing comma
plone/app/users/browser/passwordpanel.py:91:29: Q000 Remove bad quotes.
plone/app/users/browser/passwordpanel.py:111:28: C812 missing trailing comma
plone/app/users/browser/passwordpanel.py:137:38: Q000 Remove bad quotes.
plone/app/users/browser/passwordpanel.py:137:45: C812 missing trailing comma
plone/app/users/browser/passwordpanel.py:142:15: Q000 Remove bad quotes.
plone/app/users/browser/passwordpanel.py:142:41: Q000 Remove bad quotes.
plone/app/users/browser/passwordpanel.py:142:47: C812 missing trailing comma
plone/app/users/browser/personalpreferences.py:6:1: I001 isort found an import in the wrong position
plone/app/users/browser/personalpreferences.py:7:1: I001 isort found an import in the wrong position
plone/app/users/browser/personalpreferences.py:10:1: I003 isort expected 1 blank line in imports, found 0
plone/app/users/browser/personalpreferences.py:33:46: C812 missing trailing comma
plone/app/users/browser/personalpreferences.py:35:20: Q000 Remove bad quotes.
plone/app/users/browser/personalpreferences.py:42:20: Q000 Remove bad quotes.
plone/app/users/browser/personalpreferences.py:43:23: C812 missing trailing comma
plone/app/users/browser/personalpreferences.py:81:41: C812 missing trailing comma
plone/app/users/browser/personalpreferences.py:87:50: C812 missing trailing comma
plone/app/users/browser/personalpreferences.py:94:13: Q000 Remove bad quotes.
plone/app/users/browser/personalpreferences.py:95:13: Q000 Remove bad quotes.
plone/app/users/browser/personalpreferences.py:95:47: C812 missing trailing comma
plone/app/users/browser/personalpreferences.py:98:13: Q000 Remove bad quotes.
plone/app/users/browser/personalpreferences.py:99:13: Q000 Remove bad quotes.
plone/app/users/browser/personalpreferences.py:99:32: C812 missing trailing comma
plone/app/users/browser/register.py:12:1: I001 isort found an import in the wrong position
plone/app/users/browser/register.py:13:1: I001 isort found an import in the wrong position
plone/app/users/browser/register.py:14:1: F401 'plone.autoform.interfaces.OMITTED_KEY' imported but unused
plone/app/users/browser/register.py:14:1: I001 isort found an import in the wrong position
plone/app/users/browser/register.py:15:1: I001 isort found an import in the wrong position
plone/app/users/browser/register.py:16:1: I001 isort found an import in the wrong position
plone/app/users/browser/register.py:23:1: I001 isort found an import in the wrong position
plone/app/users/browser/register.py:24:1: I001 isort found an import in the wrong position
plone/app/users/browser/register.py:25:1: I001 isort found an import in the wrong position
plone/app/users/browser/register.py:26:1: I001 isort found an import in the wrong position
plone/app/users/browser/register.py:27:1: I001 isort found an import in the wrong position
plone/app/users/browser/register.py:28:1: I001 isort found an import in the wrong position
plone/app/users/browser/register.py:31:1: I003 isort expected 1 blank line in imports, found 0
plone/app/users/browser/register.py:33:1: I001 isort found an import in the wrong position
plone/app/users/browser/register.py:34:1: I001 isort found an import in the wrong position
plone/app/users/browser/register.py:35:1: I001 isort found an import in the wrong position
plone/app/users/browser/register.py:36:1: I001 isort found an import in the wrong position
plone/app/users/browser/register.py:36:28: C812 missing trailing comma
plone/app/users/browser/register.py:37:1: I001 isort found an import in the wrong position
plone/app/users/browser/register.py:38:1: I001 isort found an import in the wrong position
plone/app/users/browser/register.py:39:1: I001 isort found an import in the wrong position
plone/app/users/browser/register.py:40:1: I001 isort found an import in the wrong position
plone/app/users/browser/register.py:41:1: I001 isort found an import in the wrong position
plone/app/users/browser/register.py:42:1: I001 isort found an import in the wrong position
plone/app/users/browser/register.py:43:1: I001 isort found an import in the wrong position
plone/app/users/browser/register.py:44:1: I004 isort found an unexpected blank line in imports
plone/app/users/browser/register.py:45:1: I001 isort found an import in the wrong position
plone/app/users/browser/register.py:46:1: I001 isort found an import in the wrong position
plone/app/users/browser/register.py:58:41: C812 missing trailing comma
plone/app/users/browser/register.py:68:13: Q000 Remove bad quotes.
plone/app/users/browser/register.py:69:19: Q000 Remove bad quotes.
plone/app/users/browser/register.py:85:62: Q000 Remove bad quotes.
plone/app/users/browser/register.py:106:59: Q000 Remove bad quotes.
plone/app/users/browser/register.py:107:17: Q000 Remove bad quotes.
plone/app/users/browser/register.py:108:17: Q000 Remove bad quotes.
plone/app/users/browser/register.py:109:17: Q000 Remove bad quotes.
plone/app/users/browser/register.py:114:25: Q000 Remove bad quotes.
plone/app/users/browser/register.py:115:25: Q000 Remove bad quotes.
plone/app/users/browser/register.py:116:25: Q000 Remove bad quotes.
plone/app/users/browser/register.py:117:25: Q000 Remove bad quotes.
plone/app/users/browser/register.py:117:50: C812 missing trailing comma
plone/app/users/browser/register.py:131:49: C812 missing trailing comma
plone/app/users/browser/register.py:135:5: C901 'BaseRegistrationForm.generate_user_id' is too complex (12)
plone/app/users/browser/register.py:212:12: P002 found "hasattr", consider replacing it
plone/app/users/browser/register.py:223:22: Q000 Remove bad quotes.
plone/app/users/browser/register.py:223:22: S001 found module formatter
plone/app/users/browser/register.py:282:5: C901 'BaseRegistrationForm.validate_registration' is too complex (17)
plone/app/users/browser/register.py:358:29: Q000 Remove bad quotes.
plone/app/users/browser/register.py:359:29: Q000 Remove bad quotes.
plone/app/users/browser/register.py:366:29: Q000 Remove bad quotes.
plone/app/users/browser/register.py:367:29: Q000 Remove bad quotes.
plone/app/users/browser/register.py:377:29: Q000 Remove bad quotes.
plone/app/users/browser/register.py:378:29: Q000 Remove bad quotes.
plone/app/users/browser/register.py:386:37: Q000 Remove bad quotes.
plone/app/users/browser/register.py:387:29: Q000 Remove bad quotes.
plone/app/users/browser/register.py:394:67: C812 missing trailing comma
plone/app/users/browser/register.py:410:11: T000 Todo note found.
plone/app/users/browser/register.py:419:5: C901 'BaseRegistrationForm.handle_join_success' is too complex (12)
plone/app/users/browser/register.py:455:69: Q000 Remove bad quotes.
plone/app/users/browser/register.py:498:35: Q000 Remove bad quotes.
plone/app/users/browser/register.py:499:27: Q000 Remove bad quotes.
plone/app/users/browser/register.py:500:27: Q000 Remove bad quotes.
plone/app/users/browser/register.py:510:35: Q000 Remove bad quotes.
plone/app/users/browser/register.py:511:27: Q000 Remove bad quotes.
plone/app/users/browser/register.py:512:27: Q000 Remove bad quotes.
plone/app/users/browser/register.py:558:19: Q000 Remove bad quotes.
plone/app/users/browser/register.py:616:25: Q000 Remove bad quotes.
plone/app/users/browser/register.py:617:25: Q000 Remove bad quotes.
plone/app/users/browser/register.py:618:25: Q000 Remove bad quotes.
plone/app/users/browser/register.py:619:25: Q000 Remove bad quotes.
plone/app/users/browser/register.py:626:19: Q000 Remove bad quotes.
plone/app/users/browser/register.py:669:65: C812 missing trailing comma
plone/app/users/browser/register.py:678:25: Q000 Remove bad quotes.
plone/app/users/browser/register.py:679:25: Q000 Remove bad quotes.
plone/app/users/browser/register.py:680:25: Q000 Remove bad quotes.
plone/app/users/browser/register.py:681:25: Q000 Remove bad quotes.
plone/app/users/browser/register.py:681:79: C812 missing trailing comma
plone/app/users/browser/register.py:687:67: C812 missing trailing comma
plone/app/users/browser/register.py:716:69: Q000 Remove bad quotes.
plone/app/users/browser/register.py:720:15: Q000 Remove bad quotes.
plone/app/users/browser/registersettingspanel.py:6:1: I001 isort found an import in the wrong position
plone/app/users/browser/registersettingspanel.py:7:1: I001 isort found an import in the wrong position
plone/app/users/browser/registersettingspanel.py:15:15: Q000 Remove bad quotes.
plone/app/users/browser/registersettingspanel.py:16:21: Q000 Remove bad quotes.
plone/app/users/browser/registersettingspanel.py:17:19: Q000 Remove bad quotes.
plone/app/users/browser/registersettingspanel.py:31:80: E501 line too long (94 > 79 characters)
plone/app/users/browser/registersettingspanel.py:48:49: C812 missing trailing comma
plone/app/users/browser/registersettingspanel.py:50:21: Q000 Remove bad quotes.
plone/app/users/browser/registersettingspanel.py:52:21: Q000 Remove bad quotes.
plone/app/users/browser/registersettingspanel.py:53:65: Q000 Remove bad quotes.
plone/app/users/browser/schemaeditor.py:0:1: C101 Coding magic comment not found
plone/app/users/browser/schemaeditor.py:1:1: I001 isort found an import in the wrong position
plone/app/users/browser/schemaeditor.py:2:1: I001 isort found an import in the wrong position
plone/app/users/browser/schemaeditor.py:3:1: I001 isort found an import in the wrong position
plone/app/users/browser/schemaeditor.py:4:1: I004 isort found an unexpected blank line in imports
plone/app/users/browser/schemaeditor.py:5:1: I001 isort found an import in the wrong position
plone/app/users/browser/schemaeditor.py:6:1: I001 isort found an import in the wrong position
plone/app/users/browser/schemaeditor.py:7:1: I001 isort found an import in the wrong position
plone/app/users/browser/schemaeditor.py:8:1: I001 isort found an import in the wrong position
plone/app/users/browser/schemaeditor.py:9:1: I004 isort found an unexpected blank line in imports
plone/app/users/browser/schemaeditor.py:10:1: I001 isort found an import in the wrong position
plone/app/users/browser/schemaeditor.py:11:1: I001 isort found an import in the wrong position
plone/app/users/browser/schemaeditor.py:12:1: I001 isort found an import in the wrong position
plone/app/users/browser/schemaeditor.py:13:1: I001 isort found an import in the wrong position
plone/app/users/browser/schemaeditor.py:14:1: I004 isort found an unexpected blank line in imports
plone/app/users/browser/schemaeditor.py:17:1: I001 isort found an import in the wrong position
plone/app/users/browser/schemaeditor.py:18:1: I001 isort found an import in the wrong position
plone/app/users/browser/schemaeditor.py:22:1: I001 isort found an import in the wrong position
plone/app/users/browser/schemaeditor.py:25:1: I003 isort expected 1 blank line in imports, found 0
plone/app/users/browser/schemaeditor.py:25:1: I001 isort found an import in the wrong position
plone/app/users/browser/schemaeditor.py:26:1: I001 isort found an import in the wrong position
plone/app/users/browser/schemaeditor.py:27:1: I001 isort found an import in the wrong position
plone/app/users/browser/schemaeditor.py:28:1: I001 isort found an import in the wrong position
plone/app/users/browser/schemaeditor.py:29:1: I001 isort found an import in the wrong position
plone/app/users/browser/schemaeditor.py:30:1: I001 isort found an import in the wrong position
plone/app/users/browser/schemaeditor.py:50:5: Q000 Remove bad quotes.
plone/app/users/browser/schemaeditor.py:51:5: Q000 Remove bad quotes.
plone/app/users/browser/schemaeditor.py:52:5: Q000 Remove bad quotes.
plone/app/users/browser/schemaeditor.py:53:5: Q000 Remove bad quotes.
plone/app/users/browser/schemaeditor.py:54:5: Q000 Remove bad quotes.
plone/app/users/browser/schemaeditor.py:55:5: Q000 Remove bad quotes.
plone/app/users/browser/schemaeditor.py:56:5: Q000 Remove bad quotes.
plone/app/users/browser/schemaeditor.py:57:5: Q000 Remove bad quotes.
plone/app/users/browser/schemaeditor.py:58:5: Q000 Remove bad quotes.
plone/app/users/browser/schemaeditor.py:59:5: Q000 Remove bad quotes.
plone/app/users/browser/schemaeditor.py:60:5: Q000 Remove bad quotes.
plone/app/users/browser/schemaeditor.py:61:5: Q000 Remove bad quotes.
plone/app/users/browser/schemaeditor.py:62:5: Q000 Remove bad quotes.
plone/app/users/browser/schemaeditor.py:98:15: Q000 Remove bad quotes.
plone/app/users/browser/schemaeditor.py:111:21: Q000 Remove bad quotes.
plone/app/users/browser/schemaeditor.py:139:30: Q000 Remove bad quotes.
plone/app/users/browser/schemaeditor.py:146:17: S001 found module formatter
plone/app/users/browser/schemaeditor.py:220:33: Q000 Remove bad quotes.
plone/app/users/browser/schemaeditor.py:225:28: Q000 Remove bad quotes.
plone/app/users/browser/schemaeditor.py:226:31: Q000 Remove bad quotes.
plone/app/users/browser/schemaeditor.py:229:17: B901 blind except: statement
plone/app/users/browser/schemaeditor.py:232:26: Q000 Remove bad quotes.
plone/app/users/browser/schemaeditor.py:233:26: Q000 Remove bad quotes.
plone/app/users/browser/schemaeditor.py:238:31: Q000 Remove bad quotes.
plone/app/users/browser/schemaeditor.py:238:46: Q000 Remove bad quotes.
plone/app/users/browser/schemaeditor.py:240:21: Q000 Remove bad quotes.
plone/app/users/browser/schemaeditor.py:240:21: S001 found module formatter
plone/app/users/browser/schemaeditor.py:242:21: Q000 Remove bad quotes.
plone/app/users/browser/schemaeditor.py:242:21: S001 found module formatter
plone/app/users/browser/schemaeditor.py:251:25: Q000 Remove bad quotes.
plone/app/users/browser/schemaeditor.py:251:25: S001 found module formatter
plone/app/users/browser/schemaeditor.py:302:19: C812 missing trailing comma
plone/app/users/browser/schemaeditor.py:312:19: C812 missing trailing comma
plone/app/users/browser/userdatapanel.py:2:1: I001 isort found an import in the wrong position
plone/app/users/browser/userdatapanel.py:3:1: I001 isort found an import in the wrong position
plone/app/users/browser/userdatapanel.py:4:1: I001 isort found an import in the wrong position
plone/app/users/browser/userdatapanel.py:12:1: I001 isort found an import in the wrong position
plone/app/users/browser/userdatapanel.py:13:1: I001 isort found an import in the wrong position
plone/app/users/browser/userdatapanel.py:14:1: I001 isort found an import in the wrong position
plone/app/users/browser/userdatapanel.py:16:1: I004 isort found an unexpected blank line in imports
plone/app/users/browser/userdatapanel.py:17:1: I001 isort found an import in the wrong position
plone/app/users/browser/userdatapanel.py:18:1: I001 isort found an import in the wrong position
plone/app/users/browser/userdatapanel.py:21:1: I004 isort found an unexpected blank line in imports
plone/app/users/browser/userdatapanel.py:24:1: E303 too many blank lines (3)
plone/app/users/browser/userdatapanel.py:48:37: Q000 Remove bad quotes.
plone/app/users/browser/userdatapanel.py:80:53: C812 missing trailing comma
plone/app/users/browser/userdatapanel.py:86:59: C812 missing trailing comma
plone/app/users/browser/userdatapanel.py:105:41: C812 missing trailing comma
plone/app/users/tests/__init__.py:0:1: C101 Coding magic comment not found
plone/app/users/tests/base.py:11:1: I001 isort found an import in the wrong position
plone/app/users/tests/base.py:15:1: I001 isort found an import in the wrong position
plone/app/users/tests/base.py:19:1: I001 isort found an import in the wrong position
plone/app/users/tests/base.py:20:1: I001 isort found an import in the wrong position
plone/app/users/tests/base.py:23:1: I004 isort found an unexpected blank line in imports
plone/app/users/tests/base.py:24:1: I001 isort found an import in the wrong position
plone/app/users/tests/base.py:25:1: I001 isort found an import in the wrong position
plone/app/users/tests/base.py:26:1: I001 isort found an import in the wrong position
plone/app/users/tests/base.py:40:50: W291 trailing whitespace
plone/app/users/tests/base.py:68:14: D001 found declarePrivate( replace it with AccessControl.ClassSecurityInfo.private
plone/app/users/tests/base.py:90:1: E302 expected 2 blank lines, found 1
plone/app/users/tests/base.py:97:1: E302 expected 2 blank lines, found 1
plone/app/users/tests/base.py:102:1: E302 expected 2 blank lines, found 1
plone/app/users/tests/base.py:113:5: E265 block comment should start with '# '
plone/app/users/tests/base.py:119:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/users/tests/base.py:121:1: E302 expected 2 blank lines, found 1
plone/app/users/tests/base.py:123:58: Q000 Remove bad quotes.
plone/app/users/tests/base.py:125:1: E302 expected 2 blank lines, found 1
plone/app/users/tests/base.py:132:1: E302 expected 2 blank lines, found 1
plone/app/users/tests/base.py:137:1: W391 blank line at end of file
plone/app/users/tests/test_doctests.py:3:1: I001 isort found an import in the wrong position
plone/app/users/tests/test_doctests.py:33:40: C812 missing trailing comma
plone/app/users/tests/test_exportimport.py:0:1: C101 Coding magic comment not found
plone/app/users/tests/test_exportimport.py:1:1: I001 isort found an import in the wrong position
plone/app/users/tests/test_exportimport.py:2:1: I001 isort found an import in the wrong position
plone/app/users/tests/test_exportimport.py:3:1: I001 isort found an import in the wrong position
plone/app/users/tests/test_exportimport.py:6:1: I001 isort found an import in the wrong position
plone/app/users/tests/test_exportimport.py:17:80: E501 line too long (438 > 79 characters)
plone/app/users/tests/test_exportimport.py:19:80: E501 line too long (81 > 79 characters)
plone/app/users/tests/test_exportimport.py:26:80: E501 line too long (84 > 79 characters)
plone/app/users/tests/test_exportimport.py:34:80: E501 line too long (85 > 79 characters)
plone/app/users/tests/test_exportimport.py:42:80: E501 line too long (101 > 79 characters)
plone/app/users/tests/test_exportimport.py:51:80: E501 line too long (82 > 79 characters)
plone/app/users/tests/test_exportimport.py:56:80: E501 line too long (89 > 79 characters)
plone/app/users/tests/test_exportimport.py:66:80: E501 line too long (85 > 79 characters)
plone/app/users/tests/test_exportimport.py:92:80: E501 line too long (83 > 79 characters)
plone/app/users/tests/test_exportimport.py:106:41: Q000 Remove bad quotes.
plone/app/users/tests/test_exportimport.py:109:23: Q000 Remove bad quotes.
plone/app/users/tests/test_exportimport.py:111:23: Q000 Remove bad quotes.
plone/app/users/tests/test_exportimport.py:114:23: Q000 Remove bad quotes.
plone/app/users/tests/test_exportimport.py:116:23: Q000 Remove bad quotes.
plone/app/users/tests/test_exportimport.py:119:23: Q000 Remove bad quotes.
plone/app/users/tests/test_exportimport.py:121:23: Q000 Remove bad quotes.
plone/app/users/tests/test_exportimport.py:124:23: Q000 Remove bad quotes.
plone/app/users/tests/test_exportimport.py:128:26: Q000 Remove bad quotes.
plone/app/users/tests/test_exportimport.py:130:23: Q000 Remove bad quotes.
plone/app/users/tests/test_exportimport.py:132:23: Q000 Remove bad quotes.
plone/app/users/tests/test_exportimport.py:135:23: Q000 Remove bad quotes.
plone/app/users/tests/test_exportimport.py:136:80: E501 line too long (81 > 79 characters)
plone/app/users/tests/test_exportimport.py:137:23: Q000 Remove bad quotes.
plone/app/users/tests/test_exportimport.py:140:23: Q000 Remove bad quotes.
plone/app/users/tests/test_exportimport.py:142:23: Q000 Remove bad quotes.
plone/app/users/tests/test_exportimport.py:145:23: Q000 Remove bad quotes.
plone/app/users/tests/test_exportimport.py:147:23: Q000 Remove bad quotes.
plone/app/users/tests/test_exportimport.py:150:23: Q000 Remove bad quotes.
plone/app/users/tests/test_exportimport.py:152:23: Q000 Remove bad quotes.
plone/app/users/tests/test_exportimport.py:155:23: Q000 Remove bad quotes.
plone/app/users/tests/test_exportimport.py:157:23: Q000 Remove bad quotes.
plone/app/users/tests/test_exportimport.py:160:23: Q000 Remove bad quotes.
plone/app/users/tests/test_exportimport.py:162:23: Q000 Remove bad quotes.
plone/app/users/tests/test_new_user.py:4:1: I001 isort found an import in the wrong position
plone/app/users/tests/test_new_user.py:13:62: C812 missing trailing comma
plone/app/users/tests/test_new_user.py:30:68: C812 missing trailing comma
plone/app/users/tests/test_new_user.py:43:62: C812 missing trailing comma
plone/app/users/tests/test_new_user.py:45:29: W291 trailing whitespace
plone/app/users/tests/test_new_user.py:64:14: D001 found assertEquals( replace it with assertEqual
plone/app/users/tests/test_new_user.py:66:14: D001 found assertEquals( replace it with assertEqual
plone/app/users/tests/test_new_user.py:67:14: D001 found assertEquals( replace it with assertEqual
plone/app/users/tests/test_new_user.py:84:14: D001 found assertEquals( replace it with assertEqual
plone/app/users/tests/test_new_user.py:85:14: D001 found assertEquals( replace it with assertEqual
plone/app/users/tests/test_new_user.py:87:14: D001 found assertEquals( replace it with assertEqual
plone/app/users/tests/test_new_user.py:88:14: D001 found assertEquals( replace it with assertEqual
plone/app/users/tests/test_new_user.py:104:14: D001 found assertEquals( replace it with assertEqual
plone/app/users/tests/test_new_user.py:105:14: D001 found assertEquals( replace it with assertEqual
plone/app/users/tests/test_new_user.py:107:14: D001 found assertEquals( replace it with assertEqual
plone/app/users/tests/test_new_user.py:108:14: D001 found assertEquals( replace it with assertEqual
plone/app/users/tests/test_new_user.py:126:14: D001 found assertEquals( replace it with assertEqual
plone/app/users/tests/test_new_user.py:127:14: D001 found assertEquals( replace it with assertEqual
plone/app/users/tests/test_new_user.py:129:14: D001 found assertEquals( replace it with assertEqual
plone/app/users/tests/test_new_user.py:130:14: D001 found assertEquals( replace it with assertEqual
plone/app/users/tests/test_new_user.py:148:14: D001 found assertEquals( replace it with assertEqual
plone/app/users/tests/test_new_user.py:150:14: D001 found assertEquals( replace it with assertEqual
plone/app/users/tests/test_new_user.py:154:14: D001 found assertEquals( replace it with assertEqual
plone/app/users/tests/test_new_user.py:172:14: D001 found assertEquals( replace it with assertEqual
plone/app/users/tests/test_new_user.py:173:14: D001 found assertEquals( replace it with assertEqual
plone/app/users/tests/test_new_user.py:175:14: D001 found assertEquals( replace it with assertEqual
plone/app/users/tests/test_new_user.py:179:14: D001 found assertEquals( replace it with assertEqual
plone/app/users/tests/test_pam.py:2:1: I001 isort found an import in the wrong position
plone/app/users/tests/test_pam.py:4:1: F401 'plone.app.users.browser.userdatapanel.UserDataPanel' imported but unused
plone/app/users/tests/test_pam.py:5:1: F401 'plone.app.users.testing.PLONE_APP_USERS_FUNCTIONAL_TESTING' imported but unused
plone/app/users/tests/test_pam.py:6:1: I001 isort found an import in the wrong position
plone/app/users/tests/test_pam.py:7:1: I001 isort found an import in the wrong position
plone/app/users/tests/test_pam.py:8:1: I001 isort found an import in the wrong position
plone/app/users/tests/test_pam.py:9:1: I001 isort found an import in the wrong position
plone/app/users/tests/test_pam.py:10:1: I001 isort found an import in the wrong position
plone/app/users/tests/test_pam.py:11:1: I001 isort found an import in the wrong position
plone/app/users/tests/test_pam.py:12:1: I001 isort found an import in the wrong position
plone/app/users/tests/test_pam.py:14:1: F401 'zExceptions.NotFound' imported but unused
plone/app/users/tests/test_pam.py:15:1: F401 'zope.i18n.translate' imported but unused
plone/app/users/tests/test_pam.py:17:1: F401 'transaction.commit' imported but unused
plone/app/users/tests/test_pam.py:17:1: I001 isort found an import in the wrong position
plone/app/users/tests/test_pam.py:18:1: F401 'unittest' imported but unused
plone/app/users/tests/test_pam.py:19:1: I003 isort expected 1 blank line in imports, found 0
plone/app/users/tests/test_pam.py:20:1: E302 expected 2 blank lines, found 1
plone/app/users/tests/test_pam.py:37:10: Q000 Remove bad quotes.
plone/app/users/tests/test_pam.py:46:44: S001 found module formatter
plone/app/users/tests/test_pam.py:46:80: E501 line too long (96 > 79 characters)
plone/app/users/tests/test_pam.py:48:80: E501 line too long (100 > 79 characters)
plone/app/users/tests/test_robot.py:0:1: C101 Coding magic comment not found
plone/app/users/tests/test_robot.py:1:1: I001 isort found an import in the wrong position
plone/app/users/tests/test_robot.py:2:1: I003 isort expected 1 blank line in imports, found 0
plone/app/users/tests/test_robot.py:3:1: F401 'robotsuite' imported but unused
plone/app/users/tests/test_robot.py:4:1: F401 'plone.app.users.testing.PLONE_APP_USERS_ROBOT' imported but unused
plone/app/users/tests/test_robot.py:4:1: I001 isort found an import in the wrong position
plone/app/users/tests/test_robot.py:5:1: F401 'plone.testing.layered' imported but unused
plone/app/users/tests/test_robot.py:5:1: I001 isort found an import in the wrong position
plone/app/users/tests/test_robot.py:11:53: Q000 Remove bad quotes.
plone/app/users/tests/test_robot.py:12:9: F841 local variable 'testfilepath' is assigned to but never used
plone/app/users/tests/test_robot.py:12:37: Q000 Remove bad quotes.
plone/app/users/tests/test_schema_types.py:0:1: C101 Coding magic comment not found
plone/app/users/tests/test_schema_types.py:2:1: I001 isort found an import in the wrong position
plone/app/users/tests/test_schema_types.py:8:1: I003 isort expected 1 blank line in imports, found 0
plone/app/users/tests/test_schema_types.py:16:80: E501 line too long (438 > 79 characters)
plone/app/users/tests/test_schema_types.py:18:80: E501 line too long (81 > 79 characters)
plone/app/users/tests/test_schema_types.py:25:80: E501 line too long (84 > 79 characters)
plone/app/users/tests/test_schema_types.py:33:80: E501 line too long (85 > 79 characters)
plone/app/users/tests/test_schema_types.py:41:80: E501 line too long (101 > 79 characters)
plone/app/users/tests/test_schema_types.py:50:80: E501 line too long (82 > 79 characters)
plone/app/users/tests/test_schema_types.py:55:80: E501 line too long (89 > 79 characters)
plone/app/users/tests/test_schema_types.py:65:80: E501 line too long (85 > 79 characters)
plone/app/users/tests/test_schema_types.py:91:80: E501 line too long (83 > 79 characters)
plone/app/users/tests/test_schema_types.py:113:27: Q000 Remove bad quotes.
plone/app/users/tests/test_schema_types.py:119:41: Q000 Remove bad quotes.
plone/app/users/tests/test_schema_types.py:119:80: E501 line too long (80 > 79 characters)
plone/app/users/tests/test_schema_types.py:120:80: E501 line too long (116 > 79 characters)
plone/app/users/tests/test_schema_types.py:120:87: Q000 Remove bad quotes.
plone/app/users/tests/test_schema_types.py:120:100: Q000 Remove bad quotes.
plone/app/users/tests/test_schema_types.py:140:80: E501 line too long (84 > 79 characters)
plone/app/users/tests/test_user_data_panel.py:0:1: C101 Coding magic comment not found
plone/app/users/tests/test_user_data_panel.py:1:1: I001 isort found an import in the wrong position
plone/app/users/tests/test_user_data_panel.py:17:30: C812 missing trailing comma
plone/app/users/tests/test_user_data_panel.py:29:62: C812 missing trailing comma
plone/app/users/tests/test_userid_generator.py:3:1: F401 'Products.CMFPlone.interfaces.ISecuritySchema' imported but unused
plone/app/users/tests/test_userid_generator.py:3:1: I001 isort found an import in the wrong position
plone/app/users/tests/test_userid_generator.py:8:1: F401 'plone.registry.interfaces.IRegistry' imported but unused
plone/app/users/tests/test_userid_generator.py:10:1: F401 'zope.component.getUtility' imported but unused
```
Follow [these instructions](https://github.com/plone/jenkins.plone.org/blob/master/docs/source/run-qa-on-package.rst) to reproduce it locally.


@gforcada Jenkins CI reporting about code analysis
See the full report here: https://jenkins.plone.org/job/package-plone.app.users/93/violations
```
plone/app/users/schema.py:22:21: Q000 Remove bad quotes.
plone/app/users/schema.py:24:16: Q000 Remove bad quotes.
plone/app/users/schema.py:34:11: T000 Todo note found.
plone/app/users/schema.py:78:31: Q000 Remove bad quotes.
plone/app/users/schema.py:97:21: Q000 Remove bad quotes.
plone/app/users/schema.py:98:21: Q000 Remove bad quotes.
plone/app/users/schema.py:99:21: Q000 Remove bad quotes.
plone/app/users/schema.py:99:76: C812 missing trailing comma
plone/app/users/schema.py:100:10: C812 missing trailing comma
plone/app/users/schema.py:112:31: Q000 Remove bad quotes.
plone/app/users/schema.py:113:23: Q000 Remove bad quotes.
plone/app/users/schema.py:117:25: Q000 Remove bad quotes.
plone/app/users/schema.py:118:17: Q000 Remove bad quotes.
plone/app/users/schema.py:158:16: S001 found module formatter
plone/app/users/schema.py:172:48: C812 missing trailing comma
plone/app/users/schema.py:175:13: Q000 Remove bad quotes.
plone/app/users/schema.py:176:22: Q000 Remove bad quotes.
plone/app/users/schema.py:177:22: Q000 Remove bad quotes.
plone/app/users/schema.py:178:22: Q000 Remove bad quotes.
plone/app/users/schema.py:179:22: Q000 Remove bad quotes.
plone/app/users/schema.py:180:22: Q000 Remove bad quotes.
plone/app/users/schema.py:181:22: Q000 Remove bad quotes.
plone/app/users/vocabularies.py:3:1: I001 isort found an import in the wrong position
plone/app/users/vocabularies.py:43:80: E501 line too long (130 > 79 characters)
plone/app/users/vocabularies.py:117:25: S001 found module formatter
plone/app/users/field_extender.py:29:15: Q000 Remove bad quotes.
plone/app/users/field_extender.py:30:21: Q000 Remove bad quotes.
plone/app/users/field_extender.py:45:5: D001 found adapts( replace it with zope.component.adapter
plone/app/users/field_extender.py:74:56: Q000 Remove bad quotes.
plone/app/users/utils.py:22:65: C812 missing trailing comma
plone/app/users/utils.py:23:10: C812 missing trailing comma
plone/app/users/setuphandlers.py:7:1: I003 isort expected 1 blank line in imports, found 0
plone/app/users/upgrades.py:17:25: Q000 Remove bad quotes.
plone/app/users/upgrades.py:40:31: Q000 Remove bad quotes.
plone/app/users/upgrades.py:41:23: Q000 Remove bad quotes.
plone/app/users/upgrades.py:52:31: Q000 Remove bad quotes.
plone/app/users/upgrades.py:53:23: Q000 Remove bad quotes.
plone/app/users/upgrades.py:54:23: Q000 Remove bad quotes.
plone/app/users/upgrades.py:65:31: Q000 Remove bad quotes.
plone/app/users/upgrades.py:66:23: Q000 Remove bad quotes.
plone/app/users/upgrades.py:67:23: Q000 Remove bad quotes.
plone/app/users/upgrades.py:81:72: C812 missing trailing comma
plone/app/users/upgrades.py:98:33: Q000 Remove bad quotes.
plone/app/users/upgrades.py:114:9: E128 continuation line under-indented for visual indent
plone/app/users/upgrades.py:115:20: C812 missing trailing comma
plone/app/users/browser/account.py:31:16: Q000 Remove bad quotes.
plone/app/users/browser/account.py:32:16: Q000 Remove bad quotes.
plone/app/users/browser/account.py:36:16: Q000 Remove bad quotes.
plone/app/users/browser/account.py:37:16: Q000 Remove bad quotes.
plone/app/users/browser/account.py:38:16: Q000 Remove bad quotes.
plone/app/users/browser/account.py:77:44: C812 missing trailing comma
plone/app/users/browser/account.py:91:39: P002 found "hasattr", consider replacing it
plone/app/users/browser/account.py:138:24: Q000 Remove bad quotes.
plone/app/users/browser/account.py:139:26: Q000 Remove bad quotes.
plone/app/users/browser/account.py:170:20: P101 format string does contain unindexed parameters
plone/app/users/browser/account.py:187:41: Q000 Remove bad quotes.
plone/app/users/browser/account.py:232:57: Q000 Remove bad quotes.
plone/app/users/browser/account.py:233:60: Q000 Remove bad quotes.
plone/app/users/browser/account.py:235:13: S001 found module formatter
plone/app/users/browser/account.py:235:68: C812 missing trailing comma
plone/app/users/browser/membersearch.py:18:46: C812 missing trailing comma
plone/app/users/browser/register.py:53:41: C812 missing trailing comma
plone/app/users/browser/register.py:63:13: Q000 Remove bad quotes.
plone/app/users/browser/register.py:64:19: Q000 Remove bad quotes.
plone/app/users/browser/register.py:79:62: Q000 Remove bad quotes.
plone/app/users/browser/register.py:100:59: Q000 Remove bad quotes.
plone/app/users/browser/register.py:101:17: Q000 Remove bad quotes.
plone/app/users/browser/register.py:102:17: Q000 Remove bad quotes.
plone/app/users/browser/register.py:103:17: Q000 Remove bad quotes.
plone/app/users/browser/register.py:108:25: Q000 Remove bad quotes.
plone/app/users/browser/register.py:109:25: Q000 Remove bad quotes.
plone/app/users/browser/register.py:110:25: Q000 Remove bad quotes.
plone/app/users/browser/register.py:111:25: Q000 Remove bad quotes.
plone/app/users/browser/register.py:111:50: C812 missing trailing comma
plone/app/users/browser/register.py:125:49: C812 missing trailing comma
plone/app/users/browser/register.py:129:5: C901 'BaseRegistrationForm.generate_user_id' is too complex (12)
plone/app/users/browser/register.py:206:12: P002 found "hasattr", consider replacing it
plone/app/users/browser/register.py:217:22: Q000 Remove bad quotes.
plone/app/users/browser/register.py:217:22: S001 found module formatter
plone/app/users/browser/register.py:276:5: C901 'BaseRegistrationForm.validate_registration' is too complex (17)
plone/app/users/browser/register.py:352:29: Q000 Remove bad quotes.
plone/app/users/browser/register.py:353:29: Q000 Remove bad quotes.
plone/app/users/browser/register.py:360:29: Q000 Remove bad quotes.
plone/app/users/browser/register.py:361:29: Q000 Remove bad quotes.
plone/app/users/browser/register.py:371:29: Q000 Remove bad quotes.
plone/app/users/browser/register.py:372:29: Q000 Remove bad quotes.
plone/app/users/browser/register.py:380:37: Q000 Remove bad quotes.
plone/app/users/browser/register.py:381:29: Q000 Remove bad quotes.
plone/app/users/browser/register.py:388:67: C812 missing trailing comma
plone/app/users/browser/register.py:404:11: T000 Todo note found.
plone/app/users/browser/register.py:413:5: C901 'BaseRegistrationForm.handle_join_success' is too complex (13)
plone/app/users/browser/register.py:450:69: Q000 Remove bad quotes.
plone/app/users/browser/register.py:493:35: Q000 Remove bad quotes.
plone/app/users/browser/register.py:494:27: Q000 Remove bad quotes.
plone/app/users/browser/register.py:495:27: Q000 Remove bad quotes.
plone/app/users/browser/register.py:504:35: Q000 Remove bad quotes.
plone/app/users/browser/register.py:505:27: Q000 Remove bad quotes.
plone/app/users/browser/register.py:506:27: Q000 Remove bad quotes.
plone/app/users/browser/register.py:549:19: Q000 Remove bad quotes.
plone/app/users/browser/register.py:607:25: Q000 Remove bad quotes.
plone/app/users/browser/register.py:608:25: Q000 Remove bad quotes.
plone/app/users/browser/register.py:609:25: Q000 Remove bad quotes.
plone/app/users/browser/register.py:610:25: Q000 Remove bad quotes.
plone/app/users/browser/register.py:617:19: Q000 Remove bad quotes.
plone/app/users/browser/register.py:658:65: C812 missing trailing comma
plone/app/users/browser/register.py:667:25: Q000 Remove bad quotes.
plone/app/users/browser/register.py:668:25: Q000 Remove bad quotes.
plone/app/users/browser/register.py:669:25: Q000 Remove bad quotes.
plone/app/users/browser/register.py:670:25: Q000 Remove bad quotes.
plone/app/users/browser/register.py:670:79: C812 missing trailing comma
plone/app/users/browser/register.py:676:67: C812 missing trailing comma
plone/app/users/browser/register.py:706:69: Q000 Remove bad quotes.
plone/app/users/browser/register.py:710:15: Q000 Remove bad quotes.
plone/app/users/browser/personalpreferences.py:34:46: C812 missing trailing comma
plone/app/users/browser/personalpreferences.py:36:20: Q000 Remove bad quotes.
plone/app/users/browser/personalpreferences.py:43:20: Q000 Remove bad quotes.
plone/app/users/browser/personalpreferences.py:44:23: C812 missing trailing comma
plone/app/users/browser/personalpreferences.py:82:41: C812 missing trailing comma
plone/app/users/browser/personalpreferences.py:88:50: C812 missing trailing comma
plone/app/users/browser/personalpreferences.py:95:13: Q000 Remove bad quotes.
plone/app/users/browser/personalpreferences.py:96:13: Q000 Remove bad quotes.
plone/app/users/browser/personalpreferences.py:96:47: C812 missing trailing comma
plone/app/users/browser/personalpreferences.py:99:13: Q000 Remove bad quotes.
plone/app/users/browser/personalpreferences.py:100:13: Q000 Remove bad quotes.
plone/app/users/browser/personalpreferences.py:100:32: C812 missing trailing comma
plone/app/users/browser/registersettingspanel.py:15:15: Q000 Remove bad quotes.
plone/app/users/browser/registersettingspanel.py:16:21: Q000 Remove bad quotes.
plone/app/users/browser/registersettingspanel.py:17:19: Q000 Remove bad quotes.
plone/app/users/browser/registersettingspanel.py:33:20: C812 missing trailing comma
plone/app/users/browser/registersettingspanel.py:51:49: C812 missing trailing comma
plone/app/users/browser/registersettingspanel.py:53:21: Q000 Remove bad quotes.
plone/app/users/browser/registersettingspanel.py:55:21: Q000 Remove bad quotes.
plone/app/users/browser/registersettingspanel.py:56:65: Q000 Remove bad quotes.
plone/app/users/browser/passwordpanel.py:30:21: Q000 Remove bad quotes.
plone/app/users/browser/passwordpanel.py:37:21: Q000 Remove bad quotes.
plone/app/users/browser/passwordpanel.py:38:13: Q000 Remove bad quotes.
plone/app/users/browser/passwordpanel.py:61:21: Q000 Remove bad quotes.
plone/app/users/browser/passwordpanel.py:76:45: C812 missing trailing comma
plone/app/users/browser/passwordpanel.py:93:29: Q000 Remove bad quotes.
plone/app/users/browser/passwordpanel.py:113:28: C812 missing trailing comma
plone/app/users/browser/passwordpanel.py:139:38: Q000 Remove bad quotes.
plone/app/users/browser/passwordpanel.py:139:45: C812 missing trailing comma
plone/app/users/browser/passwordpanel.py:144:15: Q000 Remove bad quotes.
plone/app/users/browser/passwordpanel.py:144:41: Q000 Remove bad quotes.
plone/app/users/browser/passwordpanel.py:144:47: C812 missing trailing comma
plone/app/users/browser/schemaeditor.py:49:5: Q000 Remove bad quotes.
plone/app/users/browser/schemaeditor.py:50:5: Q000 Remove bad quotes.
plone/app/users/browser/schemaeditor.py:51:5: Q000 Remove bad quotes.
plone/app/users/browser/schemaeditor.py:52:5: Q000 Remove bad quotes.
plone/app/users/browser/schemaeditor.py:53:5: Q000 Remove bad quotes.
plone/app/users/browser/schemaeditor.py:54:5: Q000 Remove bad quotes.
plone/app/users/browser/schemaeditor.py:55:5: Q000 Remove bad quotes.
plone/app/users/browser/schemaeditor.py:56:5: Q000 Remove bad quotes.
plone/app/users/browser/schemaeditor.py:57:5: Q000 Remove bad quotes.
plone/app/users/browser/schemaeditor.py:58:5: Q000 Remove bad quotes.
plone/app/users/browser/schemaeditor.py:59:5: Q000 Remove bad quotes.
plone/app/users/browser/schemaeditor.py:60:5: Q000 Remove bad quotes.
plone/app/users/browser/schemaeditor.py:61:5: Q000 Remove bad quotes.
plone/app/users/browser/schemaeditor.py:98:15: Q000 Remove bad quotes.
plone/app/users/browser/schemaeditor.py:111:21: Q000 Remove bad quotes.
plone/app/users/browser/schemaeditor.py:139:30: Q000 Remove bad quotes.
plone/app/users/browser/schemaeditor.py:146:17: S001 found module formatter
plone/app/users/browser/schemaeditor.py:220:33: Q000 Remove bad quotes.
plone/app/users/browser/schemaeditor.py:225:28: Q000 Remove bad quotes.
plone/app/users/browser/schemaeditor.py:226:31: Q000 Remove bad quotes.
plone/app/users/browser/schemaeditor.py:229:17: B901 blind except: statement
plone/app/users/browser/schemaeditor.py:232:26: Q000 Remove bad quotes.
plone/app/users/browser/schemaeditor.py:233:26: Q000 Remove bad quotes.
plone/app/users/browser/schemaeditor.py:238:31: Q000 Remove bad quotes.
plone/app/users/browser/schemaeditor.py:238:46: Q000 Remove bad quotes.
plone/app/users/browser/schemaeditor.py:240:21: Q000 Remove bad quotes.
plone/app/users/browser/schemaeditor.py:240:21: S001 found module formatter
plone/app/users/browser/schemaeditor.py:242:21: Q000 Remove bad quotes.
plone/app/users/browser/schemaeditor.py:242:21: S001 found module formatter
plone/app/users/browser/schemaeditor.py:251:25: Q000 Remove bad quotes.
plone/app/users/browser/schemaeditor.py:251:25: S001 found module formatter
plone/app/users/browser/schemaeditor.py:302:19: C812 missing trailing comma
plone/app/users/browser/schemaeditor.py:312:19: C812 missing trailing comma
plone/app/users/browser/userdatapanel.py:46:37: Q000 Remove bad quotes.
plone/app/users/browser/userdatapanel.py:78:53: C812 missing trailing comma
plone/app/users/browser/userdatapanel.py:84:59: C812 missing trailing comma
plone/app/users/browser/userdatapanel.py:103:41: C812 missing trailing comma
plone/app/users/tests/base.py:11:1: F401 'plone.app.testing.setRoles' imported but unused
plone/app/users/tests/base.py:12:1: I001 isort found an import in the wrong position
plone/app/users/tests/base.py:72:14: D001 found declarePrivate( replace it with AccessControl.ClassSecurityInfo.private
plone/app/users/tests/base.py:132:58: Q000 Remove bad quotes.
plone/app/users/tests/test_exportimport.py:5:1: F401 'plone.app.users.testing.PLONE_APP_USERS_FUNCTIONAL_TESTING' imported but unused
plone/app/users/tests/test_exportimport.py:18:80: E501 line too long (438 > 79 characters)
plone/app/users/tests/test_exportimport.py:20:80: E501 line too long (81 > 79 characters)
plone/app/users/tests/test_exportimport.py:27:80: E501 line too long (84 > 79 characters)
plone/app/users/tests/test_exportimport.py:35:80: E501 line too long (85 > 79 characters)
plone/app/users/tests/test_exportimport.py:43:80: E501 line too long (101 > 79 characters)
plone/app/users/tests/test_exportimport.py:52:80: E501 line too long (82 > 79 characters)
plone/app/users/tests/test_exportimport.py:57:80: E501 line too long (89 > 79 characters)
plone/app/users/tests/test_exportimport.py:67:80: E501 line too long (85 > 79 characters)
plone/app/users/tests/test_exportimport.py:93:80: E501 line too long (83 > 79 characters)
plone/app/users/tests/test_exportimport.py:107:41: Q000 Remove bad quotes.
plone/app/users/tests/test_exportimport.py:110:23: Q000 Remove bad quotes.
plone/app/users/tests/test_exportimport.py:112:23: Q000 Remove bad quotes.
plone/app/users/tests/test_exportimport.py:115:23: Q000 Remove bad quotes.
plone/app/users/tests/test_exportimport.py:117:23: Q000 Remove bad quotes.
plone/app/users/tests/test_exportimport.py:120:23: Q000 Remove bad quotes.
plone/app/users/tests/test_exportimport.py:122:23: Q000 Remove bad quotes.
plone/app/users/tests/test_exportimport.py:125:23: Q000 Remove bad quotes.
plone/app/users/tests/test_exportimport.py:129:26: Q000 Remove bad quotes.
plone/app/users/tests/test_exportimport.py:131:23: Q000 Remove bad quotes.
plone/app/users/tests/test_exportimport.py:133:23: Q000 Remove bad quotes.
plone/app/users/tests/test_exportimport.py:136:23: Q000 Remove bad quotes.
plone/app/users/tests/test_exportimport.py:137:80: E501 line too long (81 > 79 characters)
plone/app/users/tests/test_exportimport.py:138:23: Q000 Remove bad quotes.
plone/app/users/tests/test_exportimport.py:141:23: Q000 Remove bad quotes.
plone/app/users/tests/test_exportimport.py:143:23: Q000 Remove bad quotes.
plone/app/users/tests/test_exportimport.py:146:23: Q000 Remove bad quotes.
plone/app/users/tests/test_exportimport.py:148:23: Q000 Remove bad quotes.
plone/app/users/tests/test_exportimport.py:151:23: Q000 Remove bad quotes.
plone/app/users/tests/test_exportimport.py:153:23: Q000 Remove bad quotes.
plone/app/users/tests/test_exportimport.py:156:23: Q000 Remove bad quotes.
plone/app/users/tests/test_exportimport.py:158:23: Q000 Remove bad quotes.
plone/app/users/tests/test_exportimport.py:161:23: Q000 Remove bad quotes.
plone/app/users/tests/test_exportimport.py:163:23: Q000 Remove bad quotes.
plone/app/users/tests/test_pam.py:7:1: I001 isort found an import in the wrong position
plone/app/users/tests/test_pam.py:9:1: F401 'plone.app.users.browser.userdatapanel.UserDataPanel' imported but unused
plone/app/users/tests/test_pam.py:10:1: F401 'plone.app.users.testing.PLONE_APP_USERS_FUNCTIONAL_TESTING' imported but unused
plone/app/users/tests/test_pam.py:13:1: F401 'transaction.commit' imported but unused
plone/app/users/tests/test_pam.py:14:1: F401 'zExceptions.NotFound' imported but unused
plone/app/users/tests/test_pam.py:15:1: F401 'zope.i18n.translate' imported but unused
plone/app/users/tests/test_pam.py:37:10: Q000 Remove bad quotes.
plone/app/users/tests/test_pam.py:46:44: S001 found module formatter
plone/app/users/tests/test_pam.py:46:80: E501 line too long (96 > 79 characters)
plone/app/users/tests/test_pam.py:48:80: E501 line too long (100 > 79 characters)
plone/app/users/tests/test_new_user.py:13:62: C812 missing trailing comma
plone/app/users/tests/test_new_user.py:30:68: C812 missing trailing comma
plone/app/users/tests/test_new_user.py:43:62: C812 missing trailing comma
plone/app/users/tests/test_new_user.py:64:14: D001 found assertEquals( replace it with assertEqual
plone/app/users/tests/test_new_user.py:66:14: D001 found assertEquals( replace it with assertEqual
plone/app/users/tests/test_new_user.py:67:14: D001 found assertEquals( replace it with assertEqual
plone/app/users/tests/test_new_user.py:84:14: D001 found assertEquals( replace it with assertEqual
plone/app/users/tests/test_new_user.py:85:14: D001 found assertEquals( replace it with assertEqual
plone/app/users/tests/test_new_user.py:87:14: D001 found assertEquals( replace it with assertEqual
plone/app/users/tests/test_new_user.py:88:14: D001 found assertEquals( replace it with assertEqual
plone/app/users/tests/test_new_user.py:104:14: D001 found assertEquals( replace it with assertEqual
plone/app/users/tests/test_new_user.py:105:14: D001 found assertEquals( replace it with assertEqual
plone/app/users/tests/test_new_user.py:107:14: D001 found assertEquals( replace it with assertEqual
plone/app/users/tests/test_new_user.py:108:14: D001 found assertEquals( replace it with assertEqual
plone/app/users/tests/test_new_user.py:126:14: D001 found assertEquals( replace it with assertEqual
plone/app/users/tests/test_new_user.py:127:14: D001 found assertEquals( replace it with assertEqual
plone/app/users/tests/test_new_user.py:129:14: D001 found assertEquals( replace it with assertEqual
plone/app/users/tests/test_new_user.py:130:14: D001 found assertEquals( replace it with assertEqual
plone/app/users/tests/test_new_user.py:148:14: D001 found assertEquals( replace it with assertEqual
plone/app/users/tests/test_new_user.py:150:14: D001 found assertEquals( replace it with assertEqual
plone/app/users/tests/test_new_user.py:154:14: D001 found assertEquals( replace it with assertEqual
plone/app/users/tests/test_new_user.py:172:14: D001 found assertEquals( replace it with assertEqual
plone/app/users/tests/test_new_user.py:173:14: D001 found assertEquals( replace it with assertEqual
plone/app/users/tests/test_new_user.py:175:14: D001 found assertEquals( replace it with assertEqual
plone/app/users/tests/test_new_user.py:179:14: D001 found assertEquals( replace it with assertEqual
plone/app/users/tests/test_schema_types.py:7:1: F401 'plone.app.users.testing.PLONE_APP_USERS_FUNCTIONAL_TESTING' imported but unused
plone/app/users/tests/test_schema_types.py:10:1: I001 isort found an import in the wrong position
plone/app/users/tests/test_schema_types.py:19:80: E501 line too long (438 > 79 characters)
plone/app/users/tests/test_schema_types.py:21:80: E501 line too long (81 > 79 characters)
plone/app/users/tests/test_schema_types.py:28:80: E501 line too long (84 > 79 characters)
plone/app/users/tests/test_schema_types.py:36:80: E501 line too long (85 > 79 characters)
plone/app/users/tests/test_schema_types.py:44:80: E501 line too long (101 > 79 characters)
plone/app/users/tests/test_schema_types.py:53:80: E501 line too long (82 > 79 characters)
plone/app/users/tests/test_schema_types.py:58:80: E501 line too long (89 > 79 characters)
plone/app/users/tests/test_schema_types.py:68:80: E501 line too long (85 > 79 characters)
plone/app/users/tests/test_schema_types.py:94:80: E501 line too long (83 > 79 characters)
plone/app/users/tests/test_schema_types.py:116:27: Q000 Remove bad quotes.
plone/app/users/tests/test_schema_types.py:122:41: Q000 Remove bad quotes.
plone/app/users/tests/test_schema_types.py:122:80: E501 line too long (80 > 79 characters)
plone/app/users/tests/test_schema_types.py:123:80: E501 line too long (116 > 79 characters)
plone/app/users/tests/test_schema_types.py:123:87: Q000 Remove bad quotes.
plone/app/users/tests/test_schema_types.py:123:100: Q000 Remove bad quotes.
plone/app/users/tests/test_schema_types.py:143:80: E501 line too long (84 > 79 characters)
plone/app/users/tests/test_doctests.py:36:80: E501 line too long (86 > 79 characters)
plone/app/users/tests/test_user_data_panel.py:2:1: F401 'plone.app.testing.applyProfile' imported but unused
plone/app/users/tests/test_user_data_panel.py:4:1: F401 'plone.app.users.testing.PLONE_APP_USERS_FUNCTIONAL_TESTING' imported but unused
plone/app/users/tests/test_user_data_panel.py:16:30: C812 missing trailing comma
plone/app/users/tests/test_user_data_panel.py:28:62: C812 missing trailing comma
plone/app/users/tests/test_account.py:2:1: I001 isort found an import in the wrong position
plone/app/users/tests/test_account.py:4:1: F401 'plone.app.users.tests.base.BaseTestCase' imported but unused
plone/app/users/tests/test_account.py:7:1: I001 isort found an import in the wrong position
plone/app/users/tests/test_account.py:8:1: I003 isort expected 1 blank line in imports, found 0
plone/app/users/tests/test_robot.py:2:1: F401 'plone.app.users.testing.PLONE_APP_USERS_ACCEPTANCE_TESTING' imported but unused
plone/app/users/tests/test_robot.py:3:1: F401 'plone.testing.layered' imported but unused
plone/app/users/tests/test_robot.py:6:1: F401 'robotsuite' imported but unused
plone/app/users/tests/test_robot.py:13:53: Q000 Remove bad quotes.
plone/app/users/tests/test_robot.py:14:9: F841 local variable 'testfilepath' is assigned to but never used
plone/app/users/tests/test_robot.py:14:37: Q000 Remove bad quotes.
```
Follow [these instructions](https://github.com/plone/jenkins.plone.org/blob/master/docs/source/run-qa-on-package.rst) to reproduce it locally.