@pbauer Jenkins CI reporting about code analysis
See the full report here: https://jenkins.plone.org/job/package-plone.app.users/67/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:42:80: E501 line too long (130 > 79 characters)
plone/app/users/vocabularies.py:116: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:28:1: F401 'six' imported but unused
plone/app/users/browser/account.py:33:16: Q000 Remove bad quotes.
plone/app/users/browser/account.py:34:16: Q000 Remove bad quotes.
plone/app/users/browser/account.py:38:16: Q000 Remove bad quotes.
plone/app/users/browser/account.py:39:16: Q000 Remove bad quotes.
plone/app/users/browser/account.py:40:16: Q000 Remove bad quotes.
plone/app/users/browser/account.py:79:44: C812 missing trailing comma
plone/app/users/browser/account.py:93:39: P002 found "hasattr", consider replacing it
plone/app/users/browser/account.py:140:24: Q000 Remove bad quotes.
plone/app/users/browser/account.py:141:26: Q000 Remove bad quotes.
plone/app/users/browser/account.py:172:20: P101 format string does contain unindexed parameters
plone/app/users/browser/account.py:189:41: Q000 Remove bad quotes.
plone/app/users/browser/account.py:234:57: Q000 Remove bad quotes.
plone/app/users/browser/account.py:235:60: Q000 Remove bad quotes.
plone/app/users/browser/account.py:237:13: S001 found module formatter
plone/app/users/browser/account.py:237: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.


