@mauritsvanrees Jenkins CI reporting about code analysis
See the full report here: https://jenkins.plone.org/job/package-plone.api/158/violations
```
src/plone/api/content.py:4:1: I001 isort found an import in the wrong position
src/plone/api/content.py:14:1: I001 isort found an import in the wrong position
src/plone/api/content.py:15:1: I001 isort found an import in the wrong position
src/plone/api/content.py:26:1: I003 isort expected 1 blank line in imports, found 0
src/plone/api/content.py:53:13: C816 missing trailing comma in Python 3.6+
src/plone/api/content.py:98:13: Q000 Remove bad quotes.
src/plone/api/content.py:99:13: Q000 Remove bad quotes.
src/plone/api/content.py:100:13: Q000 Remove bad quotes.
src/plone/api/content.py:100:68: C812 missing trailing comma
src/plone/api/content.py:258:55: C812 missing trailing comma
src/plone/api/content.py:268:1: C901 'delete' is too complex (15)
src/plone/api/content.py:300:25: Q000 Remove bad quotes.
src/plone/api/content.py:300:71: C812 missing trailing comma
src/plone/api/content.py:322:25: Q000 Remove bad quotes.
src/plone/api/content.py:322:71: C812 missing trailing comma
src/plone/api/content.py:360:1: C901 '_wf_transitions_for' is too complex (12)
src/plone/api/content.py:454:17: Q000 Remove bad quotes.
src/plone/api/content.py:455:17: Q000 Remove bad quotes.
src/plone/api/content.py:455:73: C812 missing trailing comma
src/plone/api/content.py:482:17: Q000 Remove bad quotes.
src/plone/api/content.py:485:18: C812 missing trailing comma
src/plone/api/content.py:521:13: Q000 Remove bad quotes.
src/plone/api/content.py:522:13: Q000 Remove bad quotes.
src/plone/api/content.py:522:72: C812 missing trailing comma
src/plone/api/env.py:18:1: I003 isort expected 1 blank line in imports, found 0
src/plone/api/group.py:19:14: C812 missing trailing comma
src/plone/api/group.py:43:32: C812 missing trailing comma
src/plone/api/portal.py:5:1: I001 isort found an import in the wrong position
src/plone/api/portal.py:6:1: I001 isort found an import in the wrong position
src/plone/api/portal.py:7:1: I001 isort found an import in the wrong position
src/plone/api/portal.py:9:1: I001 isort found an import in the wrong position
src/plone/api/portal.py:23:1: I003 isort expected 1 blank line in imports, found 0
src/plone/api/portal.py:32:51: C812 missing trailing comma
src/plone/api/portal.py:65:9: Q000 Remove bad quotes.
src/plone/api/portal.py:66:9: Q000 Remove bad quotes.
src/plone/api/portal.py:67:9: Q000 Remove bad quotes.
src/plone/api/portal.py:67:46: C812 missing trailing comma
src/plone/api/portal.py:113:13: Q000 Remove bad quotes.
src/plone/api/portal.py:114:13: Q000 Remove bad quotes.
src/plone/api/portal.py:114:49: C812 missing trailing comma
src/plone/api/portal.py:182:28: C812 missing trailing comma
src/plone/api/portal.py:241:20: T000 Todo note found.
src/plone/api/portal.py:262:37: Q000 Remove bad quotes.
src/plone/api/portal.py:272:17: Q000 Remove bad quotes.
src/plone/api/portal.py:273:17: Q000 Remove bad quotes.
src/plone/api/portal.py:273:55: C812 missing trailing comma
src/plone/api/portal.py:277:68: C812 missing trailing comma
src/plone/api/user.py:5:1: I001 isort found an import in the wrong position
src/plone/api/user.py:26:20: C812 missing trailing comma
src/plone/api/user.py:70:13: Q000 Remove bad quotes.
src/plone/api/user.py:71:13: Q000 Remove bad quotes.
src/plone/api/user.py:71:64: C812 missing trailing comma
src/plone/api/user.py:89:30: C812 missing trailing comma
src/plone/api/user.py:126:31: C812 missing trailing comma
src/plone/api/user.py:288:67: C812 missing trailing comma
src/plone/api/user.py:357:37: Q000 Remove bad quotes.
src/plone/api/user.py:400:37: Q000 Remove bad quotes.
src/plone/api/validation.py:20:13: Q000 Remove bad quotes.
src/plone/api/validation.py:21:13: Q000 Remove bad quotes.
src/plone/api/validation.py:22:32: Q000 Remove bad quotes.
src/plone/api/validation.py:22:54: C812 missing trailing comma
src/plone/api/validation.py:66:21: Q000 Remove bad quotes.
src/plone/api/validation.py:67:25: Q000 Remove bad quotes.
src/plone/api/validation.py:67:44: C812 missing trailing comma
src/plone/api/validation.py:96:21: Q000 Remove bad quotes.
src/plone/api/validation.py:97:25: Q000 Remove bad quotes.
src/plone/api/validation.py:97:50: C812 missing trailing comma
src/plone/api/validation.py:127:21: Q000 Remove bad quotes.
src/plone/api/validation.py:128:21: Q000 Remove bad quotes.
src/plone/api/validation.py:128:45: Q000 Remove bad quotes.
src/plone/api/validation.py:128:73: C812 missing trailing comma
src/plone/api/tests/base.py:4:1: I001 isort found an import in the wrong position
src/plone/api/tests/base.py:11:1: I001 isort found an import in the wrong position
src/plone/api/tests/base.py:12:1: I001 isort found an import in the wrong position
src/plone/api/tests/base.py:13:1: I003 isort expected 1 blank line in imports, found 0
src/plone/api/tests/base.py:32:47: Q000 Remove bad quotes.
src/plone/api/tests/base.py:60:28: Q000 Remove bad quotes.
src/plone/api/tests/base.py:62:28: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:8:1: I001 isort found an import in the wrong position
src/plone/api/tests/test_content.py:9:1: I001 isort found an import in the wrong position
src/plone/api/tests/test_content.py:10:1: I001 isort found an import in the wrong position
src/plone/api/tests/test_content.py:14:1: I001 isort found an import in the wrong position
src/plone/api/tests/test_content.py:15:1: I001 isort found an import in the wrong position
src/plone/api/tests/test_content.py:28:1: I001 isort found an import in the wrong position
src/plone/api/tests/test_content.py:33:1: I003 isort expected 1 blank line in imports, found 0
src/plone/api/tests/test_content.py:112:53: C812 missing trailing comma
src/plone/api/tests/test_content.py:131:30: C812 missing trailing comma
src/plone/api/tests/test_content.py:137:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:138:33: C812 missing trailing comma
src/plone/api/tests/test_content.py:162:30: C812 missing trailing comma
src/plone/api/tests/test_content.py:190:38: C812 missing trailing comma
src/plone/api/tests/test_content.py:271:37: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:304:28: C812 missing trailing comma
src/plone/api/tests/test_content.py:440:35: C812 missing trailing comma
src/plone/api/tests/test_content.py:486:25: C812 missing trailing comma
src/plone/api/tests/test_content.py:788:48: C812 missing trailing comma
src/plone/api/tests/test_content.py:795:48: C812 missing trailing comma
src/plone/api/tests/test_content.py:804:36: C812 missing trailing comma
src/plone/api/tests/test_content.py:813:36: C812 missing trailing comma
src/plone/api/tests/test_content.py:879:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:880:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:881:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:881:22: C812 missing trailing comma
src/plone/api/tests/test_content.py:888:34: C812 missing trailing comma
src/plone/api/tests/test_content.py:1008:32: C812 missing trailing comma
src/plone/api/tests/test_content.py:1015:17: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:1016:21: C812 missing trailing comma
src/plone/api/tests/test_content.py:1017:14: C812 missing trailing comma
src/plone/api/tests/test_content.py:1024:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:1025:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:1026:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:1027:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:1028:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:1029:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:1030:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:1031:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:1032:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:1033:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:1034:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:1035:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:1036:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:1037:13: Q000 Remove bad quotes.
src/plone/api/tests/test_doctests.py:4:1: I001 isort found an import in the wrong position
src/plone/api/tests/test_doctests.py:7:1: I001 isort found an import in the wrong position
src/plone/api/tests/test_doctests.py:23:1: I003 isort expected 1 blank line in imports, found 0
src/plone/api/tests/test_doctests.py:78:72: C812 missing trailing comma
src/plone/api/tests/test_doctests.py:104:36: C812 missing trailing comma
src/plone/api/tests/test_doctests.py:120:13: T001 print statement found.
src/plone/api/tests/test_env.py:9:1: I003 isort expected 1 blank line in imports, found 0
src/plone/api/tests/test_env.py:30:14: D001 found declarePublic( replace it with AccessControl.ClassSecurityInfo.public
src/plone/api/tests/test_env.py:31:14: D001 found declareProtected( replace it with AccessControl.ClassSecurityInfo.protected
src/plone/api/tests/test_env.py:32:14: D001 found declareProtected( replace it with AccessControl.ClassSecurityInfo.protected
src/plone/api/tests/test_env.py:33:14: D001 found declareProtected( replace it with AccessControl.ClassSecurityInfo.protected
src/plone/api/tests/test_env.py:34:14: D001 found declarePrivate( replace it with AccessControl.ClassSecurityInfo.private
src/plone/api/tests/test_env.py:409:69: C812 missing trailing comma
src/plone/api/tests/test_env.py:420:59: C812 missing trailing comma
src/plone/api/tests/test_group.py:4:1: I001 isort found an import in the wrong position
src/plone/api/tests/test_group.py:195:33: C812 missing trailing comma
src/plone/api/tests/test_portal.py:4:1: I001 isort found an import in the wrong position
src/plone/api/tests/test_portal.py:5:1: I001 isort found an import in the wrong position
src/plone/api/tests/test_portal.py:6:1: I001 isort found an import in the wrong position
src/plone/api/tests/test_portal.py:7:1: I001 isort found an import in the wrong position
src/plone/api/tests/test_portal.py:26:1: I003 isort expected 1 blank line in imports, found 0
src/plone/api/tests/test_portal.py:42:16: P002 found "hasattr", consider replacing it
src/plone/api/tests/test_portal.py:52:57: C812 missing trailing comma
src/plone/api/tests/test_portal.py:56:37: C812 missing trailing comma
src/plone/api/tests/test_portal.py:61:59: C812 missing trailing comma
src/plone/api/tests/test_portal.py:106:41: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:106:57: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:144:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:145:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:175:22: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:185:22: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:194:23: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:195:20: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:196:21: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:197:18: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:210:23: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:211:21: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:212:18: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:232:27: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:233:24: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:234:25: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:235:22: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:253:23: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:254:21: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:255:18: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:260:9: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:260:59: C812 missing trailing comma
src/plone/api/tests/test_portal.py:270:23: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:271:21: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:272:18: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:280:9: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:280:54: C812 missing trailing comma
src/plone/api/tests/test_portal.py:292:23: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:293:21: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:294:18: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:317:27: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:318:24: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:319:25: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:320:22: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:320:41: C812 missing trailing comma
src/plone/api/tests/test_portal.py:326:23: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:327:20: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:328:21: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:329:18: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:468:34: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:505:44: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:516:44: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:525:44: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:576:23: Q000 Remove bad quotes.
src/plone/api/tests/test_user.py:9:1: I001 isort found an import in the wrong position
src/plone/api/tests/test_user.py:76:53: C812 missing trailing comma
src/plone/api/tests/test_user.py:89:30: C812 missing trailing comma
src/plone/api/tests/test_user.py:135:42: C812 missing trailing comma
src/plone/api/tests/test_user.py:144:41: C812 missing trailing comma
src/plone/api/tests/test_user.py:148:52: C812 missing trailing comma
src/plone/api/tests/test_user.py:157:21: C812 missing trailing comma
src/plone/api/tests/test_user.py:161:32: C812 missing trailing comma
src/plone/api/tests/test_user.py:245:33: C812 missing trailing comma
src/plone/api/tests/test_user.py:279:24: C812 missing trailing comma
src/plone/api/tests/test_user.py:291:24: C812 missing trailing comma
src/plone/api/tests/test_user.py:303:24: C812 missing trailing comma
src/plone/api/tests/test_user.py:310:26: C812 missing trailing comma
src/plone/api/tests/test_user.py:320:30: T000 Todo note found.
src/plone/api/tests/test_user.py:322:51: C812 missing trailing comma
src/plone/api/tests/test_user.py:390:21: C812 missing trailing comma
src/plone/api/tests/test_user.py:397:26: C812 missing trailing comma
src/plone/api/tests/test_user.py:410:72: C812 missing trailing comma
src/plone/api/tests/test_user.py:414:65: C812 missing trailing comma
src/plone/api/tests/test_user.py:495:24: C812 missing trailing comma
src/plone/api/tests/test_user.py:500:24: C812 missing trailing comma
src/plone/api/tests/test_user.py:641:20: Q000 Remove bad quotes.
src/plone/api/tests/test_user.py:648:63: C812 missing trailing comma
src/plone/api/tests/test_validation.py:37:14: D001 found assertEquals( replace it with assertEqual
src/plone/api/tests/test_validation.py:40:14: D001 found assertEquals( replace it with assertEqual
src/plone/api/tests/test_validation.py:54:25: C812 missing trailing comma
src/plone/api/tests/test_validation.py:65:14: D001 found assertEquals( replace it with assertEqual
src/plone/api/tests/test_validation.py:70:14: D001 found assertEquals( replace it with assertEqual
src/plone/api/tests/test_validation.py:74:14: D001 found assertEquals( replace it with assertEqual
src/plone/api/tests/test_validation.py:79:14: D001 found assertEquals( replace it with assertEqual
src/plone/api/tests/test_validation.py:84:14: D001 found assertEquals( replace it with assertEqual
src/plone/api/tests/test_validation.py:91:14: D001 found assertEquals( replace it with assertEqual
src/plone/api/tests/test_validation.py:98:14: D001 found assertEquals( replace it with assertEqual
src/plone/api/tests/test_validation.py:123:14: D001 found assertEquals( replace it with assertEqual
src/plone/api/tests/test_validation.py:124:14: D001 found assertEquals( replace it with assertEqual
src/plone/api/tests/test_validation.py:131:14: D001 found assertEquals( replace it with assertEqual
src/plone/api/tests/test_validation.py:132:14: D001 found assertEquals( replace it with assertEqual
src/plone/api/tests/test_validation.py:133:14: D001 found assertEquals( replace it with assertEqual
src/plone/api/tests/test_validation.py:159:14: D001 found assertEquals( replace it with assertEqual
src/plone/api/tests/test_validation.py:160:14: D001 found assertEquals( replace it with assertEqual
src/plone/api/tests/test_validation.py:165:14: D001 found assertEquals( replace it with assertEqual
src/plone/api/tests/test_validation.py:166:14: D001 found assertEquals( replace it with assertEqual
src/plone/api/tests/test_validation.py:167:14: D001 found assertEquals( replace it with assertEqual
```
Follow [these instructions](https://github.com/plone/jenkins.plone.org/blob/master/docs/source/run-qa-on-package.rst) to reproduce it locally.


@pbauer Jenkins CI reporting about code analysis
See the full report here: https://jenkins.plone.org/job/package-plone.api/159/violations
```
src/plone/api/content.py:4:1: I001 isort found an import in the wrong position
src/plone/api/content.py:14:1: I001 isort found an import in the wrong position
src/plone/api/content.py:15:1: I001 isort found an import in the wrong position
src/plone/api/content.py:26:1: I003 isort expected 1 blank line in imports, found 0
src/plone/api/content.py:53:13: C816 missing trailing comma in Python 3.6+
src/plone/api/content.py:98:13: Q000 Remove bad quotes.
src/plone/api/content.py:99:13: Q000 Remove bad quotes.
src/plone/api/content.py:100:13: Q000 Remove bad quotes.
src/plone/api/content.py:100:68: C812 missing trailing comma
src/plone/api/content.py:258:55: C812 missing trailing comma
src/plone/api/content.py:268:1: C901 'delete' is too complex (15)
src/plone/api/content.py:300:25: Q000 Remove bad quotes.
src/plone/api/content.py:300:71: C812 missing trailing comma
src/plone/api/content.py:322:25: Q000 Remove bad quotes.
src/plone/api/content.py:322:71: C812 missing trailing comma
src/plone/api/content.py:360:1: C901 '_wf_transitions_for' is too complex (12)
src/plone/api/content.py:454:17: Q000 Remove bad quotes.
src/plone/api/content.py:455:17: Q000 Remove bad quotes.
src/plone/api/content.py:455:73: C812 missing trailing comma
src/plone/api/content.py:482:17: Q000 Remove bad quotes.
src/plone/api/content.py:485:18: C812 missing trailing comma
src/plone/api/content.py:521:13: Q000 Remove bad quotes.
src/plone/api/content.py:522:13: Q000 Remove bad quotes.
src/plone/api/content.py:522:72: C812 missing trailing comma
src/plone/api/portal.py:5:1: I001 isort found an import in the wrong position
src/plone/api/portal.py:6:1: I001 isort found an import in the wrong position
src/plone/api/portal.py:7:1: I001 isort found an import in the wrong position
src/plone/api/portal.py:9:1: I001 isort found an import in the wrong position
src/plone/api/portal.py:24:1: I003 isort expected 1 blank line in imports, found 0
src/plone/api/portal.py:33:51: C812 missing trailing comma
src/plone/api/portal.py:66:9: Q000 Remove bad quotes.
src/plone/api/portal.py:67:9: Q000 Remove bad quotes.
src/plone/api/portal.py:68:9: Q000 Remove bad quotes.
src/plone/api/portal.py:68:46: C812 missing trailing comma
src/plone/api/portal.py:114:13: Q000 Remove bad quotes.
src/plone/api/portal.py:115:13: Q000 Remove bad quotes.
src/plone/api/portal.py:115:49: C812 missing trailing comma
src/plone/api/portal.py:183:28: C812 missing trailing comma
src/plone/api/portal.py:242:20: T000 Todo note found.
src/plone/api/portal.py:270:13: Q000 Remove bad quotes.
src/plone/api/portal.py:271:13: Q000 Remove bad quotes.
src/plone/api/portal.py:271:40: C812 missing trailing comma
src/plone/api/portal.py:284:17: Q000 Remove bad quotes.
src/plone/api/portal.py:285:17: Q000 Remove bad quotes.
src/plone/api/portal.py:288:39: C812 missing trailing comma
src/plone/api/portal.py:289:18: C812 missing trailing comma
src/plone/api/portal.py:300:17: Q000 Remove bad quotes.
src/plone/api/portal.py:301:17: Q000 Remove bad quotes.
src/plone/api/portal.py:301:55: C812 missing trailing comma
src/plone/api/portal.py:305:68: C812 missing trailing comma
src/plone/api/portal.py:329:13: Q000 Remove bad quotes.
src/plone/api/portal.py:330:13: Q000 Remove bad quotes.
src/plone/api/portal.py:330:40: C812 missing trailing comma
src/plone/api/portal.py:349:17: Q000 Remove bad quotes.
src/plone/api/portal.py:350:17: Q000 Remove bad quotes.
src/plone/api/portal.py:353:32: C812 missing trailing comma
src/plone/api/portal.py:354:18: C812 missing trailing comma
src/plone/api/env.py:18:1: I003 isort expected 1 blank line in imports, found 0
src/plone/api/user.py:5:1: I001 isort found an import in the wrong position
src/plone/api/user.py:26:20: C812 missing trailing comma
src/plone/api/user.py:70:13: Q000 Remove bad quotes.
src/plone/api/user.py:71:13: Q000 Remove bad quotes.
src/plone/api/user.py:71:64: C812 missing trailing comma
src/plone/api/user.py:89:30: C812 missing trailing comma
src/plone/api/user.py:126:31: C812 missing trailing comma
src/plone/api/user.py:288:67: C812 missing trailing comma
src/plone/api/user.py:357:37: Q000 Remove bad quotes.
src/plone/api/user.py:400:37: Q000 Remove bad quotes.
src/plone/api/validation.py:20:13: Q000 Remove bad quotes.
src/plone/api/validation.py:21:13: Q000 Remove bad quotes.
src/plone/api/validation.py:22:32: Q000 Remove bad quotes.
src/plone/api/validation.py:22:54: C812 missing trailing comma
src/plone/api/validation.py:66:21: Q000 Remove bad quotes.
src/plone/api/validation.py:67:25: Q000 Remove bad quotes.
src/plone/api/validation.py:67:44: C812 missing trailing comma
src/plone/api/validation.py:96:21: Q000 Remove bad quotes.
src/plone/api/validation.py:97:25: Q000 Remove bad quotes.
src/plone/api/validation.py:97:50: C812 missing trailing comma
src/plone/api/validation.py:127:21: Q000 Remove bad quotes.
src/plone/api/validation.py:128:21: Q000 Remove bad quotes.
src/plone/api/validation.py:128:45: Q000 Remove bad quotes.
src/plone/api/validation.py:128:73: C812 missing trailing comma
src/plone/api/group.py:19:14: C812 missing trailing comma
src/plone/api/group.py:43:32: C812 missing trailing comma
src/plone/api/tests/test_validation.py:37:14: D001 found assertEquals( replace it with assertEqual
src/plone/api/tests/test_validation.py:40:14: D001 found assertEquals( replace it with assertEqual
src/plone/api/tests/test_validation.py:54:25: C812 missing trailing comma
src/plone/api/tests/test_validation.py:65:14: D001 found assertEquals( replace it with assertEqual
src/plone/api/tests/test_validation.py:70:14: D001 found assertEquals( replace it with assertEqual
src/plone/api/tests/test_validation.py:74:14: D001 found assertEquals( replace it with assertEqual
src/plone/api/tests/test_validation.py:79:14: D001 found assertEquals( replace it with assertEqual
src/plone/api/tests/test_validation.py:84:14: D001 found assertEquals( replace it with assertEqual
src/plone/api/tests/test_validation.py:91:14: D001 found assertEquals( replace it with assertEqual
src/plone/api/tests/test_validation.py:98:14: D001 found assertEquals( replace it with assertEqual
src/plone/api/tests/test_validation.py:123:14: D001 found assertEquals( replace it with assertEqual
src/plone/api/tests/test_validation.py:124:14: D001 found assertEquals( replace it with assertEqual
src/plone/api/tests/test_validation.py:131:14: D001 found assertEquals( replace it with assertEqual
src/plone/api/tests/test_validation.py:132:14: D001 found assertEquals( replace it with assertEqual
src/plone/api/tests/test_validation.py:133:14: D001 found assertEquals( replace it with assertEqual
src/plone/api/tests/test_validation.py:159:14: D001 found assertEquals( replace it with assertEqual
src/plone/api/tests/test_validation.py:160:14: D001 found assertEquals( replace it with assertEqual
src/plone/api/tests/test_validation.py:165:14: D001 found assertEquals( replace it with assertEqual
src/plone/api/tests/test_validation.py:166:14: D001 found assertEquals( replace it with assertEqual
src/plone/api/tests/test_validation.py:167:14: D001 found assertEquals( replace it with assertEqual
src/plone/api/tests/base.py:4:1: I001 isort found an import in the wrong position
src/plone/api/tests/base.py:11:1: I001 isort found an import in the wrong position
src/plone/api/tests/base.py:12:1: I001 isort found an import in the wrong position
src/plone/api/tests/base.py:13:1: I003 isort expected 1 blank line in imports, found 0
src/plone/api/tests/base.py:32:47: Q000 Remove bad quotes.
src/plone/api/tests/base.py:60:28: Q000 Remove bad quotes.
src/plone/api/tests/base.py:62:28: Q000 Remove bad quotes.
src/plone/api/tests/test_user.py:9:1: I001 isort found an import in the wrong position
src/plone/api/tests/test_user.py:76:53: C812 missing trailing comma
src/plone/api/tests/test_user.py:89:30: C812 missing trailing comma
src/plone/api/tests/test_user.py:135:42: C812 missing trailing comma
src/plone/api/tests/test_user.py:144:41: C812 missing trailing comma
src/plone/api/tests/test_user.py:148:52: C812 missing trailing comma
src/plone/api/tests/test_user.py:157:21: C812 missing trailing comma
src/plone/api/tests/test_user.py:161:32: C812 missing trailing comma
src/plone/api/tests/test_user.py:245:33: C812 missing trailing comma
src/plone/api/tests/test_user.py:279:24: C812 missing trailing comma
src/plone/api/tests/test_user.py:291:24: C812 missing trailing comma
src/plone/api/tests/test_user.py:303:24: C812 missing trailing comma
src/plone/api/tests/test_user.py:310:26: C812 missing trailing comma
src/plone/api/tests/test_user.py:320:30: T000 Todo note found.
src/plone/api/tests/test_user.py:322:51: C812 missing trailing comma
src/plone/api/tests/test_user.py:390:21: C812 missing trailing comma
src/plone/api/tests/test_user.py:397:26: C812 missing trailing comma
src/plone/api/tests/test_user.py:410:72: C812 missing trailing comma
src/plone/api/tests/test_user.py:414:65: C812 missing trailing comma
src/plone/api/tests/test_user.py:495:24: C812 missing trailing comma
src/plone/api/tests/test_user.py:500:24: C812 missing trailing comma
src/plone/api/tests/test_user.py:641:20: Q000 Remove bad quotes.
src/plone/api/tests/test_user.py:648:63: C812 missing trailing comma
src/plone/api/tests/test_portal.py:4:1: I001 isort found an import in the wrong position
src/plone/api/tests/test_portal.py:5:1: I001 isort found an import in the wrong position
src/plone/api/tests/test_portal.py:6:1: I001 isort found an import in the wrong position
src/plone/api/tests/test_portal.py:7:1: I001 isort found an import in the wrong position
src/plone/api/tests/test_portal.py:28:1: I003 isort expected 1 blank line in imports, found 0
src/plone/api/tests/test_portal.py:36:38: C812 missing trailing comma
src/plone/api/tests/test_portal.py:41:38: C812 missing trailing comma
src/plone/api/tests/test_portal.py:61:16: P002 found "hasattr", consider replacing it
src/plone/api/tests/test_portal.py:71:57: C812 missing trailing comma
src/plone/api/tests/test_portal.py:75:37: C812 missing trailing comma
src/plone/api/tests/test_portal.py:80:59: C812 missing trailing comma
src/plone/api/tests/test_portal.py:125:41: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:125:57: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:163:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:164:13: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:194:22: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:204:22: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:213:23: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:214:20: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:215:21: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:216:18: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:229:23: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:230:21: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:231:18: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:251:27: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:252:24: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:253:25: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:254:22: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:272:23: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:273:21: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:274:18: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:279:9: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:279:59: C812 missing trailing comma
src/plone/api/tests/test_portal.py:289:23: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:290:21: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:291:18: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:299:9: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:299:54: C812 missing trailing comma
src/plone/api/tests/test_portal.py:311:23: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:312:21: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:313:18: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:336:27: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:337:24: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:338:25: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:339:22: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:339:41: C812 missing trailing comma
src/plone/api/tests/test_portal.py:345:23: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:346:20: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:347:21: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:348:18: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:487:34: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:524:44: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:535:44: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:544:44: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:555:46: C812 missing trailing comma
src/plone/api/tests/test_portal.py:566:43: C812 missing trailing comma
src/plone/api/tests/test_portal.py:577:43: C812 missing trailing comma
src/plone/api/tests/test_portal.py:582:44: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:595:46: C812 missing trailing comma
src/plone/api/tests/test_portal.py:609:46: C812 missing trailing comma
src/plone/api/tests/test_portal.py:614:44: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:615:38: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:616:38: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:617:38: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:667:23: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:679:42: C812 missing trailing comma
src/plone/api/tests/test_portal.py:684:46: C812 missing trailing comma
src/plone/api/tests/test_portal.py:686:17: C812 missing trailing comma
src/plone/api/tests/test_portal.py:696:43: C812 missing trailing comma
src/plone/api/tests/test_portal.py:708:43: C812 missing trailing comma
src/plone/api/tests/test_portal.py:713:44: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:727:46: C812 missing trailing comma
src/plone/api/tests/test_portal.py:742:46: C812 missing trailing comma
src/plone/api/tests/test_portal.py:747:44: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:748:38: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:749:38: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:750:38: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:764:46: C812 missing trailing comma
src/plone/api/tests/test_portal.py:779:46: C812 missing trailing comma
src/plone/api/tests/test_portal.py:785:32: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:785:68: C812 missing trailing comma
src/plone/api/tests/test_portal.py:787:38: Q000 Remove bad quotes.
src/plone/api/tests/test_portal.py:788:38: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:8:1: I001 isort found an import in the wrong position
src/plone/api/tests/test_content.py:9:1: I001 isort found an import in the wrong position
src/plone/api/tests/test_content.py:10:1: I001 isort found an import in the wrong position
src/plone/api/tests/test_content.py:14:1: I001 isort found an import in the wrong position
src/plone/api/tests/test_content.py:15:1: I001 isort found an import in the wrong position
src/plone/api/tests/test_content.py:28:1: I001 isort found an import in the wrong position
src/plone/api/tests/test_content.py:33:1: I003 isort expected 1 blank line in imports, found 0
src/plone/api/tests/test_content.py:112:53: C812 missing trailing comma
src/plone/api/tests/test_content.py:131:30: C812 missing trailing comma
src/plone/api/tests/test_content.py:137:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:138:33: C812 missing trailing comma
src/plone/api/tests/test_content.py:162:30: C812 missing trailing comma
src/plone/api/tests/test_content.py:190:38: C812 missing trailing comma
src/plone/api/tests/test_content.py:271:37: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:304:28: C812 missing trailing comma
src/plone/api/tests/test_content.py:440:35: C812 missing trailing comma
src/plone/api/tests/test_content.py:486:25: C812 missing trailing comma
src/plone/api/tests/test_content.py:788:48: C812 missing trailing comma
src/plone/api/tests/test_content.py:795:48: C812 missing trailing comma
src/plone/api/tests/test_content.py:804:36: C812 missing trailing comma
src/plone/api/tests/test_content.py:813:36: C812 missing trailing comma
src/plone/api/tests/test_content.py:879:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:880:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:881:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:881:22: C812 missing trailing comma
src/plone/api/tests/test_content.py:888:34: C812 missing trailing comma
src/plone/api/tests/test_content.py:1008:32: C812 missing trailing comma
src/plone/api/tests/test_content.py:1015:17: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:1016:21: C812 missing trailing comma
src/plone/api/tests/test_content.py:1017:14: C812 missing trailing comma
src/plone/api/tests/test_content.py:1024:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:1025:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:1026:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:1027:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:1028:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:1029:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:1030:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:1031:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:1032:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:1033:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:1034:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:1035:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:1036:13: Q000 Remove bad quotes.
src/plone/api/tests/test_content.py:1037:13: Q000 Remove bad quotes.
src/plone/api/tests/test_group.py:4:1: I001 isort found an import in the wrong position
src/plone/api/tests/test_group.py:195:33: C812 missing trailing comma
src/plone/api/tests/test_env.py:9:1: I003 isort expected 1 blank line in imports, found 0
src/plone/api/tests/test_env.py:30:14: D001 found declarePublic( replace it with AccessControl.ClassSecurityInfo.public
src/plone/api/tests/test_env.py:31:14: D001 found declareProtected( replace it with AccessControl.ClassSecurityInfo.protected
src/plone/api/tests/test_env.py:32:14: D001 found declareProtected( replace it with AccessControl.ClassSecurityInfo.protected
src/plone/api/tests/test_env.py:33:14: D001 found declareProtected( replace it with AccessControl.ClassSecurityInfo.protected
src/plone/api/tests/test_env.py:34:14: D001 found declarePrivate( replace it with AccessControl.ClassSecurityInfo.private
src/plone/api/tests/test_env.py:409:69: C812 missing trailing comma
src/plone/api/tests/test_env.py:420:59: C812 missing trailing comma
src/plone/api/tests/test_doctests.py:4:1: I001 isort found an import in the wrong position
src/plone/api/tests/test_doctests.py:7:1: I001 isort found an import in the wrong position
src/plone/api/tests/test_doctests.py:23:1: I003 isort expected 1 blank line in imports, found 0
src/plone/api/tests/test_doctests.py:78:72: C812 missing trailing comma
src/plone/api/tests/test_doctests.py:104:36: C812 missing trailing comma
src/plone/api/tests/test_doctests.py:120:13: T001 print statement found.
```
Follow [these instructions](https://github.com/plone/jenkins.plone.org/blob/master/docs/source/run-qa-on-package.rst) to reproduce it locally.


This bool should come last, to optimize the class layout, since the `next_` and `prev_` require 8 byte alignment.


@tkimnguyen Jenkins CI reporting about code analysis
See the full report here: https://jenkins.plone.org/job/package-plone.api/160/violations
```
src/plone/api/content.py:53:13: C816 missing trailing comma in Python 3.6+
src/plone/api/content.py:100:68: C812 missing trailing comma
src/plone/api/content.py:258:55: C812 missing trailing comma
src/plone/api/content.py:268:1: C901 'delete' is too complex (15)
src/plone/api/content.py:300:71: C812 missing trailing comma
src/plone/api/content.py:322:71: C812 missing trailing comma
src/plone/api/content.py:360:1: C901 '_wf_transitions_for' is too complex (13)
src/plone/api/content.py:425:1: C901 'transition' is too complex (13)
src/plone/api/content.py:459:73: C812 missing trailing comma
src/plone/api/content.py:496:18: C812 missing trailing comma
src/plone/api/content.py:533:72: C812 missing trailing comma
src/plone/api/group.py:19:14: C812 missing trailing comma
src/plone/api/group.py:43:32: C812 missing trailing comma
src/plone/api/portal.py:6:1: I001 isort found an import in the wrong position
src/plone/api/portal.py:34:51: C812 missing trailing comma
src/plone/api/portal.py:69:46: C812 missing trailing comma
src/plone/api/portal.py:116:49: C812 missing trailing comma
src/plone/api/portal.py:184:28: C812 missing trailing comma
src/plone/api/portal.py:243:20: T000 Todo note found.
src/plone/api/portal.py:271:13: Q000 Remove bad quotes.
src/plone/api/portal.py:272:13: Q000 Remove bad quotes.
src/plone/api/portal.py:272:40: C812 missing trailing comma
src/plone/api/portal.py:289:39: C812 missing trailing comma
src/plone/api/portal.py:290:18: C812 missing trailing comma
src/plone/api/portal.py:302:55: C812 missing trailing comma
src/plone/api/portal.py:306:68: C812 missing trailing comma
src/plone/api/portal.py:331:40: C812 missing trailing comma
src/plone/api/portal.py:354:32: C812 missing trailing comma
src/plone/api/portal.py:355:18: C812 missing trailing comma
src/plone/api/portal.py:422:29: C812 missing trailing comma
src/plone/api/user.py:26:20: C812 missing trailing comma
src/plone/api/user.py:71:64: C812 missing trailing comma
src/plone/api/user.py:89:30: C812 missing trailing comma
src/plone/api/user.py:126:31: C812 missing trailing comma
src/plone/api/user.py:288:67: C812 missing trailing comma
src/plone/api/validation.py:22:54: C812 missing trailing comma
src/plone/api/validation.py:67:44: C812 missing trailing comma
src/plone/api/validation.py:97:50: C812 missing trailing comma
src/plone/api/validation.py:128:73: C812 missing trailing comma
src/plone/api/tests/test_content.py:112:53: C812 missing trailing comma
src/plone/api/tests/test_content.py:131:30: C812 missing trailing comma
src/plone/api/tests/test_content.py:138:33: C812 missing trailing comma
src/plone/api/tests/test_content.py:162:30: C812 missing trailing comma
src/plone/api/tests/test_content.py:190:38: C812 missing trailing comma
src/plone/api/tests/test_content.py:304:28: C812 missing trailing comma
src/plone/api/tests/test_content.py:440:35: C812 missing trailing comma
src/plone/api/tests/test_content.py:486:25: C812 missing trailing comma
src/plone/api/tests/test_content.py:788:48: C812 missing trailing comma
src/plone/api/tests/test_content.py:795:48: C812 missing trailing comma
src/plone/api/tests/test_content.py:804:36: C812 missing trailing comma
src/plone/api/tests/test_content.py:813:36: C812 missing trailing comma
src/plone/api/tests/test_content.py:881:22: C812 missing trailing comma
src/plone/api/tests/test_content.py:888:34: C812 missing trailing comma
src/plone/api/tests/test_content.py:1008:32: C812 missing trailing comma
src/plone/api/tests/test_content.py:1016:21: C812 missing trailing comma
src/plone/api/tests/test_content.py:1017:14: C812 missing trailing comma
src/plone/api/tests/test_doctests.py:78:72: C812 missing trailing comma
src/plone/api/tests/test_doctests.py:104:36: C812 missing trailing comma
src/plone/api/tests/test_env.py:414:69: C812 missing trailing comma
src/plone/api/tests/test_env.py:425:69: C812 missing trailing comma
src/plone/api/tests/test_group.py:208:33: C812 missing trailing comma
src/plone/api/tests/test_portal.py:37:38: C812 missing trailing comma
src/plone/api/tests/test_portal.py:42:38: C812 missing trailing comma
src/plone/api/tests/test_portal.py:72:57: C812 missing trailing comma
src/plone/api/tests/test_portal.py:76:37: C812 missing trailing comma
src/plone/api/tests/test_portal.py:81:59: C812 missing trailing comma
src/plone/api/tests/test_portal.py:280:59: C812 missing trailing comma
src/plone/api/tests/test_portal.py:300:54: C812 missing trailing comma
src/plone/api/tests/test_portal.py:340:41: C812 missing trailing comma
src/plone/api/tests/test_portal.py:556:46: C812 missing trailing comma
src/plone/api/tests/test_portal.py:567:43: C812 missing trailing comma
src/plone/api/tests/test_portal.py:578:43: C812 missing trailing comma
src/plone/api/tests/test_portal.py:596:46: C812 missing trailing comma
src/plone/api/tests/test_portal.py:610:46: C812 missing trailing comma
src/plone/api/tests/test_portal.py:680:42: C812 missing trailing comma
src/plone/api/tests/test_portal.py:685:46: C812 missing trailing comma
src/plone/api/tests/test_portal.py:687:17: C812 missing trailing comma
src/plone/api/tests/test_portal.py:697:43: C812 missing trailing comma
src/plone/api/tests/test_portal.py:709:43: C812 missing trailing comma
src/plone/api/tests/test_portal.py:728:46: C812 missing trailing comma
src/plone/api/tests/test_portal.py:743:46: C812 missing trailing comma
src/plone/api/tests/test_portal.py:765:46: C812 missing trailing comma
src/plone/api/tests/test_portal.py:780:46: C812 missing trailing comma
src/plone/api/tests/test_portal.py:786:68: C812 missing trailing comma
src/plone/api/tests/test_portal.py:806:37: C812 missing trailing comma
src/plone/api/tests/test_portal.py:809:45: C812 missing trailing comma
src/plone/api/tests/test_portal.py:816:41: C812 missing trailing comma
src/plone/api/tests/test_user.py:76:53: C812 missing trailing comma
src/plone/api/tests/test_user.py:89:30: C812 missing trailing comma
src/plone/api/tests/test_user.py:135:42: C812 missing trailing comma
src/plone/api/tests/test_user.py:144:41: C812 missing trailing comma
src/plone/api/tests/test_user.py:148:52: C812 missing trailing comma
src/plone/api/tests/test_user.py:157:21: C812 missing trailing comma
src/plone/api/tests/test_user.py:161:32: C812 missing trailing comma
src/plone/api/tests/test_user.py:245:33: C812 missing trailing comma
src/plone/api/tests/test_user.py:279:24: C812 missing trailing comma
src/plone/api/tests/test_user.py:291:24: C812 missing trailing comma
src/plone/api/tests/test_user.py:303:24: C812 missing trailing comma
src/plone/api/tests/test_user.py:310:26: C812 missing trailing comma
src/plone/api/tests/test_user.py:320:30: T000 Todo note found.
src/plone/api/tests/test_user.py:322:51: C812 missing trailing comma
src/plone/api/tests/test_user.py:390:21: C812 missing trailing comma
src/plone/api/tests/test_user.py:397:26: C812 missing trailing comma
src/plone/api/tests/test_user.py:410:72: C812 missing trailing comma
src/plone/api/tests/test_user.py:414:65: C812 missing trailing comma
src/plone/api/tests/test_user.py:495:24: C812 missing trailing comma
src/plone/api/tests/test_user.py:500:24: C812 missing trailing comma
src/plone/api/tests/test_user.py:648:63: C812 missing trailing comma
src/plone/api/tests/test_validation.py:54:25: C812 missing trailing comma
```
Follow [these instructions](https://github.com/plone/jenkins.plone.org/blob/master/docs/source/run-qa-on-package.rst) to reproduce it locally.


@gforcada Jenkins CI reporting about code analysis
See the full report here: https://jenkins.plone.org/job/package-plone.api/163/violations
```
src/plone/api/portal.py:46:5: W503 line break before binary operator
src/plone/api/portal.py:51:5: W503 line break before binary operator
src/plone/api/tests/test_content.py:507:13: E128 continuation line under-indented for visual indent
src/plone/api/tests/test_content.py:507:13: W503 line break before binary operator
src/plone/api/tests/test_content.py:523:13: E128 continuation line under-indented for visual indent
src/plone/api/tests/test_content.py:523:13: W503 line break before binary operator
src/plone/api/tests/test_content.py:537:13: E128 continuation line under-indented for visual indent
src/plone/api/tests/test_content.py:537:13: W503 line break before binary operator
src/plone/api/tests/test_content.py:550:13: W503 line break before binary operator
src/plone/api/tests/test_content.py:595:13: E128 continuation line under-indented for visual indent
src/plone/api/tests/test_content.py:595:13: W503 line break before binary operator
src/plone/api/tests/test_content.py:624:13: E128 continuation line under-indented for visual indent
src/plone/api/tests/test_content.py:624:13: W503 line break before binary operator
src/plone/api/tests/test_content.py:643:13: E128 continuation line under-indented for visual indent
src/plone/api/tests/test_content.py:643:13: W503 line break before binary operator
src/plone/api/tests/test_content.py:690:13: W503 line break before binary operator
src/plone/api/tests/test_content.py:701:13: W503 line break before binary operator
src/plone/api/tests/test_content.py:721:13: W503 line break before binary operator
src/plone/api/tests/test_content.py:731:13: W503 line break before binary operator
src/plone/api/tests/test_doctests.py:36:5: W503 line break before binary operator
src/plone/api/tests/test_doctests.py:37:5: W503 line break before binary operator
src/plone/api/tests/test_doctests.py:38:5: W503 line break before binary operator
```
Follow [these instructions](https://github.com/plone/jenkins.plone.org/blob/master/docs/source/run-qa-on-package.rst) to reproduce it locally.


function toggleOpen() {
            console.log(this.className.includes('open'));
            console.log(this.classList);
            this.classList.toggle('open');

            panels.forEach(panel => {
                if (this.classList != panel.classList && panel.classList.contains('open')) {

                    panel.classList.toggle('open');
                    // panel.classList.remove('open');
                }
            })
}


Remove the `inline` keyword after adding `NUDB_DECL` to the declarations


move this to the ctor-init?


Hey, after this commit I get error on foreach in the onData function!
I fixed this adding an is_array($data) in condition of line 238, but I'm not sure if this is a solution for this problem.


Probably need to throw an exception or call `std::terminate` if either of the lists are not empty.


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

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

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


I couldn’t get the import to work, it wouldn’t resolve in this build file. If I imported in the root build, then it would resolve but say unknown symbol. So confused...


the parenthesis aren't strictly needed (but they also don't hurt)


Please stop writing this manually. Relay generates all the things for you. No need for additional things like `$PropertyType` or `$ElementType<$NonMaybeType< ... >>`. Where did you see it? 🙈Try to erase it from your head, please... 😊


Now could not deploy this pull request since the `now.json` file does not contain valid JSON.

	Click here to see the contents of `now.json`

{
    "alias":["celineb.me"]
    "version": 2,
    "name": "celineb",
    "builds": [
        { "src": "next.config.js", "use": "@now/next" }
    ],
    "routes":[
        {"src": "/page/(?<slug>.+)", "dest": "/post.js?slug=$slug"},
        {"src": "/post/(?<slug>.+)", "dest": "/post.js?slug=$slug"},
        {"src": "/(.*)", "dest": "/$1"}
    ]
}

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


Since you're only using `for_each` in this one place, I wonder how much value it really adds...


Successfully aliased the URL <https://dk3-3tyteokoa.now.sh> to the following alias.

* https://stage.dk3.tech


Haha gotcha, this could be really annoying. 😂

I try to explain in another way:

When the safety Switch is on, all lights are shutoff, when i switch it off, all lights go up, including the bargraph. When i Switch back on, all lights are going off of the wand, except the bargraph, it just freezes.

This is btw my pack:

https://youtu.be/rcTMw_F4zF4

Thanks!

Von meinem iPhone gesendet

> Am 08.02.2019 um 16:05 schrieb Eric Banker <notifications@github.com>:
>
> For the first issue. Are you talking about holding down the button and flicking the switch while the button is down? If so I don't think I have tested that scenario. safety on the graph should be showing standard animation even when button is pressed. Safety off it shows standard animation while fire button not pressed and firing animation when pressed
>
> I believe I intentionally took that code out which made the click when the fire button was pressed and the safety was on. My son was continually doing that and it drove me nuts. I guess he liked the sound. You could add some code around line 415 in the code with graph to do so. Just check if the fire button is pressed and play the click sound.
>
> —
> You are receiving this because you commented.
> Reply to this email directly, view it on GitHub, or mute the thread.


#419 I think this line causes `installDefaultBlocklists` to return without writing any domains into `/etc/pihole/adlists.list`.

I think removing this line will allow the default blocklists to be created on first-time run and when running without a mounted `/etc/pihole` volume.


Setting state to `success` where context is `continuous-integration/jenkins/branch`.

Failures are due to a ruby issue in the bots.


Simple Python Program for Decimal to Binary converter


Consider this instead, since it is more friendly to visual debuggers:
```
cv_f_.wait(lock,
    [this]
    {
        return ! flushing_.empty() || stop_;
    });
```


Hello evrybody,

That's amazing what you have done in this application.
I'm a student in automatic and I'm trying to do the same thing with mith my motorcycle.
I'm trying to recover the data in .csv file , but I can't find a way to do it
can you help me with some ideas please

thank you in advance.
Massi


MicroG package name is **com.google.android.gms**


Hi @Jermolene,

I agree that a visible "taint" indicator would be less confusing than moving content from the local storage to a local file.


Der Punkt ist, dass wir uns entscheiden müssen; alles, was ich zu sagen versuche ist, dass ich nicht denke, dass der leere Konstruktor ein Konstruktor ist.


That does reduce the lines of code but personally I find it harder to visualize what the code is doing when it is all on one line. If there was a significant performance improvement I would agree to the change but I think the difference, if any would be negligible. Possibly, with the right formatting it would make sense though. I'd rather spend time adding new features at this point in the Agoo life cycle.


@namespacestd0  is the lock useful with species_li declared on each subclass ? can you describe this race condition a little more ?


Hi @xcazin annoying that it's so insanely complicated for any normal user to keep track of the two independent indicators...


pop(), push() 완성.


This should be peopleGroupsController


Good observation. I'll make the change on the next checkin.


Лучше так:
```
history_var_value = instance_variable_get(history_var_name)
if history_var_value.nil?
  instance_variable_set(history_var_name, [])
else
  old_value = instance_variable_get(var_name)
  history_var_value << old_value
end
instance_variable_set(var_name, value)
```


Just be aware that now a store can be in one of 4 states:
1. in `waiting_`, with `flushing_ == false`
2. in `flushing_`, with `store->flushing_ == true`
3. nowhere, with `store->flushing_ == true`
4. nowhere, with `store->flushing_ == false`

Can states 3 and 4 be reduced to one state? Or even eliminated (I'm not sure) ?


Oops, maybe not. `Len` is used in two places. I'll leave it the way it is.


Используй `send`


these have to be left justified to start on column 1


We have our colortheme as a .scss, use sass for styling and transpile to css (I've already installed sass on my branch, I'll merge today)


This function actually belongs in impl/context.hpp (which doesn't exist yet) because it is a function template and cannot be put into a .cpp file.


multiple_hvac_fractions (nmerket) - x86_64-Linux-Ubuntu-18.04-gcc-7.3-IntegrationCoverage-Debug: OK (2443 of 2447 tests passed, 0 test warnings)

Failures:

integration Test Summary
 * Passed: 634
 * Failed: 2
 * Timeout: 2

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


Correct correction of a copy & paste, copy & paste, copy & paste, copy & paste ... glitch. 👍


Забыл добавить в .gitignore и удалить из git


Sorry,   \@mc is a decorator of a tool we use .
Is there a way (except removing that decorator) for you to ignore mentions from me ??
again, sorry


stopwords,get it from other project


Переменная должна называться так, чтобы в ней понятно было что находится.
В данном случае она должна быть $description


var_dump-ы необходимо удалять перед коммитом, чтобы конечному пользователю не выдавалась debug информация.


#23 #24 #25-Task


<details>

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

Client ID project/taskcluster/tc-github/production does not have sufficient scopes and are missing the following scopes:

```
{
  "AllOf": [
    "secrets:get:project/focus/firebase",
    "secrets:get:project/focus/nimbledroid"
  ]
}
```

You have the scopes:

```
[
  "assume:project:taskcluster:mozilla-github-repository",
  "assume:repo:github.com/mozilla-mobile/focus-android:tag:v8.0.7",
  "docker-worker:cache:android-components-*",
  "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/win2012r2",
  "queue:create-task:highest:aws-provisioner-v1/android-components-g",
  "queue:create-task:lowest:aws-provisioner-v1/mobile-1-decision",
  "queue:route:garbage.*",
  "queue:route:index.garbage.*",
  "queue:route:notify.email.*",
  "queue:route:notify.irc-channel.*",
  "queue:route:notify.irc-user.*",
  "queue:route:statuses",
  "queue:scheduler-id:taskcluster-github",
  "secrets:get:garbage/*",
  "secrets:get:project/mobile/android-components/public-tokens",
  "secrets:set:garbage/*"
]
```

This request requires you to satisfy this scope expression:

```
{
  "AllOf": [
    "queue:create-task:aws-provisioner-v1/github-worker",
    "queue:scheduler-id:taskcluster-github",
    "secrets:get:project/focus/firebase",
    "secrets:get:project/focus/nimbledroid",
    "queue:route:notify.irc-channel.#android-ci.on-any",
    "queue:route:notify.irc-channel.#android-ci.on-any",
    "queue:route:statuses",
    {
      "AnyOf": [
        {
          "AllOf": [
            "queue:scheduler-id:taskcluster-github",
            {
              "AnyOf": [
                "queue:create-task:highest:aws-provisioner-v1/github-worker",
                "queue:create-task:very-high:aws-provisioner-v1/github-worker",
                "queue:create-task:high:aws-provisioner-v1/github-worker",
                "queue:create-task:medium:aws-provisioner-v1/github-worker",
                "queue:create-task:low:aws-provisioner-v1/github-worker",
                "queue:create-task:very-low:aws-provisioner-v1/github-worker",
                "queue:create-task:lowest:aws-provisioner-v1/github-worker"
              ]
            }
          ]
        },
        {
          "AnyOf": [
            "queue:create-task:aws-provisioner-v1/github-worker",
            {
              "AllOf": [
                "queue:define-task:aws-provisioner-v1/github-worker",
                "queue:task-group-id:taskcluster-github/GprilF0URmSJqGp2OZnWXA",
                "queue:schedule-task:taskcluster-github/GprilF0URmSJqGp2OZnWXA/GprilF0URmSJqGp2OZnWXA"
              ]
            }
          ]
        }
      ]
    }
  ]
}
```

---

* method:     createTask
* errorCode:  InsufficientScopes
* statusCode: 403
* time:       2019-02-08T16:58:07.925Z

</details>


I think that in some versions of windows it has a different behavior. So its a bug.


Hatte ich gar nicht gemerkt, danke!


$_POST['name'] использовать нет смысла т.к. перед этим создали переменную $name.


PR_opened/Fix_6164_BoilerPumpFlowErrors (jmarrec) - Win64-Windows-7-VisualStudio-14: OK (3078 of 3078 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)


Убрать вардамп


Imagem, video, audio


#23 #25 #6 #10 #11


Thank you for catching this! Fixing


Curious, any reason you're using history.push() here instead of router.push()? History just adds extra bundle size / second routing api, router can already both drive navigations and provide router data such as url, params, query, etc.

Also, as an aside, I usually always try to avoid putting anything that's not data into the atom state. So I usually only keep state such as current route into in the atom and pass router as an argument to actions. This way you access router through closure, but not through atom state. Cause router/history object is not really state/data. In practise, you _don't have to_ do it that way. But that's my general rule of thumb.


@alexjanns Ich bitte dich, weiche Tabs zu verwenden; alle Projektteilnehmer nutzen Leerzeichen außer dir. Es mag in deinem Editor schön aussehen, da aber die Tabbreite nicht genormt ist, sieht es in den meisten anderen Editoren (und auch auf GitHub) irritierend aus.
Da ich zu wissen denke, dass du Notepad++ nutzt, hier die relevante Einstellung: https://stackoverflow.com/a/8197841.


test comment, just revert back the test commit


Install request & request-promise-native  and replace this function with:
```
import request from 'request-promise-native';

function getPeopleGroup() {
  const BASE_URL = 'https://gis.imb.org';
  const API_ENDPOINT = '/arcgis/rest/services/LIVE/PeopleGroupsOrg/MapServer/0/query';

  return request({
    baseUrl: BASE_URL,
    uri: API_ENDPOINT,
    method: 'GET',
    json: true,
    qs: {
      where: '1=1',
      geometryType: 'esriGeometryEnvelope',
      spatialRel: 'esriSpatialRelIntersects',
      units: 'esriSRUnit_Foot',
      outFields: '*',
      returnGeometry: true,
      returnDistinctValues: false,
      returnIdsOnly: false,
      returnCountOnly: false,
      returnExtentOnly: false,
      returnZ: false,
      returnM: false,
      f: 'json',
    },
  });
}
```


`if(isset( $_POST['name'])) {`


#23 #25 #6 #10 #11 #24


kk


#23  #6 #10 #11


#23 #25


Fixed in 797d9424db56b93f0453370b9bb85910ee1770ea


Created multidev environment [sfgov#ci-1908](https://dashboard.pantheon.io/sites/91d50373-c4cf-40e4-a646-cb73e16a140c#ci-1908).

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


Is this related to this PR ? :)


This undid the #1 fix


Can you explain what was the reason? Wasn't it because inter mode blocks not working correctly?
I remember motion_compensate() has  assert!(xdec == 1 && ydec == 1);


Константы относятся к карте, а не к колоде. Перенести в класс карты.
Отступ два пробела


Was this resolved by ros2/example_interfaces#5 ?


thanks for updating!


Successfully aliased the URL <https://magento-venia-jrlwnknhsr.now.sh> to the following aliases.

* https://magento-venia.now.sh
* https://veniapwa.com


Thanks for telling me.  Some OCR code within Google uses it, so the function needs global visibility


вектордын орнына колдану


Интерфейс не должен хранить состояние банка, колоды и т.д. Все данные для вывода передавать в качестве параметров


**simple_array** is  type of array for property, but in database it is type of string _(exploded array by `,`)_

https://www.doctrine-project.org/projects/doctrine-dbal/en/2.9/reference/types.html#simple-array


Sort added


Successfully aliased the URL <https://evoked-5entoxp4i.now.sh> to the following alias.

* https://evoked.now.sh


Yes, by removing the rule for now.


issues/5 obiously ...


How I can reproduce this?

>  multiple sets of JSON are sent at the same time


Look like the canthan new year version is missing here


最简单的贪心算法问题，海盗拿财宝问题


You don't need this return.


Created multidev environment [d8-nature-up-north-v2#ci-168](https://dashboard.pantheon.io/sites/f696edcc-8347-415d-baeb-c4c23d243ebe#ci-168).

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


I suspect the previous behaviour of handling an unexpected message was dependent on the old mechanism of parsing headers within mochiweb_http.  Now that the headers are parsed within OTP, can receipt of an unexpected message actually be handled.

The test was introduced immediately prior to the merge from upstream, and is failed by that merge.


Need this line.


Successfully aliased the URL <https://dapaah-zeqxzrwmoi.now.sh> to the following aliases.

* https://dapaah.me
* https://www.dapaah.me


Thank you I didn´t notice about it


* How do you think about to check if the shown change possibility will result in measurable run time differences?
* Can such an approach reduce the number of function calls another bit from which return values are still ignored in this software?
* Which source code formatting would you find more pleasing for the proposed variant?


PR_opened/Enable_Transition_to_Current_Iter (jmarrec) - x86_64-MacOS-10.13-clang: OK (3076 of 3076 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)


Puzzle `13-e94c1888` disappeared from [`restaurants/models.py`](https://github.com/timelesslounge/timelessis/blob/master/restaurants/models.py), that's why I closed #72. Please, remember that the puzzle was not necessarily removed in this particular commit. Maybe it happened earlier, but we discovered this fact only now.


Puzzle `72-ff413457` discovered in   [`timeless/restaurants/table_shapes/views.py`](  https://github.com/timelesslounge/timelessis/blob/master/timeless/restaurants/table_shapes/views.py)   and submitted as #162. Please, remember that the puzzle was not   necessarily added in this particular commit. Maybe it was added earlier, but   we discovered it only now.


Suggest keeping the style elements in a separate file just as you did for main.css.
Consistency.


I don't know frankly, but that's likely simply not relevant enough.


fixed


@jackpoz Fix doesn't work. We still have crashes.
https://gist.github.com/lost-illusion/aae570416ab4ecc84471afe2eea67898
https://gist.github.com/lost-illusion/492ebc78159619b8987021b55327ee82


good thing git remembers!  of course removing all of that disabled-by-comment code will make the weewx comment-to-code radio drop ;)


I guess you can use something like this
echo "<link rel='stylesheet' type='text/css' href='stylesheet.css' />";


В класс банка


Also improved the color filter feature to allow users to make their own color filters.


`elfi` oops


Il mio è più bello 🐛


Some sort of comment at the top of all this would be a good idea, to ensure it doesn't ever get lost while "polishing" at some point in the future.


nice await :+1:


A good set would be `AArch64 ARM Mips PowerPC X86 AMDGPU WebAssembly`… SPARC is really not popular anymore, but AMDGPU is necessary for anyone with an AMD GPU (it's used by Mesa) and WASM is a popular target these days


Can keep the queries for insertion, deletion, and selection in separate functions that return results.
Later you can have a separate class/ file that has all these DB queries.


Successfully aliased the URL <https://wattos-spaceship-emporium-3spvyp9vb.now.sh> to the following alias.

* https://wattos-spaceship-emporium-store.now.sh


That can't be solved here, though, that's something to solve in the OBJ code.


Same here. It be too easy to for someone in the future to replace with a stream.


he means that the $data variable cames with:

$data = '{"foo":"var"}{"foo":"var"}';

then he needs to split those jsons.


Interesting!
Thank you both for the explanations. :)
This also helped us, since we experienced the same issues on AKS


Определение победителя можно вынести в отдельный метод. Если ничья, то метод возвращает nil.
Условие слишком сложное для чтения. Можно сделать более линейно и разбить на следующие кейсы:
1 Если у игрока и дилера больше 21, то ничья
2 Если у игрока и дилера равное количество очков, то ничья
3 Если у игрока больше 21, то победил дилер
4 Если у дилера больше 21, то победил игрок
5 Победил тот у кого больше очков

Лучше сразу делать return если выполняется какое-то условие, например

```
def define_winner
  return if @player.points > 21 && @dealer.points > 21
  return if @player.points == @dealer.points
  ...
end
```


Successfully aliased the URL <https://design-docs-mcgtawa7y.now.sh> to the following alias.

* https://aaptiv.design


Thanks Jeremy!


Created multidev environment [sg-buildtoolz#ci-151](https://dashboard.pantheon.io/sites/ab540917-2b79-43aa-bb5f-0a23d9aa1b05#ci-151).

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


Is it possible that the Bring-Module is broken?
Any other Modules (Sonos, Hue, etc.) I use work like a charm but this one doesn't even appear on the Mirror as "loading".


Hah this isn't even used... will remove..


Excellent work, thanks!


@rugpanov, could we try using consistent property naming with existing property, e.g. `teamcity.deployer.smb.enforceSMBv1` -> `jetbrains.buildServer.deployer.smb.enforceSMBv1`?


There is a also `Version:` and `Checksum:` present.

![capture](https://user-images.githubusercontent.com/34774426/52495261-c06cfb80-2b95-11e9-9bf5-3d65bf8ca46a.PNG)


В интерфейс


All good to branch off from here? Was all initialization done?


@rugpanov, could we make this message a bit more human readable, e.g. "Using SMB v2/v3 protocol"?


Successfully aliased the URL <https://personal-site-ccdiuhpywk.now.sh> to the following alias.

* https://site.sergiodxa.com


good


Compilation error on debian 9 with following logs as under: -

* 8d625cc (HEAD -> master, origin/master, origin/HEAD) add auto test suites for #661
* 4266f8e move SDES-no handling into __sdes_accept

rtpengine$ dpkg-buildpackage -b -us -uc
.....
# a\=rtcp\:(\d{1,5})\
# a\=ice\-ufrag\:([0-9a-zA-Z]{8})\
# a\=ice\-pwd\:([0-9a-zA-Z]{26})\
# a\=candidate\:([0-9a-zA-Z]{16})\ 1\ UDP\ 2130706431\ 203\.0\.113\.1\ (\d{1,5})\ typ\ host\
# a\=candidate\:([0-9a-zA-Z]{16})\ 1\ UDP\ 2130706175\ 2001\:db8\:4321\:\:1\ (\d{1,5})\ typ\ host\
# a\=candidate\:([0-9a-zA-Z]{16})\ 2\ UDP\ 2130706430\ 203\.0\.113\.1\ (\d{1,5})\ typ\ host\
# a\=candidate\:([0-9a-zA-Z]{16})\ 2\ UDP\ 2130706174\ 2001\:db8\:4321\:\:1\ (\d{1,5})\ typ\ host\
# $)'
ok 34 - gh 686 - offer status
ok 35 - gh 686 - output offer SDP
ok 36 - gh 661 plain - offer status
ok 37 - gh 661 plain - output offer SDP
ok 38 - gh 661 plain - answer status
ok 39 - gh 661 plain - output answer SDP
ok 40 - gh 661 suppress one - offer status
ok 41 - gh 661 suppress one - output offer SDP
ok 42 - gh 661 suppress one - answer status
ok 43 - gh 661 suppress one - output answer SDP
ok 44 - gh 661 remove one - offer status
ok 45 - gh 661 remove one - output offer SDP
ok 46 - gh 661 remove one - answer status
ok 47 - gh 661 remove one - output answer SDP
ok 48 - gh 661 remove first - offer status
ok 49 - gh 661 remove first - output offer SDP
ok 50 - gh 661 remove first - answer status
ok 51 - gh 661 remove first - output answer SDP
ok 52 - gh 661 plain to RTP - offer status
ok 53 - gh 661 plain to RTP - output offer SDP
ok 54 - gh 661 plain to RTP - answer status
ok 55 - gh 661 plain to RTP - output answer SDP
ok 56 - gh 661 remove one to RTP - offer status
ok 57 - gh 661 remove one to RTP - output offer SDP
ok 58 - gh 661 remove one to RTP - answer status
ok 59 - gh 661 remove one to RTP - output answer SDP
ok 60 - gh 661 remove first to RTP - offer status
ok 61 - gh 661 remove first to RTP - output offer SDP
ok 62 - gh 661 remove first to RTP - answer status
ok 63 - gh 661 remove first to RTP - output answer SDP
ok 64 - gh 661 plain from RTP - offer status
ok 65 - gh 661 plain from RTP - output offer SDP
ok 66 - gh 661 plain from RTP - answer status
ok 67 - gh 661 plain from RTP - output answer SDP
ok 68 - gh 661 from RTP suppress one - offer status
ok 69 - gh 661 from RTP suppress one - output offer SDP
ok 70 - gh 661 from RTP suppress one - answer status
ok 71 - gh 661 from RTP suppress one - output answer SDP
ok 72 - gh 661 from RTP suppress first - offer status
ok 73 - gh 661 from RTP suppress first - output offer SDP
ok 74 - gh 661 from RTP suppress first - answer status
ok 75 - gh 661 from RTP suppress first - output answer SDP
1..75
# Looks like you failed 8 tests of 75.
Makefile:90: recipe for target 'daemon-tests' failed
make[3]: *** [daemon-tests] Error 8
rm control_ng.strhash.c sdp.strhash.c call_interfaces.strhash.c
make[3]: Leaving directory '/home/mzaka/rtpengine/rtpengine/t'
../lib/common.Makefile:4: recipe for target 'all' failed
make[2]: *** [all] Error 2
make[2]: Leaving directory '/home/mzaka/rtpengine/rtpengine/t'
Makefile:34: recipe for target 'check' failed
make[1]: *** [check] Error 2
make[1]: Leaving directory '/home/mzaka/rtpengine/rtpengine'
dh_auto_test: make -j2 check returned exit code 2
debian/rules:25: recipe for target 'build' failed
make: *** [build] Error 2
dpkg-buildpackage: error: debian/rules build gave error exit status 2


This is a band-aid for #194


You was right, I did not add the file _insn_leaf_flag.erb to the git repository.  I've just added it.


Post the full log? It's cut off exactly where the problem is.


6000 / 20 = 300 = 5 min?


These regular expressions *should* consider visiting a doctor...


there is not a single light


This is reducing bonus too much, isn't it? If you call it roughly 2.5/5 for each term, this bonus is ~half that of master. Perhaps you want `4 * ` and `6 * `?


Thank you :)


resultado = (((n1 - n2)/1500) /60) *ktn


The reference in the text is still "clean=True"
Please fix it


A indeed, Thanks !