@pbauer Jenkins CI reporting about code analysis
See the full report here: https://jenkins.plone.org/job/package-plone.app.users/92/violations
```
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: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/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/utils.py:22:65: C812 missing trailing comma
plone/app/users/utils.py:23:10: C812 missing trailing comma
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/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/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/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/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/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/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_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_doctests.py:36:80: E501 line too long (86 > 79 characters)
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_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_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_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.
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_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
```
Follow [these instructions](https://github.com/plone/jenkins.plone.org/blob/master/docs/source/run-qa-on-package.rst) to reproduce it locally.


@pbauer Jenkins CI reporting about code analysis
See the full report here: https://jenkins.plone.org/job/package-plone.app.users/90/violations
```
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: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/setuphandlers.py:5:1: I003 isort expected 1 blank line in imports, found 0
plone/app/users/testing.py:18:10: Q000 Remove bad quotes.
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/utils.py:22:65: C812 missing trailing comma
plone/app/users/utils.py:23:10: C812 missing trailing comma
plone/app/users/vocabularies.py:44:80: E501 line too long (130 > 79 characters)
plone/app/users/vocabularies.py:118:25: S001 found module formatter
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:73: 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:18:46: C812 missing trailing comma
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: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/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:505:35: Q000 Remove bad quotes.
plone/app/users/browser/register.py:506:27: Q000 Remove bad quotes.
plone/app/users/browser/register.py:507:27: Q000 Remove bad quotes.
plone/app/users/browser/register.py:553:19: Q000 Remove bad quotes.
plone/app/users/browser/register.py:611:25: Q000 Remove bad quotes.
plone/app/users/browser/register.py:612:25: Q000 Remove bad quotes.
plone/app/users/browser/register.py:613:25: Q000 Remove bad quotes.
plone/app/users/browser/register.py:614:25: Q000 Remove bad quotes.
plone/app/users/browser/register.py:621:19: Q000 Remove bad quotes.
plone/app/users/browser/register.py:662:65: C812 missing trailing comma
plone/app/users/browser/register.py:671:25: Q000 Remove bad quotes.
plone/app/users/browser/register.py:672:25: Q000 Remove bad quotes.
plone/app/users/browser/register.py:673:25: Q000 Remove bad quotes.
plone/app/users/browser/register.py:674:25: Q000 Remove bad quotes.
plone/app/users/browser/register.py:674:79: C812 missing trailing comma
plone/app/users/browser/register.py:680:67: C812 missing trailing comma
plone/app/users/browser/register.py:709:69: Q000 Remove bad quotes.
plone/app/users/browser/register.py:713:15: Q000 Remove bad quotes.
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/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:67:14: D001 found declarePrivate( replace it with AccessControl.ClassSecurityInfo.private
plone/app/users/tests/base.py:127:58: Q000 Remove bad quotes.
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:6:1: I001 isort found an import in the wrong position
plone/app/users/tests/test_account.py:7:1: I003 isort expected 1 blank line in imports, found 0
plone/app/users/tests/test_doctests.py:33:40: C812 missing trailing comma
plone/app/users/tests/test_exportimport.py:19:80: E501 line too long (438 > 79 characters)
plone/app/users/tests/test_exportimport.py:21:80: E501 line too long (81 > 79 characters)
plone/app/users/tests/test_exportimport.py:28:80: E501 line too long (84 > 79 characters)
plone/app/users/tests/test_exportimport.py:36:80: E501 line too long (85 > 79 characters)
plone/app/users/tests/test_exportimport.py:44:80: E501 line too long (101 > 79 characters)
plone/app/users/tests/test_exportimport.py:53:80: E501 line too long (82 > 79 characters)
plone/app/users/tests/test_exportimport.py:58:80: E501 line too long (89 > 79 characters)
plone/app/users/tests/test_exportimport.py:68:80: E501 line too long (85 > 79 characters)
plone/app/users/tests/test_exportimport.py:94:80: E501 line too long (83 > 79 characters)
plone/app/users/tests/test_exportimport.py:108:41: Q000 Remove bad quotes.
plone/app/users/tests/test_exportimport.py:111:23: Q000 Remove bad quotes.
plone/app/users/tests/test_exportimport.py:113: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:118: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:123:23: Q000 Remove bad quotes.
plone/app/users/tests/test_exportimport.py:126:23: Q000 Remove bad quotes.
plone/app/users/tests/test_exportimport.py:130:26: Q000 Remove bad quotes.
plone/app/users/tests/test_exportimport.py:132:23: Q000 Remove bad quotes.
plone/app/users/tests/test_exportimport.py:134:23: Q000 Remove bad quotes.
plone/app/users/tests/test_exportimport.py:137:23: Q000 Remove bad quotes.
plone/app/users/tests/test_exportimport.py:138:80: E501 line too long (81 > 79 characters)
plone/app/users/tests/test_exportimport.py:139: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:144: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:149: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:154: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:159:23: Q000 Remove bad quotes.
plone/app/users/tests/test_exportimport.py:162:23: Q000 Remove bad quotes.
plone/app/users/tests/test_exportimport.py:164:23: Q000 Remove bad quotes.
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_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:2:1: F401 'plone.app.users.testing.PLONE_APP_USERS_ROBOT' 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.
plone/app/users/tests/test_schema_types.py:20:80: E501 line too long (438 > 79 characters)
plone/app/users/tests/test_schema_types.py:22:80: E501 line too long (81 > 79 characters)
plone/app/users/tests/test_schema_types.py:29:80: E501 line too long (84 > 79 characters)
plone/app/users/tests/test_schema_types.py:37:80: E501 line too long (85 > 79 characters)
plone/app/users/tests/test_schema_types.py:45:80: E501 line too long (101 > 79 characters)
plone/app/users/tests/test_schema_types.py:54:80: E501 line too long (82 > 79 characters)
plone/app/users/tests/test_schema_types.py:59:80: E501 line too long (89 > 79 characters)
plone/app/users/tests/test_schema_types.py:69:80: E501 line too long (85 > 79 characters)
plone/app/users/tests/test_schema_types.py:95:80: E501 line too long (83 > 79 characters)
plone/app/users/tests/test_schema_types.py:117:27: Q000 Remove bad quotes.
plone/app/users/tests/test_schema_types.py:123:41: Q000 Remove bad quotes.
plone/app/users/tests/test_schema_types.py:123:80: E501 line too long (80 > 79 characters)
plone/app/users/tests/test_schema_types.py:124:80: E501 line too long (116 > 79 characters)
plone/app/users/tests/test_schema_types.py:124:87: Q000 Remove bad quotes.
plone/app/users/tests/test_schema_types.py:124:100: Q000 Remove bad quotes.
plone/app/users/tests/test_schema_types.py:144:80: E501 line too long (84 > 79 characters)
plone/app/users/tests/test_user_data_panel.py:2:1: F401 'Products.CMFCore.utils.getToolByName' imported but unused
plone/app/users/tests/test_user_data_panel.py:2:1: I001 isort found an import in the wrong position
plone/app/users/tests/test_user_data_panel.py:5:1: F401 'plone.app.testing.applyProfile' imported but unused
plone/app/users/tests/test_user_data_panel.py:5:1: I001 isort found an import in the wrong position
plone/app/users/tests/test_user_data_panel.py:6:1: I001 isort found an import in the wrong position
plone/app/users/tests/test_user_data_panel.py:7:1: F401 'plone.testing.z2' imported but unused
plone/app/users/tests/test_user_data_panel.py:11:1: F401 'unittest' imported but unused
plone/app/users/tests/test_user_data_panel.py:22:30: C812 missing trailing comma
plone/app/users/tests/test_user_data_panel.py:34:62: C812 missing trailing comma
```
Follow [these instructions](https://github.com/plone/jenkins.plone.org/blob/master/docs/source/run-qa-on-package.rst) to reproduce it locally.


I cannot compile typescript at this point, because type of yargs.argv.target is unknown.


test


I don't use typescript, so i don't know much but i got one question should @types be included in dependencies?

should it not be optional like putting it in peerDependencies or devDependencies


Deployment failed with the following error:

~~~
The property `type` is not allowed in now.json when using Now 2.0 – please remove it.
~~~


@jedisct1 Is there currently a way to compile this Pod with Xcode 10.2? Just installed the beta and trying to fix build errors. Thank you!


Now could not deploy this pull request as it was unable to determine the deployment type.
The repo contains both a Dockerfile and a package.json.

To fix this, set the type field in now.json.

For more information on now.json visit https://zeit.co/docs/features/configuration#now.json.


Jenkins CI reporting about add-on compatibility. - test-addon-5.1
**Your add-on is compatible!**
See the full report here: https://jenkins.plone.org/job/test-addon-5.1/17/


Hello @nsgoyat,
it will be available soon, I have prioritized the non-interactive installation because it provide me the ability to use travis-ci to test the script after each new commit, but I will add the interactive installation with the arguments `-i` or `--interactive`


[![Visit Site](https://raw.githubusercontent.com/pantheon-systems/ci-drops-8/0.1.0/data/img/visit-site-36.png)](https://ci-270-ci-drops-8.pantheonsite.io/)

Created multidev environment [ci-270](https://dashboard.pantheon.io/sites/689219ca-6583-4af8-ab05-2cebf6ef79a0#ci-270) for ci-drops-8.


![image](https://user-images.githubusercontent.com/37661524/52485077-4a9b7b00-2bfb-11e9-8fba-5f874474338b.png)

まあいい？


_20190208220606_model_cnn_01_31_dqn_var1_part11_20190208220606_ model_cnn_01_31_dqn_var1_part11_20190208220606_ lr=0.01, GAMMA=0.7


No code graveyard!


@elpiankova С этим понял, спасибо) Еще вот кейсики:
1) если в одном и том же локальном репозитории у меня есть две ветки, в идентичном файле, который есть в обеих ветках, я вношу разные изменения в одной и той же строке этого файла в обеих ветках. Когда я после этого мерджу одну ветку в другую, то конфликта не будет, потому что содержимое одной ветки овверрайдится изменениями другой, так?
2) Вопрос по удалению бранча: после того как я удалил локально бранч, и потом запушил изменения на удаленный репозиторий, это ок что удаленная ветка там остается? мне ее нужно удалить отдельной командой в командной строке  или через юай гитхаба?


The author isn't good either ;)


# Specs execution successful
:scroll: [View logs](http://bamboo.comnull)
### Plans updated

Bamboo specs have been successfully imported and the following plans have been updated.

Project | Plan | Build
---|---|---
[Test](http://bamboo.com/browse/TEST) | [Comment test](http://bamboo.com/browse/TEST-CTEST)  | :white_check_mark: [\#1](http://bamboo.com/browse/TEST-CTEST-1)
[New project](http://bamboo.com/browse/NEW) | [Disabled plan](http://bamboo.com/browse/NEW-DISABLED) **disabled** | :white_check_mark: [\#1](http://bamboo.com/browse/NEW-DISABLED-1)

### Deployments updated

Bamboo specs have been successfully imported and the following deployment projects have been updated.

|Deployment project |
----|
[Deployment test](http://bamboo.com/deploy/viewDeploymentProjectVersions.action?id=2162689)|


let's make that variable name more pythonic (use `s_ab` or even better, give it a meaningful name)


Can give some feedback now, but will be more specific when I start designing the front-end for this


Glad to see this was so simple! What's the final density of the network (number edges / ((number nodes) * (number nodes - 1) / 2)


You need to assert that it is a string:
`const rootDir = path.resolve(yargs.argv.target as string || process.cwd());`

But there were more things that even prevented the CLI from starting and caused tests to fail.


#493 Update Mentions Legales Protection des données personnelles/Finalité du traitement


Yeah, almost went with "network-based separation"...I'll change it to something like that.


@jensens Jenkins CI reporting about code analysis
See the full report here: https://jenkins.plone.org/job/package-plone.app.drafts/27/violations
```
plone/app/drafts/tests.py:10:1: I001 isort found an import in the wrong position
plone/app/drafts/tests.py:22:1: I001 isort found an import in the wrong position
plone/app/drafts/tests.py:23:1: I001 isort found an import in the wrong position
plone/app/drafts/tests.py:24:1: I001 isort found an import in the wrong position
```
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.vocabularies/71/violations
```
plone/app/vocabularies/__init__.py:3:1: I001 isort found an import in the wrong position
plone/app/vocabularies/__init__.py:9:1: I003 isort expected 1 blank line in imports, found 0
plone/app/vocabularies/__init__.py:11:1: E731 do not assign a lambda expression, use a def
plone/app/vocabularies/__init__.py:28:13: D001 found directlyProvides( replace it with zope.interface.provider
plone/app/vocabularies/__init__.py:67:1: W391 blank line at end of file
plone/app/vocabularies/actions.py:24:71: C812 missing trailing comma
plone/app/vocabularies/actions.py:50:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/catalog.py:510:14: C812 missing trailing comma
plone/app/vocabularies/catalog.py:650:32: C812 missing trailing comma
plone/app/vocabularies/datetimerelated.py:54:25: C812 missing trailing comma
plone/app/vocabularies/editors.py:25:24: C812 missing trailing comma
plone/app/vocabularies/editors.py:33:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/groups.py:71:11: T000 Todo note found.
plone/app/vocabularies/interfaces.py:58:1: W391 blank line at end of file
plone/app/vocabularies/language.py:112:64: C812 missing trailing comma
plone/app/vocabularies/security.py:73:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/security.py:132:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/security.py:146:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/skins.py:65:41: C812 missing trailing comma
plone/app/vocabularies/skins.py:66:22: C812 missing trailing comma
plone/app/vocabularies/skins.py:72:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/syndication.py:13:1: I003 isort expected 1 blank line in imports, found 0
plone/app/vocabularies/syndication.py:15:7: T000 Todo note found.
plone/app/vocabularies/syndication.py:44:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/syndication.py:57:33: C812 missing trailing comma
plone/app/vocabularies/syndication.py:72:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/terms.py:59:24: C812 missing trailing comma
plone/app/vocabularies/terms.py:90:36: C812 missing trailing comma
plone/app/vocabularies/testing.py:15:41: C812 missing trailing comma
plone/app/vocabularies/testing.py:18:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/types.py:99:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/types.py:150:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/types.py:190:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/types.py:241:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/types.py:315:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/users.py:167:9: Q001 Remove bad quotes from multiline string.
plone/app/vocabularies/workflow.py:76:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/workflow.py:124:11: T000 Todo note found.
plone/app/vocabularies/workflow.py:136:14: C812 missing trailing comma
plone/app/vocabularies/workflow.py:145:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/workflow.py:244:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/vocabularies/tests/test_editors.py:24:54: C812 missing trailing comma
plone/app/vocabularies/tests/test_imagesvocabularies.py:18:50: C812 missing trailing comma
plone/app/vocabularies/tests/test_subjects_under_context.py:43:33: C812 missing trailing comma
plone/app/vocabularies/tests/test_subjects_under_context.py:51:33: C812 missing trailing comma
plone/app/vocabularies/tests/test_timezonevocabularies.py:19:47: C812 missing trailing comma
plone/app/vocabularies/tests/test_timezonevocabularies.py:28:47: C812 missing trailing comma
plone/app/vocabularies/tests/test_timezonevocabularies.py:46:53: C812 missing trailing comma
plone/app/vocabularies/tests/test_timezonevocabularies.py:50:56: C812 missing trailing comma
plone/app/vocabularies/tests/test_timezonevocabularies.py:63:56: C812 missing trailing comma
plone/app/vocabularies/tests/test_timezonevocabularies.py:74:56: C812 missing trailing comma
plone/app/vocabularies/tests/test_vocabularies.py:43:47: C812 missing trailing comma
plone/app/vocabularies/tests/test_vocabularies.py:108:10: C812 missing trailing comma
```
Follow [these instructions](https://github.com/plone/jenkins.plone.org/blob/master/docs/source/run-qa-on-package.rst) to reproduce it locally.


I guess the typings changed, because this used to work (target was `any`).


Now could not deploy this pull request since it contains the following references to invalid secrets in the `env` sections of the `now.json` file:

* `stripe-secret-key` (in env: `STRIPE_SECRET_KEY)`
* `hasura-access-key` (in env: `X_HASURA_ACCESS_KEY)`
* `sendgrid-username` (in env: `SENDGRID_USERNAME)`
* `sendgrid-password` (in env: `SENDGRID_PASSWORD)`
* `token-secret` (in env: `TOKEN_SECRET)`

Add those secrets or remove them from the `env` maps in the `now.json` file.


![ssss](https://user-images.githubusercontent.com/2940509/52485381-bd1e4380-2b86-11e9-8fc3-513b9168ffad.png)
Si ahora esta en la photo


@bartcubbins fixed


The current Swift code can be compiled with Xcode 10.2, you don't need to recompile the native libraries.


Am I correct in thinking that this ends up calling https://github.com/BeamMW/beam/blob/33930e9e2a4836985bb28835480ea323a7b8157e/core/ecc.cpp#L1331-L1341 which uses rejection sampling to sample a uniform nonce?

A Schnorr nonce definitely needs to be uniform and unbiased.


I want to copy right Destroyer Smith mma


In this RPC we are making public the Investors username and Public Key and Amount Invested. But this would go against an investor requesting anonymity. It would make sense to know how many investors are involved in the project, and how much they invested. But should we make it mandatory public, or have investors select whether they want to disclose their UserName and PubKey? If so, then the sanitize RPC would only return those that selected 'Public' in their preference. An auditor, however, should be able to access this information. For that, they should have a specific priviledge, and be onboarded onto the platform with those priviledges.