Created multidev environment [rail-uga-stellar#pr-22](https://dashboard.pantheon.io/sites/05f5afa3-c1ec-448f-915a-9234103f2409#pr-22).

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


# 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)|


Another possibility is using an empty target object

```javascript
out = merge( {}, source );
```
and setting a source property value to a random number. This should provide two points of randomness.

I guess I should ask what you are trying to measure here? Are you intentionally trying to measure a mixture of new properties and overwriting old properties? Are you wanting to primarily test new property addition? Is this the "generic" case?


Im makes sense. But why are we allowed to publish others (BidSwitch)?


I'm iburnmycd and I support this message.


Because others have public documentation. Ours is not intended to be public.

Le ven. 22 juin 2018 à 8:37 PM, Emanuele Pirro <notifications@github.com> a
écrit :

> Im makes sense. But why are we allowed to publish others (BidSwitch)?
>
> —
> You are receiving this because you commented.
> Reply to this email directly, view it on GitHub
> <https://github.com/Powerspace/scala-openrtb/commit/32e0dc8d7a86dd09bf2c14b2b88a70fed47c8063#commitcomment-29467583>,
> or mute the thread
> <https://github.com/notifications/unsubscribe-auth/AAKuTq4lqi0lOai37_78ZScam22K_llhks5t_Tl-gaJpZM4U0Plq>
> .
>
--
Del lugar paradisíaco de romance y aventura
solo queda un mar muerto vertedero de basura
«Caribe Atomico»


## Global

| Changed         |   Status |
|:----------------|---------:|
| `coverage`      |     0.02 |
| `texts_passing` |     2    |

## Units

| Changed                                                 | Status   |
|:--------------------------------------------------------|:---------|
| `./data/phi1017/phi013/phi1017.phi013.perseus-lat2.xml` | Passing  |
| `./data/phi1017/phi015/phi1017.phi015.perseus-lat2.xml` | Passing  |

*[Hook UI build recap](http://ci.perseids.org/repo/PerseusDL/canonical-latinLit/4393)*


Here I made a feature instead of a release.
I could have dropped these commits from the history but for the sake of the exercise I just went on and did a release on top.


Alright folks,

I've pushed a branch that bumps the version for sklearn so you can get started. The important tests pass in python2.7 and python3.6 however sklearn has changed some requirements about how private variables are used in estimator classes so the `common` tests fail (i.e., sklearn interface checks).

In summary it should be usable but I can't merge it down and cut a release until I do some cleanup.

In the interim, feel free to pull directly from 97c99d8c5c03ba71f08b9eb1c6168fa5f4b0106e to get the upgraded version, e.g., in your `requirements.txt` file or with `pip install` use:
```
git+git://github.com/skggm/skggm.git@97c99d8c5c03ba71f08b9eb1c6168fa5f4b0106e
```
after installing numpy, scipy, and cython to include it in your project.

@ssiegel95 I'd love to check out your papers after they're up on arxiv!


Note that you can also force the scikit-learn dependency to be different than that required by this package.  pip will throw a warning but it is allowed.  Seems like its not a problem here outside of some interface changes I need to make.


@ejona86 Sorry I've been a bit busy lately and am just noticing this ... I have some questions about this change.

First some explanation of the previous behavior....
(1) The `DefaultHttp2FrameReader.HeadersBlockBuilder` limit is designed to provide fail fast behavior pre-decompression. If the size before decompression is over the limit (plus some slop to account for hpack framing) then we would bail out before attempting to decode.
(2) The limit was also applied during the decode process to account for post-decompression values which may  result in more memory. In this scenario we don't want to go through decompressing all the headers because at that point we have already committed more memory than the user requested (mostly literal and encoded values).

So to summarize the goal of this limit is to limit the memory exposure of the local application. Since we cannot "fail fast + continue" and avoid committing memory after we exceed a threshold (because the hpack state machine would get out of sync) the previous behavior was to close the connection and abort. The assumption is that if folks want to commit more memory they can adjust the setting, but there should be some ceiling on the amount of local resources the remote peer can consume.

Now some questions:
- `SETTINGS_MAX_HEADER_LIST_SIZE is advisory and may be ignored.` - this is true but we decide if we ignore the setting or not. The goal is to provide a threshold of how much memory you are willing to commit. If you are willing to commit more memory for your use case did you consider modifying the settings, and if so why did that not work for your use case?
- What is the value of resetting the stream if you have already committed the memory to parse the headers?
- `DefaultHttp2FrameReader.HeadersBlockBuilder will still kill the
connection when maxHeaderListSizeGoAway is exceeded` - the encoded size may not be representative of how much memory is consumed post encode.
- During (1) there is a chance that we didn't take into account enough overhead for hpack framing but were you hitting this case, and if so we could consider adjusting the current algorithm?
- did you explore implementing this in such a way that doesn't require object allocation `Http2HeadersSink` for each decode? I know header entries them selves may require allocation but perhaps this won't be as prevalent depending on the use case (indexed headers, etc...).


We can completely avoid all of this critical section stuff if the feature vectors are held in a java.io.Buffer and we use GetDirectBufferAddress. It becomes:

  f[i] = (float *)(*jenv)->GetDirectBufferAddress(jenv, jfeatures)

We could perhaps avoid even passing the array, and instead load the whole batch into a single buffer


I would still enforce `https` though


Yes, that's indead how to tackle this issue. Exactly like above it won't work \since FindBaseExtension isn't updated between calls but I committed a version where it is and also removed some duplicate code.

On the other hand the compiler wizard depended on the system also finding .islu files when searching for *.isl so I've fixed (in another commit) it to work on systems that don't, like mine (it did in the past BTW so I assume some Windows update changed this behaviour).


His commit was for msm8937, so I asked him if I could do the same as his file. I only ported it to msm8953 and used his comment (also referencing him here "-Based on Damaceno's commit").

Here, isn't that right @LuizPauloDamaceno? we work together on this stuff xD


@pbauer Jenkins CI reporting about code analysis
See the full report here: https://jenkins.plone.org/job/package-plone.app.users/68/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:28:1: F401 'six' imported but unused
plone/app/users/browser/account.py:33:16: Q000 Remove bad quotes.
plone/app/users/browser/account.py:34:16: Q000 Remove bad quotes.
plone/app/users/browser/account.py:38:16: Q000 Remove bad quotes.
plone/app/users/browser/account.py:39:16: Q000 Remove bad quotes.
plone/app/users/browser/account.py:40:16: Q000 Remove bad quotes.
plone/app/users/browser/account.py:79:44: C812 missing trailing comma
plone/app/users/browser/account.py:93:39: P002 found "hasattr", consider replacing it
plone/app/users/browser/account.py:140:24: Q000 Remove bad quotes.
plone/app/users/browser/account.py:141:26: Q000 Remove bad quotes.
plone/app/users/browser/account.py:172:20: P101 format string does contain unindexed parameters
plone/app/users/browser/account.py:189:41: Q000 Remove bad quotes.
plone/app/users/browser/account.py:234:57: Q000 Remove bad quotes.
plone/app/users/browser/account.py:235:60: Q000 Remove bad quotes.
plone/app/users/browser/account.py:237:13: S001 found module formatter
plone/app/users/browser/account.py:237: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.


Is there no equivalent for gcc? Maybe with '-I'?


#6712-Zone-Coil-Autosizing-does-not-include-impact-of-AirTerminalSingleDuctMixer (rraustad) - i386-Windows-7-VisualStudio-14: OK (2932 of 2932 tests passed, 0 test warnings)

![Build Badge](http://img.shields.io/badge/build%20status-passing-green.png) ![Test Badge](http://img.shields.io/badge/tests%20passed-100.0%25-green.png)


Just curious,why was this change done?
Now I can't test newer betas unless I also copy the dev_flash folder from my old rpcs3 folder along with the data folder

When I start this version and point(Manage=>Virtual File System)where my old rpcs3 version is(where the games are the the firmware(dev_flash)),the modules are missing when I go to Confuguration=>CPU after that

dev_flash is not part of the Virtual File System


#6712-Zone-Coil-Autosizing-does-not-include-impact-of-AirTerminalSingleDuctMixer (rraustad) - x86_64-MacOS-10.9-clang: OK (2916 of 2932 tests passed, 18 test warnings)

Messages:

 * 8 tests had: AUD diffs.
 * 26 tests had: EIO diffs.
 * 12 tests had: ESO small diffs.
 * 8 tests had: MTR small diffs.
 * 9 tests had: Table small diffs.
 * 14 tests had: ESO big diffs.
 * 15 tests had: Table big diffs.
 * 4 tests had: ERR diffs.
 * 9 tests had: MTR big diffs.

Failures:

regression Test Summary
 * Passed: 607
 * Failed: 16

![Build Badge](http://img.shields.io/badge/build%20status-passing-green.png) ![Test Badge](http://img.shields.io/badge/tests%20passed-99.45%25-yellow.png)


test


Loving this script, so thank you! Anyway to get it updated to reflect Sysmon v7 schemaversion="<Sysmon schemaversion="3.30"> to 4.00


No, there is no such equivalent. And it has complete different meaning than -I


Done in https://github.com/woocommerce/woocommerce-gateway-paypal-express-checkout/pull/409/commits/bdf3ad0d9b0533ffe939152cd7fbf1313b4a388b


Powinien być to Set by uniknąć duplikatów


<details>

<summary>Submitting the task to Taskcluster failed. Details</summary>

You do not have sufficient scopes. You are missing the following scopes:

{
  "AnyOf": \[
    {
      "AnyOf": \[
        "queue:create\-task:highest:aws\-provisioner\-v1/servo\-docker\-worker",
        "queue:create\-task:very\-high:aws\-provisioner\-v1/servo\-docker\-worker",
        "queue:create\-task:high:aws\-provisioner\-v1/servo\-docker\-worker",
        "queue:create\-task:medium:aws\-provisioner\-v1/servo\-docker\-worker",
        "queue:create\-task:low:aws\-provisioner\-v1/servo\-docker\-worker",
        "queue:create\-task:very\-low:aws\-provisioner\-v1/servo\-docker\-worker",
        "queue:create\-task:lowest:aws\-provisioner\-v1/servo\-docker\-worker"
      \]
    },
    {
      "AnyOf": \[
        "queue:create\-task:aws\-provisioner\-v1/servo\-docker\-worker",
        {
          "AllOf": \[
            "queue:define\-task:aws\-provisioner\-v1/servo\-docker\-worker",
            "queue:task\-group\-id:taskcluster\-github/A2lyKZ\_WQfuzI\_2L4lxO3w",
            "queue:schedule\-task:taskcluster\-github/A2lyKZ\_WQfuzI\_2L4lxO3w/A2lyKZ\_WQfuzI\_2L4lxO3w"
          \]
        }
      \]
    }
  \]
}

You have the scopes:

```
\[
  "assume:project:taskcluster:mozilla\-github\-repository",
  "assume:repo:github.com/servo/servo:pull\-request",
  "notify:email:\*",
  "notify:irc\-channel:\*",
  "notify:irc\-user:\*",
  "queue:create\-task:aws\-provisioner\-v1/github\-worker",
  "queue:create\-task:aws\-provisioner\-v1/github\-worker\-windows",
  "queue:create\-task:aws\-provisioner\-v1/servo",
  "queue:create\-task:aws\-provisioner\-v1/win2012r2",
  "queue:route:garbage.\*",
  "queue:route:index.garbage.\*",
  "queue:route:notify.email.\*",
  "queue:route:notify.irc\-channel.\*",
  "queue:route:notify.irc\-user.\*",
  "queue:scheduler\-id:taskcluster\-github",
  "secrets:get:garbage/\*",
  "secrets:set:garbage/\*"
\]
```

This request requires you to satisfy this scope expression:

```
{
  "AllOf": \[
    {
      "AnyOf": \[
        {
          "AllOf": \[
            "queue:scheduler\-id:taskcluster\-github",
            {
              "AnyOf": \[
                "queue:create\-task:highest:aws\-provisioner\-v1/servo\-docker\-worker",
                "queue:create\-task:very\-high:aws\-provisioner\-v1/servo\-docker\-worker",
                "queue:create\-task:high:aws\-provisioner\-v1/servo\-docker\-worker",
                "queue:create\-task:medium:aws\-provisioner\-v1/servo\-docker\-worker",
                "queue:create\-task:low:aws\-provisioner\-v1/servo\-docker\-worker",
                "queue:create\-task:very\-low:aws\-provisioner\-v1/servo\-docker\-worker",
                "queue:create\-task:lowest:aws\-provisioner\-v1/servo\-docker\-worker"
              \]
            }
          \]
        },
        {
          "AnyOf": \[
            "queue:create\-task:aws\-provisioner\-v1/servo\-docker\-worker",
            {
              "AllOf": \[
                "queue:define\-task:aws\-provisioner\-v1/servo\-docker\-worker",
                "queue:task\-group\-id:taskcluster\-github/A2lyKZ\_WQfuzI\_2L4lxO3w",
                "queue:schedule\-task:taskcluster\-github/A2lyKZ\_WQfuzI\_2L4lxO3w/A2lyKZ\_WQfuzI\_2L4lxO3w"
              \]
            }
          \]
        }
      \]
    }
  \]
}
```
----
method:     createTask
errorCode:  InsufficientScopes
statusCode: 403
time:       2018-06-22T18:53:41.725Z

</details>


It is really weird to get asked for permission for such a domain name. Maybe explain somewhere in easily understandable language why this is neccessary?


🔥 [Jenkins job](http://xamarin-jenkins.guest.corp.microsoft.com:8080/job/macios/job/xcode10/36/display/redirect) (on internal Jenkins) failed in stage 'Test run' 🔥 : hudson.AbortException: script returned exit code 2

✅ [Build succeeded](http://xamarin-jenkins.guest.corp.microsoft.com:8080/job/macios/job/xcode10/36//console)
✅ [API Diff (from stable)](http://xamarin-storage/jenkins/xamarin-macios/xcode10/489e0119e0de1a1ce6a093d99ab3bcda56155d63/36/jenkins-results/api-diff/index.html)
✅ [API Diff (from PR only)](http://xamarin-storage/jenkins/xamarin-macios/xcode10/489e0119e0de1a1ce6a093d99ab3bcda56155d63/36/jenkins-results/apicomparison/index.html) (please review changes)
✅ [Generator Diff](http://xamarin-storage/jenkins/xamarin-macios/xcode10/489e0119e0de1a1ce6a093d99ab3bcda56155d63/36/jenkins-results/generator-diff/index.html) (please review changes)
🔥 [Test run failed](http://xamarin-storage/jenkins/xamarin-macios/xcode10/489e0119e0de1a1ce6a093d99ab3bcda56155d63/36/jenkins-results/tests/index.html) 🔥

# Test results

1 tests failed, 160 tests passed.

## Failed tests

 * System/iOS Unified 64-bits - simulator/Debug: Crashed


It's actually not node v0.10 but node v10.0, right?


add long press menu on app recent app key


@judithBp : Good first proposition! Since we'll be sending the message not as text but as a data packet, you should also define the length (in bytes) of each field and the type. We should only use basic types.


Good One


Stor bokstav på typen. Int för att kunna initiera med raw value (med värdet du får från servern om jag har fattat koden rätt.)


Also, this is a markdown file, so we should use the markdown syntax to get things properly formatted :)


function largestNumber(arr){
  var large = [0, 0, 0, 0];
  for(var i = 0; i < arr.length; i++){
    for(var j = 0; j < arr[i].length; j++){
      if(arr[i][j] > large[i]){
        large[i] = arr[i][j];
      }
    }
  }
  return large;
}
console.log(largestNumber([[-4, -5, -1, -3], [13, 27, 18, 26], [32, 35, 37, 39], [1000, 1001, 857, 1]]));


Den här funktionen tar en ServerError istället för en Int.


När du har rätt typ så måste du inte ha en till switch.


Ett exempel på hur man skulle kunna använda funktionen.


почему именно табы?


Das Modell bildet alle Varianten und Daten, dich ich mir aktuell vorstellen kann, gut ab.
Bei "ratio" sollte noch definiert sein was das ist: Anstellungsprozent, Tages- oder Wochenstunden. Um unabhängig von Änderungen der 40-Stunden-Woche = 100% zu sein, wäre meiner Meinung nach Wochenstunden die beste Option. Vielleicht hours_per_week als Bezeichnung?


This file is redundant with `example/manual/tb_Inc.v` from f18a2664bf624782f975be9fbe34959ae16488e0 on 2008-11-22.

It also causes issues on systems with case insensitive file systems like Windows and macOS (git is unhappy always thinking one of the two files is modified because in reality they are the same file in the files system). I recommend removing one of them.


This file is redundant with `example/manual/tb_inc.v` from 5e1045ef9b61ff981e9fafd20546f22ff2769bec on 2016-05-23.

It also causes issues on systems with case insensitive file systems like Windows and macOS (git is unhappy always thinking one of the two files is modified because in reality they are the same file in the files system). I recommend removing one of them.


https://github.com/Pomax/BezierInfo-2/commit/15f50ae53fb626942c85dd5ca4c0f2f66ae6b637 ;)


Gute Lösung


лучше пропс именовать `render`.


`import * as ζframework from '@ionic/cli-framework';`

What does this mean? Google returns a blank is searching for it.

![capture017](https://user-images.githubusercontent.com/140737/41794463-44bfdd7c-7614-11e8-9dbb-2c463bebe2fb.png)


Идеальный способ записи:


Clarify that only DHCPv4 hostnames will be registered. Resolves Redmine #: [8592](https://redmine.pfsense.org/issues/8592)


И лучше никогда не использовать индекс массивов в качестве ключа.


Nu är argumentet till funktionen en Int så som du hade det, men sedan gör man direkt om det till en ServerError.


owner is null because the owner isn't cached, use ownerID (`msg.guild.ownerID`)


IIUC we could do with out this extra state. Was the extra state added in an attempt to avoid a branch? If we usually take the same branch path I wonder if this will have any observable effect.

```java
if (headersLength < maxHeaderListSize) {
  headersLength += HpackHeaderField.sizeOf(name, value);
  if (headersLength < maxHeaderListSize) {
    headers.add(name, value);
  }
}

public boolean exceededMaxLength() {
  return headersLength > maxHeaderListSize;
}
```


I believe removing this `sed` causes `armv[56]*` cross builds to fail now.


No this was actually 0.10. We broke 0.10 while trying to support 10. Still needed to support 0.10 to avoid semver major


You need to make the cost proportional as well. The higher the freq the higher the cost. It wouldn't be the same cost for the last 3 steps.


Yeah, I laughed out loud when I saw this. :-)
That is correct, the last element gets overwritten, but in the loop we have `lut[prev][i]` and `s == lut[prev].length` so we get out of bounds exception starting `n=1`.
Thanks for the correction. :-)


Oh, sorry.

Hatte mir heute die orig. deutschen Strings (V9.5.2.0) angeschaut und da viel mir das auf.

Was ist daran so schlimm?


IBM Cloud [toolchain](https://console.bluemix.net/devops/toolchains/b220847a-8d3d-4515-ad8f-2b9646e96bf6?env_id=ibm%3Ayp%3Aeu-gb "cloud-native-toolchain-tutorial-20180622165600940"): [Delivery Pipeline](https://console.bluemix.net/devops/pipelines/af5a53b2-5161-4e43-b104-26329b8fcd17?env_id=ibm%3Ayp%3Aeu-gb "sample-cloud-native-toolchain-tutorial-20180622165600940") deployed [sample-cloud-native-toolchain-tutorial-20180622165600940](https://github.com/Dani7B/sample-cloud-native-toolchain-tutorial-20180622165600940/releases/tag/deploy-ibm-yp-eu-gb-dan.morgan-it.ibm.com-test-20180622-190906 "deploy-ibm-yp-eu-gb-dan.morgan-it.ibm.com-test-20180622-190906") to [test](https://console.bluemix.net/apps/40a0c660-fe9c-4896-96f3-7dba9905708d?env_id=ibm:yp:eu-gb "ibm:yp:eu-gb:dan.morgan@it.ibm.com:test"), including this commit


@T1978 in case you do not have an account for the community forum:

Which OH2 version do you use? This .jar file works only with OH2.2.

To let you know: Currently I am working on an enhanced version. The initial version only supports the door/window contact and the motion sensor. The new version additionaly will support the wall switch.


You can't, that's something me or @anteriovieira have to do. I haven't done so, because I'm working on some other stuff and want to ship everything together.


Sorry to be a pain - I'm probably just missing something, but how are you meant to disable the provider now? With the option in settings, it was easy enough to disable while it was acting up, but I don't see any way for it to be removed like this, making issues with the syntax detector unavoidable


IBM Cloud [toolchain](https://console.bluemix.net/devops/toolchains/b220847a-8d3d-4515-ad8f-2b9646e96bf6?env_id=ibm%3Ayp%3Aeu-gb "cloud-native-toolchain-tutorial-20180622165600940"): [Delivery Pipeline](https://console.bluemix.net/devops/pipelines/af5a53b2-5161-4e43-b104-26329b8fcd17?env_id=ibm%3Ayp%3Aeu-gb "sample-cloud-native-toolchain-tutorial-20180622165600940") deployed [sample-cloud-native-toolchain-tutorial-20180622165600940](https://github.com/Dani7B/sample-cloud-native-toolchain-tutorial-20180622165600940/releases/tag/deploy-ibm-yp-eu-gb-dan.morgan-it.ibm.com-prod-20180622-191312 "deploy-ibm-yp-eu-gb-dan.morgan-it.ibm.com-prod-20180622-191312") to [prod](https://console.bluemix.net/apps/61f81d81-baff-49ae-9988-e56c869bd4a8?env_id=ibm:yp:eu-gb "ibm:yp:eu-gb:dan.morgan@it.ibm.com:prod"), including this commit


Actually with Chrome on the touch screen, the hover tooltip issue does not happen.


whoopsie, nice catch!


Guten Abend,

die Integration der aktuellen Version wäre schön ein Fortschritt.

Mit freundlichen Grüßen

Thorsten Thiel
Dresdner Str. 13k
40822 Mettmann
Mobil: 0178 4103145
Fax: 02104 2860990

Am 22. Juni 2018 9:09:30 nachm. schrieb Christoph Weitkamp
<notifications@github.com>:
> @T1978 in case you do not have an account for the community forum:
> Which OH2 version do you use? This .jar file works only with OH2.2.
> To let you know: Currently I am working on an enhanced version. The initial
> version only supports the door/window contact and the motion sensor. The
> new version additionaly will support the wall switch.
> —
> You are receiving this because you were mentioned.
> Reply to this email directly, view it on GitHub, or mute the thread.


True, you'll hit that in a typed language. JS is a little sneaky in these cases, because arrays don't have an actual length, only a property that records what the furthest explicitly bound element has, called `length`.


Is sublime text plugin availalbe ? i can't find it on package manager, i use sublime more than vscode


I'll look into this and try to come up with an equivalent. I am unfamiliar with this, so pardon any ignorance, but it seems unlikely that there is no solution (at worst one dependent on the system).


You want to set it to false, not to true, surely?


@samuelgruetter @JasonGross using modules instead of python-generated RecordImport does seem to have fewer lines of boilerplate so far, but I'm not sure how to make `ImpVars` work with modules. I think the appropriate generalization of the situation is that we would like two different collections of lemmas about the same module functor, but Coq module functor instantiation is generative not applicative. Maybe there is a way to work around it, but I can't figure it out after looking at CPDT, refman, and coq wiki module system tutorial.

There are some other approaches I tried at https://gist.github.com/andres-erbsen/4215448e5db871cf7b5596f7a790f50b


The following doc(s) have been deployed to the [customcert](https://customcert-static-docs.pantheonsite.io/docs) Multidev environment:
- [/docs/custom-certificates](https://customcert-static-docs.pantheonsite.io/docs/custom-certificates)


You just need to install [the LSP client](https://github.com/tomv564/LSP), and then to configure it. The LSP package's README should have all the info you need.


it is a good job.


[R/plotting-colours.R:89:1:](https://github.com/PredictiveEcology/quickPlot/blob/310766014c6aba75bfee20e430e441d285c7208a/R/plotting-colours.R#L89) *style:* **Lines should not be more than 100 characters.**
```r
      if (all(na.omit(object[])%%1==0)) { # some factor rasters are actually real number -- makes no sense
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/plotting-colours.R:89:32:](https://github.com/PredictiveEcology/quickPlot/blob/310766014c6aba75bfee20e430e441d285c7208a/R/plotting-colours.R#L89) *style:* **Put spaces around all infix operators.**
```r
      if (all(na.omit(object[])%%1==0)) { # some factor rasters are actually real number -- makes no sense
                              ~^~~
```
[R/plotting-colours.R:89:35:](https://github.com/PredictiveEcology/quickPlot/blob/310766014c6aba75bfee20e430e441d285c7208a/R/plotting-colours.R#L89) *style:* **Put spaces around all infix operators.**
```r
      if (all(na.omit(object[])%%1==0)) { # some factor rasters are actually real number -- makes no sense
                                 ~^~~
```
[R/plotting-colours.R:89:41:](https://github.com/PredictiveEcology/quickPlot/blob/310766014c6aba75bfee20e430e441d285c7208a/R/plotting-colours.R#L89) *style:* **Opening curly braces should never go on their own line and should always be followed by a new line.**
```r
      if (all(na.omit(object[])%%1==0)) { # some factor rasters are actually real number -- makes no sense
                                        ^
```
[R/plotting-colours.R:106:1:](https://github.com/PredictiveEcology/quickPlot/blob/310766014c6aba75bfee20e430e441d285c7208a/R/plotting-colours.R#L106) *style:* **Lines should not be more than 100 characters.**
```r
      if (all(na.omit(object[])%%1==0)) { # some factor rasters are actually real number -- makes no sense
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/plotting-colours.R:106:32:](https://github.com/PredictiveEcology/quickPlot/blob/310766014c6aba75bfee20e430e441d285c7208a/R/plotting-colours.R#L106) *style:* **Put spaces around all infix operators.**
```r
      if (all(na.omit(object[])%%1==0)) { # some factor rasters are actually real number -- makes no sense
                              ~^~~
```
[R/plotting-colours.R:106:35:](https://github.com/PredictiveEcology/quickPlot/blob/310766014c6aba75bfee20e430e441d285c7208a/R/plotting-colours.R#L106) *style:* **Put spaces around all infix operators.**
```r
      if (all(na.omit(object[])%%1==0)) { # some factor rasters are actually real number -- makes no sense
                                 ~^~~
```
[R/plotting-colours.R:106:41:](https://github.com/PredictiveEcology/quickPlot/blob/310766014c6aba75bfee20e430e441d285c7208a/R/plotting-colours.R#L106) *style:* **Opening curly braces should never go on their own line and should always be followed by a new line.**
```r
      if (all(na.omit(object[])%%1==0)) { # some factor rasters are actually real number -- makes no sense
                                        ^
```
[R/plotting-colours.R:131:1:](https://github.com/PredictiveEcology/quickPlot/blob/310766014c6aba75bfee20e430e441d285c7208a/R/plotting-colours.R#L131) *style:* **Lines should not be more than 100 characters.**
```r
      if (all(na.omit(object[])%%1==0)) { # some factor rasters are actually real number -- makes no sense
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/plotting-colours.R:131:32:](https://github.com/PredictiveEcology/quickPlot/blob/310766014c6aba75bfee20e430e441d285c7208a/R/plotting-colours.R#L131) *style:* **Put spaces around all infix operators.**
```r
      if (all(na.omit(object[])%%1==0)) { # some factor rasters are actually real number -- makes no sense
                              ~^~~
```
[R/plotting-colours.R:131:35:](https://github.com/PredictiveEcology/quickPlot/blob/310766014c6aba75bfee20e430e441d285c7208a/R/plotting-colours.R#L131) *style:* **Put spaces around all infix operators.**
```r
      if (all(na.omit(object[])%%1==0)) { # some factor rasters are actually real number -- makes no sense
                                 ~^~~
```
[R/plotting-colours.R:131:41:](https://github.com/PredictiveEcology/quickPlot/blob/310766014c6aba75bfee20e430e441d285c7208a/R/plotting-colours.R#L131) *style:* **Opening curly braces should never go on their own line and should always be followed by a new line.**
```r
      if (all(na.omit(object[])%%1==0)) { # some factor rasters are actually real number -- makes no sense
                                        ^
```
[R/plotting-colours.R:284:75:](https://github.com/PredictiveEcology/quickPlot/blob/310766014c6aba75bfee20e430e441d285c7208a/R/plotting-colours.R#L284) *style:* **Put spaces around all infix operators.**
```r
    isFac <- any(raster::is.factor(grobToPlot)) & all(na.omit(grobToPlot[]%%1)==0)
                                                                         ~^~~
```
[R/plotting-colours.R:284:79:](https://github.com/PredictiveEcology/quickPlot/blob/310766014c6aba75bfee20e430e441d285c7208a/R/plotting-colours.R#L284) *style:* **Put spaces around all infix operators.**
```r
    isFac <- any(raster::is.factor(grobToPlot)) & all(na.omit(grobToPlot[]%%1)==0)
                                                                             ~^~~
```
[R/plotting-helpers.R:1023:44:](https://github.com/PredictiveEcology/quickPlot/blob/310766014c6aba75bfee20e430e441d285c7208a/R/plotting-helpers.R#L1023) *style:* **Commas should always have a space after.**
```r
          grobToPlot <- grobToPlot[polySeq,]
                                           ^
```
[R/plotting-helpers.R:1028:38:](https://github.com/PredictiveEcology/quickPlot/blob/310766014c6aba75bfee20e430e441d285c7208a/R/plotting-helpers.R#L1028) *style:* **Commas should always have a space after.**
```r
        grobToPlot <- grobToPlot[a[1,],]
                                     ^
```
[R/plotting-helpers.R:1028:40:](https://github.com/PredictiveEcology/quickPlot/blob/310766014c6aba75bfee20e430e441d285c7208a/R/plotting-helpers.R#L1028) *style:* **Commas should always have a space after.**
```r
        grobToPlot <- grobToPlot[a[1,],]
                                       ^
```
[R/plotting-helpers.R:1291:41:](https://github.com/PredictiveEcology/quickPlot/blob/310766014c6aba75bfee20e430e441d285c7208a/R/plotting-helpers.R#L1291) *style:* **Put spaces around all infix operators.**
```r
            if (all(na.omit(grobToPlot[]%%1)==0)) {
                                       ~^~~
```
[R/plotting-helpers.R:1291:45:](https://github.com/PredictiveEcology/quickPlot/blob/310766014c6aba75bfee20e430e441d285c7208a/R/plotting-helpers.R#L1291) *style:* **Put spaces around all infix operators.**
```r
            if (all(na.omit(grobToPlot[]%%1)==0)) {
                                           ~^~~
```
[R/plotting-helpers.R:1380:1:](https://github.com/PredictiveEcology/quickPlot/blob/310766014c6aba75bfee20e430e441d285c7208a/R/plotting-helpers.R#L1380) *style:* **Lines should not be more than 100 characters.**
```r
    grid.rect(x = 0, height = unit(1 + needsNewTitle * inherits(grobToPlot, "Raster") * 0.20 / (nRows / 2), "npc"),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/plotting-helpers.R:2511:1:](https://github.com/PredictiveEcology/quickPlot/blob/310766014c6aba75bfee20e430e441d285c7208a/R/plotting-helpers.R#L2511) *style:* **Lines should not be more than 100 characters.**
```r
#'          jitter(sort(rbeta(nPoints, betaPar, betaPar) * (maxY - minY) + minY, decreasing = TRUE)),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/plotting-helpers.R:2589:1:](https://github.com/PredictiveEcology/quickPlot/blob/310766014c6aba75bfee20e430e441d285c7208a/R/plotting-helpers.R#L2589) *style:* **Variable or function name should be lowerCamelCase.**
```r
thin.SpatialPolygons <- function(x, tolerance = NULL, returnDataFrame = FALSE, minCoordsToThin = 0,
^~~~~~~~~~~~~~~~~~~~
```
[R/plotting-helpers.R:2610:8:](https://github.com/PredictiveEcology/quickPlot/blob/310766014c6aba75bfee20e430e441d285c7208a/R/plotting-helpers.R#L2610) *style:* **Commented code should be removed.**
```r
      #xyOrd[["out"]] <- xyOrd[["out"]][thinRes, ]# thin line
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/plotting-helpers.R:2633:50:](https://github.com/PredictiveEcology/quickPlot/blob/310766014c6aba75bfee20e430e441d285c7208a/R/plotting-helpers.R#L2633) *style:* **Commas should always have a space after.**
```r
            dat <- x@data[as.numeric(names1) + 1,]
                                                 ^
```
[R/plotting-helpers.R:2634:14:](https://github.com/PredictiveEcology/quickPlot/blob/310766014c6aba75bfee20e430e441d285c7208a/R/plotting-helpers.R#L2634) *style:* **Commented code should be removed.**
```r
            #row.names(dat) <- as.character(seq_len(length(xyOrd)))
             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/plotting-helpers.R:2666:1:](https://github.com/PredictiveEcology/quickPlot/blob/310766014c6aba75bfee20e430e441d285c7208a/R/plotting-helpers.R#L2666) *style:* **Variable or function name should be lowerCamelCase.**
```r
thin.default <- function(x, tolerance, returnDataFrame, minCoordsToThin, ...) {
^~~~~~~~~~~~
```
[R/plotting-helpers.R:2701:3:](https://github.com/PredictiveEcology/quickPlot/blob/310766014c6aba75bfee20e430e441d285c7208a/R/plotting-helpers.R#L2701) *style:* **Variable or function name should be lowerCamelCase.**
```r
  IDs <- tryCatch(unlist(lapply(ordSeq, function(xx) {
  ^~~
```
[R/plotting-helpers.R:2726:7:](https://github.com/PredictiveEcology/quickPlot/blob/310766014c6aba75bfee20e430e441d285c7208a/R/plotting-helpers.R#L2726) *style:* **Commented code should be removed.**
```r
    # Polygons <- rep(rep(seq(numPolygons), numPolygon), idLength$V1) # sequential numbering
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/plotting-helpers.R:2727:5:](https://github.com/PredictiveEcology/quickPlot/blob/310766014c6aba75bfee20e430e441d285c7208a/R/plotting-helpers.R#L2727) *style:* **Variable or function name should be lowerCamelCase.**
```r
    Polygons <- rep(rep(IDs, numPolygon), idLength$V1) # actual ID labelling
    ^~~~~~~~
```
[R/plotting-helpers.R:2728:5:](https://github.com/PredictiveEcology/quickPlot/blob/310766014c6aba75bfee20e430e441d285c7208a/R/plotting-helpers.R#L2728) *style:* **Variable or function name should be lowerCamelCase.**
```r
    Polygon <- rep(unlist(lapply(numPolygon, seq)), idLength$V1)
    ^~~~~~~
```
[R/plotting-helpers.R:2735:36:](https://github.com/PredictiveEcology/quickPlot/blob/310766014c6aba75bfee20e430e441d285c7208a/R/plotting-helpers.R#L2735) *style:* **Commas should always have a space after.**
```r
    return(data.frame(lat = xyOrd[,1], long = xyOrd[,2], order = orders,
                                   ^
```
[R/plotting-helpers.R:2735:54:](https://github.com/PredictiveEcology/quickPlot/blob/310766014c6aba75bfee20e430e441d285c7208a/R/plotting-helpers.R#L2735) *style:* **Commas should always have a space after.**
```r
    return(data.frame(lat = xyOrd[,1], long = xyOrd[,2], order = orders,
                                                     ^
```
[R/plotting-helpers.R:2737:1:](https://github.com/PredictiveEcology/quickPlot/blob/310766014c6aba75bfee20e430e441d285c7208a/R/plotting-helpers.R#L2737) *style:* **Lines should not be more than 100 characters.**
```r
                      #group = paste0(as.character(Polygons), ".", as.character(Polygon)))) # the actual fortify
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/plotting-helpers.R:2740:40:](https://github.com/PredictiveEcology/quickPlot/blob/310766014c6aba75bfee20e430e441d285c7208a/R/plotting-helpers.R#L2740) *style:* **Commas should always have a space after.**
```r
    out <- setDT(data.frame(x = xyOrd[,1], y = xyOrd[,2], groups = groups))
                                       ^
```
[R/plotting-helpers.R:2740:55:](https://github.com/PredictiveEcology/quickPlot/blob/310766014c6aba75bfee20e430e441d285c7208a/R/plotting-helpers.R#L2740) *style:* **Commas should always have a space after.**
```r
    out <- setDT(data.frame(x = xyOrd[,1], y = xyOrd[,2], groups = groups))
                                                      ^
```
[R/plotting-helpers.R:2755:1:](https://github.com/PredictiveEcology/quickPlot/blob/310766014c6aba75bfee20e430e441d285c7208a/R/plotting-helpers.R#L2755) *style:* **Lines should not be more than 100 characters.**
```r
    which(polygon@data$Shape_Area>(sort(polygon@data$Shape_Area, decreasing = TRUE)[maxNumPolygons]))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/plotting-helpers.R:2755:34:](https://github.com/PredictiveEcology/quickPlot/blob/310766014c6aba75bfee20e430e441d285c7208a/R/plotting-helpers.R#L2755) *style:* **Put spaces around all infix operators.**
```r
    which(polygon@data$Shape_Area>(sort(polygon@data$Shape_Area, decreasing = TRUE)[maxNumPolygons]))
                                ~^~
```
[R/plotting-helpers.R:2755:35:](https://github.com/PredictiveEcology/quickPlot/blob/310766014c6aba75bfee20e430e441d285c7208a/R/plotting-helpers.R#L2755) *style:* **Place a space before left parenthesis, except in a function call.**
```r
    which(polygon@data$Shape_Area>(sort(polygon@data$Shape_Area, decreasing = TRUE)[maxNumPolygons]))
                                  ^
```
[R/plotting-helpers.R:2778:26:](https://github.com/PredictiveEcology/quickPlot/blob/310766014c6aba75bfee20e430e441d285c7208a/R/plotting-helpers.R#L2778) *style:* **Commas should always have a space after.**
```r
          totalAvailable," polygons in this view. See options('quickPlot.maxNumPolygons')")
                         ^
```
[R/plotting-other.R:202:48:](https://github.com/PredictiveEcology/quickPlot/blob/310766014c6aba75bfee20e430e441d285c7208a/R/plotting-other.R#L202) *style:* **Put spaces around all infix operators.**
```r
  if (any(raster::is.factor(ras1)) & all(ras1[]%%1==0)) {
                                              ~^~~
```
[R/plotting-other.R:202:51:](https://github.com/PredictiveEcology/quickPlot/blob/310766014c6aba75bfee20e430e441d285c7208a/R/plotting-other.R#L202) *style:* **Put spaces around all infix operators.**
```r
  if (any(raster::is.factor(ras1)) & all(ras1[]%%1==0)) {
                                                 ~^~~
```
[R/plotting-other.R:251:30:](https://github.com/PredictiveEcology/quickPlot/blob/310766014c6aba75bfee20e430e441d285c7208a/R/plotting-other.R#L251) *style:* **Commas should always have a space after.**
```r
    if (sum(corners$coords[1,] - corners$coords[2,]) %==% 0) {
                             ^
```
[R/plotting-other.R:251:51:](https://github.com/PredictiveEcology/quickPlot/blob/310766014c6aba75bfee20e430e441d285c7208a/R/plotting-other.R#L251) *style:* **Commas should always have a space after.**
```r
    if (sum(corners$coords[1,] - corners$coords[2,]) %==% 0) {
                                                  ^
```
[R/plotting-other.R:335:27:](https://github.com/PredictiveEcology/quickPlot/blob/310766014c6aba75bfee20e430e441d285c7208a/R/plotting-other.R#L335) *style:* **Opening curly braces should never go on their own line and should always be followed by a new line.**
```r
    if (length(row) == 0) { # above the plot
                          ^
```
[R/plotting-other.R:338:30:](https://github.com/PredictiveEcology/quickPlot/blob/310766014c6aba75bfee20e430e441d285c7208a/R/plotting-other.R#L338) *style:* **Opening curly braces should never go on their own line and should always be followed by a new line.**
```r
    if (length(column) == 0) { # above the plot
                             ^
```
[R/plotting.R:290:1:](https://github.com/PredictiveEcology/quickPlot/blob/310766014c6aba75bfee20e430e441d285c7208a/R/plotting.R#L290) *style:* **Lines should not be more than 100 characters.**
```r
    isDoCall <- grepl("^do.call", scalls) & grepl("\\<Plot\\>", scalls) & !grepl("test_that", scalls)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/plotting.R:308:6:](https://github.com/PredictiveEcology/quickPlot/blob/310766014c6aba75bfee20e430e441d285c7208a/R/plotting.R#L308) *style:* **Commented code should be removed.**
```r
    #whFrame <- grep(scalls, pattern = "^Plot|^quickPlot::Plot")
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/plotting.R:318:8:](https://github.com/PredictiveEcology/quickPlot/blob/310766014c6aba75bfee20e430e441d285c7208a/R/plotting.R#L318) *style:* **Commented code should be removed.**
```r
      #dotObjs <- mget(dotNames[!noName], envir = plotFrame, inherits = TRUE)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/plotting.R:322:1:](https://github.com/PredictiveEcology/quickPlot/blob/310766014c6aba75bfee20e430e441d285c7208a/R/plotting.R#L322) *style:* **Lines should not be more than 100 characters.**
```r
        if (is.null(title)) plotArgs$title <- ifelse(nzchar(names(dotObjs2)), names(dotObjs2), dotNames)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[tests/testthat/test-clickExtent.R:11:3:](https://github.com/PredictiveEcology/quickPlot/blob/310766014c6aba75bfee20e430e441d285c7208a/tests/testthat/test-clickExtent.R#L11) *style:* **Variable or function name should be lowerCamelCase.**
```r
  Sr1 <- Polygon(coords1)
  ^~~
```
[tests/testthat/test-clickExtent.R:12:3:](https://github.com/PredictiveEcology/quickPlot/blob/310766014c6aba75bfee20e430e441d285c7208a/tests/testthat/test-clickExtent.R#L12) *style:* **Variable or function name should be lowerCamelCase.**
```r
  Srs1 <- Polygons(list(Sr1), "s1")
  ^~~~
```
[tests/testthat/test-clickExtent.R:14:1:](https://github.com/PredictiveEcology/quickPlot/blob/310766014c6aba75bfee20e430e441d285c7208a/tests/testthat/test-clickExtent.R#L14) *style:* **Lines should not be more than 100 characters.**
```r
  crs(shpEcozone) <- "+init=epsg:4326 +proj=longlat +datum=WGS84 +no_defs +ellps=WGS84 +towgs84=0,0,0"
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[tests/testthat/test-clickExtent.R:24:1:](https://github.com/PredictiveEcology/quickPlot/blob/310766014c6aba75bfee20e430e441d285c7208a/tests/testthat/test-clickExtent.R#L24) *style:* **Lines should not be more than 100 characters.**
```r
  bb <- raster::shapefile(file.path(cacheRepo, "EC_borealdisturbance_polygonal_2008_2010_FINAL_ALBERS.shp"))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[tests/testthat/test-examples.R:11:15:](https://github.com/PredictiveEcology/quickPlot/blob/310766014c6aba75bfee20e430e441d285c7208a/tests/testthat/test-examples.R#L11) *style:* **Closing curly-braces should always be on their own line, unless it's followed by an else.**
```r
    setwd(owd)}
              ^
```
[tests/testthat/test-Plot-do-call.R:8:3:](https://github.com/PredictiveEcology/quickPlot/blob/310766014c6aba75bfee20e430e441d285c7208a/tests/testthat/test-Plot-do-call.R#L8) *style:* **Variable or function name should be lowerCamelCase.**
```r
  Sr1 <- Polygon(coords1)
  ^~~
```
[tests/testthat/test-Plot-do-call.R:9:3:](https://github.com/PredictiveEcology/quickPlot/blob/310766014c6aba75bfee20e430e441d285c7208a/tests/testthat/test-Plot-do-call.R#L9) *style:* **Variable or function name should be lowerCamelCase.**
```r
  Srs1 <- Polygons(list(Sr1), "s1")
  ^~~~
```
[tests/testthat/test-Plot-do-call.R:11:1:](https://github.com/PredictiveEcology/quickPlot/blob/310766014c6aba75bfee20e430e441d285c7208a/tests/testthat/test-Plot-do-call.R#L11) *style:* **Lines should not be more than 100 characters.**
```r
  crs(shpEcozone) <- "+init=epsg:4326 +proj=longlat +datum=WGS84 +no_defs +ellps=WGS84 +towgs84=0,0,0"
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[tests/testthat/test-Plot-do-call.R:13:24:](https://github.com/PredictiveEcology/quickPlot/blob/310766014c6aba75bfee20e430e441d285c7208a/tests/testthat/test-Plot-do-call.R#L13) *style:* **Commas should always have a space after.**
```r
  r <- raster(extent(0,10,0,10), res = 1, vals = 1:100)
                       ^
```
[tests/testthat/test-Plot-do-call.R:13:27:](https://github.com/PredictiveEcology/quickPlot/blob/310766014c6aba75bfee20e430e441d285c7208a/tests/testthat/test-Plot-do-call.R#L13) *style:* **Commas should always have a space after.**
```r
  r <- raster(extent(0,10,0,10), res = 1, vals = 1:100)
                          ^
```
[tests/testthat/test-Plot-do-call.R:13:29:](https://github.com/PredictiveEcology/quickPlot/blob/310766014c6aba75bfee20e430e441d285c7208a/tests/testthat/test-Plot-do-call.R#L13) *style:* **Commas should always have a space after.**
```r
  r <- raster(extent(0,10,0,10), res = 1, vals = 1:100)
                            ^
```
[tests/testthat/test-Plot-nonVisual.R:65:21:](https://github.com/PredictiveEcology/quickPlot/blob/310766014c6aba75bfee20e430e441d285c7208a/tests/testthat/test-Plot-nonVisual.R#L65) *style:* **Commented code should be removed.**
```r
  library(raster); #on.exit(detach("package:raster"), add = TRUE)
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[tests/testthat/test-Plot-nonVisual.R:70:3:](https://github.com/PredictiveEcology/quickPlot/blob/310766014c6aba75bfee20e430e441d285c7208a/tests/testthat/test-Plot-nonVisual.R#L70) *style:* **Variable or function name should be lowerCamelCase.**
```r
  N <- ncol * nrow
  ^
```


if(++m_bit == m_buckets.end()) m_bit = m_buckets.begin();
is it clearer?


I wanted to do that tomorrow but you did that.
Good job.


Kudos for your dedication! (I don't think I'd have considered breaking compatibility for a several-years-dead version of node to be a breaking change in the semver sense.)


Apenas testando a integração do meu novo PC


Created multidev environment [dgreat#ci-553](https://dashboard.pantheon.io/sites/41cad7fe-472d-43a9-a470-d391b9622376#ci-553).

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


Whoops, you probably shouldn't commit your API keys… 😸


@Pratimathulung you can combine these two functions and find sum more efficiently


Did this work? I'm remembering now that I have tried to use dependency_links before and I don't think it's supported.


Kaminfeuer :-)

![image](https://user-images.githubusercontent.com/6131799/41795612-a5e0ba5a-7663-11e8-95c8-661de2ef1d8c.png)


I'm doing a test build on Jenkins now... fingers crossed.


**Regression automated test Demo on iPhone X:**

![iphone x automated test](https://user-images.githubusercontent.com/33426940/41795614-5d65c32e-7631-11e8-91de-5e284c7d5b67.gif)


Professional Cam on Closed Course. Do not attempt.


#6712-Zone-Coil-Autosizing-does-not-include-impact-of-AirTerminalSingleDuctMixer (rraustad) - x86_64-Linux-Ubuntu-14.04-cppcheck-1.61: OK (0 of 0 tests passed, 0 test warnings)

![Build Badge](http://img.shields.io/badge/build%20status-passing-green.png)


Oof, basically this commit actually for msm8953 lol

At least put me as Co-author lol


@MathieuDuponchelle


This is great! Thanks for doing this. Was going to ask if there would be a new release soon. 😄


m_buckets[i] = std::make_unique<BucketType>();


@Capri2014 please review.


I thought this moved into the cmake buildstyle, but I'll give it a try, thnx.


require(newOwner != address(0x0));

?


oh too late, thnx for the fix :)


Can we put it in a new file? Just so that we can override this.


`'(lsp-ui-peek-find-definitions)` should be `#'lsp-ui-peek-find-definitions` cuz jump handler doesn't support a list of function.


@bcardiff could we please have a way of declaring the default timezone instead of it being a constant of UTC. It causes issues when using NOW() in a MySQL database that is using BST time for example.


I wonder if we could do this in the engine -- it seems a common enough thing to protect against.


IBM Cloud [toolchain](https://console.bluemix.net/devops/toolchains/b220847a-8d3d-4515-ad8f-2b9646e96bf6?env_id=ibm%3Ayp%3Aeu-gb "cloud-native-toolchain-tutorial-20180622165600940"): [Delivery Pipeline](https://console.bluemix.net/devops/pipelines/af5a53b2-5161-4e43-b104-26329b8fcd17?env_id=ibm%3Ayp%3Aeu-gb "sample-cloud-native-toolchain-tutorial-20180622165600940") deployed [sample-cloud-native-toolchain-tutorial-20180622165600940](https://github.com/Dani7B/sample-cloud-native-toolchain-tutorial-20180622165600940/releases/tag/deploy-ibm-yp-eu-gb-dan.morgan-it.ibm.com-test-20180622-194129 "deploy-ibm-yp-eu-gb-dan.morgan-it.ibm.com-test-20180622-194129") to [test](https://console.bluemix.net/apps/2f00f1dd-4509-4897-b6cc-a39830f0ed33?env_id=ibm:yp:eu-gb "ibm:yp:eu-gb:dan.morgan@it.ibm.com:test"), including this commit


LoL I din't know xD, I don't want to change the commit history, so consider yourself co-author of this commit, I will rebase my kernel on a new source soon, I fix the commit message there :+1:


## Jenkins Build Summary

Built from [this commit](https://github.com/mellery451/rippled/commit/e4470331d22f3fca9dde5d874f22b418849112d3)

Built at __20180622 - 19:42:09__

### Test Results

Build Type | Log | Result | Status
---------- | --- | ------ | ------
msvc.debug | [logfile](http://ci.ops.ripple.com/job/mellery-rippled/job/mellery-fixman/3//artifact/msvc.debug.txt) | 1030 cases, 0 failed, t: 565s | PASS :white_check_mark:
coverage | [logfile](http://ci.ops.ripple.com/job/mellery-rippled/job/mellery-fixman/3//artifact/coverage.txt) | 1033 cases, 0 failed, t: 682s | PASS :white_check_mark:
docs | [logfile](http://ci.ops.ripple.com/job/mellery-rippled/job/mellery-fixman/3//artifact/docs.txt) | 1 cases, 0 failed, t: 2s | PASS :white_check_mark:
gcc.release.unity
-Dassert=true,
MANUAL_TESTS=true | [logfile](http://ci.ops.ripple.com/job/mellery-rippled/job/mellery-fixman/3//artifact/gcc.release.unity_Dassert_true_MANUAL_TESTS_true.txt) | 1101 cases, 0 failed, t: 800s | PASS :white_check_mark:
clang.debug.unity | [logfile](http://ci.ops.ripple.com/job/mellery-rippled/job/mellery-fixman/3//artifact/clang.debug.unity.txt) | 1033 cases, 0 failed, t: 250s | PASS :white_check_mark:
clang.debug.nounity | [logfile](http://ci.ops.ripple.com/job/mellery-rippled/job/mellery-fixman/3//artifact/clang.debug.nounity.txt) | 1031 cases, 0 failed, t: 163s | PASS :white_check_mark:
rpm | [logfile](http://ci.ops.ripple.com/job/mellery-rippled/job/mellery-fixman/3//artifact/rpm.txt) | 1032 cases, 0 failed, t: n/a | PASS :white_check_mark:
clang.debug.unity,
PARALLEL_TESTS=false | [logfile](http://ci.ops.ripple.com/job/mellery-rippled/job/mellery-fixman/3//artifact/clang.debug.unity_PARALLEL_TESTS_false.txt) | 1033 cases, 0 failed, t: 492s | PASS :white_check_mark:
gcc.debug.unity | [logfile](http://ci.ops.ripple.com/job/mellery-rippled/job/mellery-fixman/3//artifact/gcc.debug.unity.txt) | 1033 cases, 0 failed, t: 246s | PASS :white_check_mark:
gcc.debug.nounity | [logfile](http://ci.ops.ripple.com/job/mellery-rippled/job/mellery-fixman/3//artifact/gcc.debug.nounity.txt) | 1031 cases, 0 failed, t: 245s | PASS :white_check_mark:
msvc.debug,
PROJECT_NAME=rippled_classic | [logfile](http://ci.ops.ripple.com/job/mellery-rippled/job/mellery-fixman/3//artifact/msvc.debug_PROJECT_NAME_rippled_classic.txt) | 1030 cases, 0 failed, t: 1236s | PASS :white_check_mark:
msvc.release | [logfile](http://ci.ops.ripple.com/job/mellery-rippled/job/mellery-fixman/3//artifact/msvc.release.txt) | 1029 cases, 0 failed, t: 514s | PASS :white_check_mark:
clang.release.unity
-Dassert=true | [logfile](http://ci.ops.ripple.com/job/mellery-rippled/job/mellery-fixman/3//artifact/clang.release.unity_Dassert_true.txt) | 1032 cases, 0 failed, t: 335s | PASS :white_check_mark:
gcc.release.unity
-Dassert=true | [logfile](http://ci.ops.ripple.com/job/mellery-rippled/job/mellery-fixman/3//artifact/gcc.release.unity_Dassert_true.txt) | 1032 cases, 0 failed, t: 352s | PASS :white_check_mark:
gcc.debug.unity
-Dstatic=true | [logfile](http://ci.ops.ripple.com/job/mellery-rippled/job/mellery-fixman/3//artifact/gcc.debug.unity_Dstatic_true.txt) | 1033 cases, 0 failed, t: 244s | PASS :white_check_mark:


why ? if it's active, I just want it ignore it. I don't want to revert in case an active contract is being activated. So if I ignore it, why should I have an else branch ?


I thought about that - but is there a need for plugins to get their own device registrations?  I'm not sure yet.