@mauritsvanrees Jenkins CI reporting about code analysis
See the full report here: https://jenkins.plone.org/job/package-plone.caching/22/violations
```
plone/__init__.py:0:1: C101 Coding magic comment not found
plone/caching/hooks.py:0:1: C101 Coding magic comment not found
plone/caching/hooks.py:1:1: I001 isort found an import in the wrong position
plone/caching/hooks.py:2:1: I004 isort found an unexpected blank line in imports
plone/caching/hooks.py:5:1: I001 isort found an import in the wrong position
plone/caching/hooks.py:6:1: I004 isort found an unexpected blank line in imports
plone/caching/hooks.py:7:1: I001 isort found an import in the wrong position
plone/caching/hooks.py:8:1: I004 isort found an unexpected blank line in imports
plone/caching/hooks.py:9:1: I001 isort found an import in the wrong position
plone/caching/hooks.py:10:1: I004 isort found an unexpected blank line in imports
plone/caching/hooks.py:13:1: I001 isort found an import in the wrong position
plone/caching/hooks.py:15:1: I001 isort found an import in the wrong position
plone/caching/hooks.py:16:1: I001 isort found an import in the wrong position
plone/caching/hooks.py:18:1: I001 isort found an import in the wrong position
plone/caching/hooks.py:19:1: I001 isort found an import in the wrong position
plone/caching/hooks.py:20:1: I004 isort found an unexpected blank line in imports
plone/caching/hooks.py:21:1: I001 isort found an import in the wrong position
plone/caching/hooks.py:25:1: E302 expected 2 blank lines, found 1
plone/caching/hooks.py:32:1: E302 expected 2 blank lines, found 1
plone/caching/hooks.py:41:49: Q000 Remove bad quotes.
plone/caching/hooks.py:45:1: E302 expected 2 blank lines, found 1
plone/caching/hooks.py:57:1: E302 expected 2 blank lines, found 1
plone/caching/hooks.py:78:22: Q000 Remove bad quotes.
plone/caching/hooks.py:78:80: E501 line too long (97 > 79 characters)
plone/caching/hooks.py:89:80: E501 line too long (83 > 79 characters)
plone/caching/hooks.py:108:5: B901 blind except: statement
plone/caching/hooks.py:109:27: Q000 Remove bad quotes.
plone/caching/hooks.py:109:80: E501 line too long (98 > 79 characters)
plone/caching/hooks.py:111:1: E302 expected 2 blank lines, found 1
plone/caching/hooks.py:126:5: D001 found implements( replace it with zope.interface.implementer
plone/caching/hooks.py:127:5: D001 found adapts( replace it with zope.component.adapter
plone/caching/hooks.py:164:22: Q000 Remove bad quotes.
plone/caching/hooks.py:164:80: E501 line too long (97 > 79 characters)
plone/caching/hooks.py:174:1: E302 expected 2 blank lines, found 1
plone/caching/hooks.py:200:18: Q000 Remove bad quotes.
plone/caching/hooks.py:200:80: E501 line too long (93 > 79 characters)
plone/caching/interfaces.py:0:1: C101 Coding magic comment not found
plone/caching/interfaces.py:1:1: I003 isort expected 1 blank line in imports, found 0
plone/caching/interfaces.py:3:1: I001 isort found an import in the wrong position
plone/caching/interfaces.py:4:1: I001 isort found an import in the wrong position
plone/caching/interfaces.py:8:20: E221 multiple spaces before operator
plone/caching/interfaces.py:11:1: E302 expected 2 blank lines, found 1
plone/caching/interfaces.py:16:21: Q000 Remove bad quotes.
plone/caching/interfaces.py:17:27: Q000 Remove bad quotes.
plone/caching/interfaces.py:17:80: E501 line too long (82 > 79 characters)
plone/caching/interfaces.py:22:21: Q000 Remove bad quotes.
plone/caching/interfaces.py:23:27: Q000 Remove bad quotes.
plone/caching/interfaces.py:24:48: Q000 Remove bad quotes.
plone/caching/interfaces.py:25:50: Q000 Remove bad quotes.
plone/caching/interfaces.py:32:1: E302 expected 2 blank lines, found 1
plone/caching/interfaces.py:85:13: D001 found implements( replace it with zope.interface.implementer
plone/caching/interfaces.py:86:13: D001 found adapts( replace it with zope.component.adapter
plone/caching/interfaces.py:118:21: Q000 Remove bad quotes.
plone/caching/interfaces.py:119:27: Q000 Remove bad quotes.
plone/caching/interfaces.py:123:21: Q000 Remove bad quotes.
plone/caching/interfaces.py:124:27: Q000 Remove bad quotes.
plone/caching/interfaces.py:129:21: Q000 Remove bad quotes.
plone/caching/interfaces.py:130:27: Q000 Remove bad quotes.
plone/caching/interfaces.py:131:27: Q000 Remove bad quotes.
plone/caching/interfaces.py:132:27: Q000 Remove bad quotes.
plone/caching/interfaces.py:133:27: Q000 Remove bad quotes.
plone/caching/interfaces.py:134:27: Q000 Remove bad quotes.
plone/caching/interfaces.py:139:21: Q000 Remove bad quotes.
plone/caching/interfaces.py:140:27: Q000 Remove bad quotes.
plone/caching/interfaces.py:141:27: Q000 Remove bad quotes.
plone/caching/interfaces.py:142:27: Q000 Remove bad quotes.
plone/caching/interfaces.py:143:27: Q000 Remove bad quotes.
plone/caching/interfaces.py:144:27: Q000 Remove bad quotes.
plone/caching/lookup.py:0:1: C101 Coding magic comment not found
plone/caching/lookup.py:2:1: I001 isort found an import in the wrong position
plone/caching/lookup.py:3:1: I001 isort found an import in the wrong position
plone/caching/lookup.py:5:1: I001 isort found an import in the wrong position
plone/caching/lookup.py:6:1: I001 isort found an import in the wrong position
plone/caching/lookup.py:8:1: E302 expected 2 blank lines, found 1
plone/caching/lookup.py:15:5: D001 found implements( replace it with zope.interface.implementer
plone/caching/lookup.py:16:5: D001 found adapts( replace it with zope.component.adapter
plone/caching/operations.py:0:1: C101 Coding magic comment not found
plone/caching/operations.py:1:1: I001 isort found an import in the wrong position
plone/caching/operations.py:2:1: I001 isort found an import in the wrong position
plone/caching/operations.py:3:1: I004 isort found an unexpected blank line in imports
plone/caching/operations.py:6:1: I001 isort found an import in the wrong position
plone/caching/operations.py:8:1: I001 isort found an import in the wrong position
plone/caching/operations.py:10:1: E302 expected 2 blank lines, found 1
plone/caching/operations.py:25:5: D001 found implements( replace it with zope.interface.implementer
plone/caching/operations.py:26:5: D001 found adapts( replace it with zope.component.adapter
plone/caching/operations.py:31:15: Q000 Remove bad quotes.
plone/caching/operations.py:32:21: Q000 Remove bad quotes.
plone/caching/operations.py:49:46: E128 continuation line under-indented for visual indent
plone/caching/operations.py:56:80: E501 line too long (90 > 79 characters)
plone/caching/operations.py:68:46: E128 continuation line under-indented for visual indent
plone/caching/testing.py:0:1: C101 Coding magic comment not found
plone/caching/testing.py:6:1: I003 isort expected 1 blank line in imports, found 0
plone/caching/utils.py:0:1: C101 Coding magic comment not found
plone/caching/utils.py:1:1: I001 isort found an import in the wrong position
plone/caching/utils.py:2:1: I004 isort found an unexpected blank line in imports
plone/caching/utils.py:3:1: I001 isort found an import in the wrong position
plone/caching/utils.py:4:1: I001 isort found an import in the wrong position
plone/caching/utils.py:5:1: I004 isort found an unexpected blank line in imports
plone/caching/utils.py:6:1: I001 isort found an import in the wrong position
plone/caching/utils.py:7:1: I004 isort found an unexpected blank line in imports
plone/caching/utils.py:11:1: I001 isort found an import in the wrong position
plone/caching/utils.py:12:1: I003 isort expected 1 blank line in imports, found 0
plone/caching/utils.py:12:1: I003 isort expected 1 blank line in imports, found 0
plone/caching/utils.py:13:1: E302 expected 2 blank lines, found 1
plone/caching/utils.py:33:80: E501 line too long (89 > 79 characters)
plone/caching/utils.py:37:1: E302 expected 2 blank lines, found 1
plone/caching/utils.py:51:80: E501 line too long (84 > 79 characters)
plone/caching/utils.py:60:11: Q000 Remove bad quotes.
plone/caching/utils.py:60:11: S001 found module formatter
plone/caching/utils.py:64:11: Q000 Remove bad quotes.
plone/caching/utils.py:64:11: S001 found module formatter
plone/caching/utils.py:70:1: E302 expected 2 blank lines, found 1
plone/caching/utils.py:105:80: E501 line too long (94 > 79 characters)
plone/caching/tests/test_hooks.py:0:1: C101 Coding magic comment not found
plone/caching/tests/test_hooks.py:1:1: I001 isort found an import in the wrong position
plone/caching/tests/test_hooks.py:2:1: I004 isort found an unexpected blank line in imports
plone/caching/tests/test_hooks.py:3:1: I001 isort found an import in the wrong position
plone/caching/tests/test_hooks.py:4:1: I001 isort found an import in the wrong position
plone/caching/tests/test_hooks.py:5:1: I004 isort found an unexpected blank line in imports
plone/caching/tests/test_hooks.py:6:1: I001 isort found an import in the wrong position
plone/caching/tests/test_hooks.py:7:1: I004 isort found an unexpected blank line in imports
plone/caching/tests/test_hooks.py:8:1: I001 isort found an import in the wrong position
plone/caching/tests/test_hooks.py:9:1: I004 isort found an unexpected blank line in imports
plone/caching/tests/test_hooks.py:10:1: I001 isort found an import in the wrong position
plone/caching/tests/test_hooks.py:11:1: I004 isort found an unexpected blank line in imports
plone/caching/tests/test_hooks.py:14:1: I004 isort found an unexpected blank line in imports
plone/caching/tests/test_hooks.py:15:1: I001 isort found an import in the wrong position
plone/caching/tests/test_hooks.py:16:1: I001 isort found an import in the wrong position
plone/caching/tests/test_hooks.py:17:1: I001 isort found an import in the wrong position
plone/caching/tests/test_hooks.py:18:1: I004 isort found an unexpected blank line in imports
plone/caching/tests/test_hooks.py:19:1: I001 isort found an import in the wrong position
plone/caching/tests/test_hooks.py:20:1: I004 isort found an unexpected blank line in imports
plone/caching/tests/test_hooks.py:21:1: I001 isort found an import in the wrong position
plone/caching/tests/test_hooks.py:22:1: I001 isort found an import in the wrong position
plone/caching/tests/test_hooks.py:23:1: I001 isort found an import in the wrong position
plone/caching/tests/test_hooks.py:24:1: I001 isort found an import in the wrong position
plone/caching/tests/test_hooks.py:25:1: I001 isort found an import in the wrong position
plone/caching/tests/test_hooks.py:26:1: I004 isort found an unexpected blank line in imports
plone/caching/tests/test_hooks.py:27:1: I001 isort found an import in the wrong position
plone/caching/tests/test_hooks.py:28:1: I004 isort found an unexpected blank line in imports
plone/caching/tests/test_hooks.py:30:1: I003 isort expected 1 blank line in imports, found 0
plone/caching/tests/test_hooks.py:30:1: I003 isort expected 1 blank line in imports, found 0
plone/caching/tests/test_hooks.py:31:1: E302 expected 2 blank lines, found 1
plone/caching/tests/test_hooks.py:34:1: E302 expected 2 blank lines, found 1
plone/caching/tests/test_hooks.py:38:1: E302 expected 2 blank lines, found 1
plone/caching/tests/test_hooks.py:52:5: E301 expected 1 blank line, found 0
plone/caching/tests/test_hooks.py:55:1: E302 expected 2 blank lines, found 1
plone/caching/tests/test_hooks.py:61:1: E302 expected 2 blank lines, found 1
plone/caching/tests/test_hooks.py:65:1: E302 expected 2 blank lines, found 1
plone/caching/tests/test_hooks.py:69:1: E302 expected 2 blank lines, found 1
plone/caching/tests/test_hooks.py:86:58: Q000 Remove bad quotes.
plone/caching/tests/test_hooks.py:86:63: Q000 Remove bad quotes.
plone/caching/tests/test_hooks.py:88:14: D001 found assertEquals( replace it with assertEqual
plone/caching/tests/test_hooks.py:89:14: D001 found assertEquals( replace it with assertEqual
plone/caching/tests/test_hooks.py:96:58: Q000 Remove bad quotes.
plone/caching/tests/test_hooks.py:96:63: Q000 Remove bad quotes.
plone/caching/tests/test_hooks.py:98:14: D001 found assertEquals( replace it with assertEqual
plone/caching/tests/test_hooks.py:99:14: D001 found assertEquals( replace it with assertEqual
plone/caching/tests/test_hooks.py:107:58: Q000 Remove bad quotes.
plone/caching/tests/test_hooks.py:107:63: Q000 Remove bad quotes.
plone/caching/tests/test_hooks.py:109:14: D001 found assertEquals( replace it with assertEqual
plone/caching/tests/test_hooks.py:110:14: D001 found assertEquals( replace it with assertEqual
plone/caching/tests/test_hooks.py:125:58: Q000 Remove bad quotes.
plone/caching/tests/test_hooks.py:125:63: Q000 Remove bad quotes.
plone/caching/tests/test_hooks.py:127:14: D001 found assertEquals( replace it with assertEqual
plone/caching/tests/test_hooks.py:128:14: D001 found assertEquals( replace it with assertEqual
plone/caching/tests/test_hooks.py:143:58: Q000 Remove bad quotes.
plone/caching/tests/test_hooks.py:143:63: Q000 Remove bad quotes.
plone/caching/tests/test_hooks.py:145:14: D001 found assertEquals( replace it with assertEqual
plone/caching/tests/test_hooks.py:146:14: D001 found assertEquals( replace it with assertEqual
plone/caching/tests/test_hooks.py:161:58: Q000 Remove bad quotes.
plone/caching/tests/test_hooks.py:161:63: Q000 Remove bad quotes.
plone/caching/tests/test_hooks.py:163:14: D001 found assertEquals( replace it with assertEqual
plone/caching/tests/test_hooks.py:164:14: D001 found assertEquals( replace it with assertEqual
plone/caching/tests/test_hooks.py:180:58: Q000 Remove bad quotes.
plone/caching/tests/test_hooks.py:180:63: Q000 Remove bad quotes.
plone/caching/tests/test_hooks.py:182:14: D001 found assertEquals( replace it with assertEqual
plone/caching/tests/test_hooks.py:183:14: D001 found assertEquals( replace it with assertEqual
plone/caching/tests/test_hooks.py:183:80: E501 line too long (81 > 79 characters)
plone/caching/tests/test_hooks.py:199:58: Q000 Remove bad quotes.
plone/caching/tests/test_hooks.py:199:63: Q000 Remove bad quotes.
plone/caching/tests/test_hooks.py:201:14: D001 found assertEquals( replace it with assertEqual
plone/caching/tests/test_hooks.py:202:14: D001 found assertEquals( replace it with assertEqual
plone/caching/tests/test_hooks.py:202:80: E501 line too long (81 > 79 characters)
plone/caching/tests/test_hooks.py:216:13: D001 found implements( replace it with zope.interface.implementer
plone/caching/tests/test_hooks.py:217:13: D001 found adapts( replace it with zope.component.adapter
plone/caching/tests/test_hooks.py:229:45: Q000 Remove bad quotes.
plone/caching/tests/test_hooks.py:234:58: Q000 Remove bad quotes.
plone/caching/tests/test_hooks.py:234:63: Q000 Remove bad quotes.
plone/caching/tests/test_hooks.py:236:14: D001 found assertEquals( replace it with assertEqual
plone/caching/tests/test_hooks.py:237:14: D001 found assertEquals( replace it with assertEqual
plone/caching/tests/test_hooks.py:253:13: D001 found implements( replace it with zope.interface.implementer
plone/caching/tests/test_hooks.py:254:13: D001 found adapts( replace it with zope.component.adapter
plone/caching/tests/test_hooks.py:266:45: Q000 Remove bad quotes.
plone/caching/tests/test_hooks.py:271:56: Q000 Remove bad quotes.
plone/caching/tests/test_hooks.py:271:60: Q000 Remove bad quotes.
plone/caching/tests/test_hooks.py:273:14: D001 found assertEquals( replace it with assertEqual
plone/caching/tests/test_hooks.py:274:14: D001 found assertEquals( replace it with assertEqual
plone/caching/tests/test_hooks.py:290:13: D001 found implements( replace it with zope.interface.implementer
plone/caching/tests/test_hooks.py:291:13: D001 found adapts( replace it with zope.component.adapter
plone/caching/tests/test_hooks.py:303:45: Q000 Remove bad quotes.
plone/caching/tests/test_hooks.py:308:60: Q000 Remove bad quotes.
plone/caching/tests/test_hooks.py:308:65: Q000 Remove bad quotes.
plone/caching/tests/test_hooks.py:310:14: D001 found assertEquals( replace it with assertEqual
plone/caching/tests/test_hooks.py:311:14: D001 found assertEquals( replace it with assertEqual
plone/caching/tests/test_hooks.py:327:13: D001 found implements( replace it with zope.interface.implementer
plone/caching/tests/test_hooks.py:328:13: D001 found adapts( replace it with zope.component.adapter
plone/caching/tests/test_hooks.py:340:45: Q000 Remove bad quotes.
plone/caching/tests/test_hooks.py:345:62: Q000 Remove bad quotes.
plone/caching/tests/test_hooks.py:345:67: Q000 Remove bad quotes.
plone/caching/tests/test_hooks.py:347:14: D001 found assertEquals( replace it with assertEqual
plone/caching/tests/test_hooks.py:348:14: D001 found assertEquals( replace it with assertEqual
plone/caching/tests/test_hooks.py:364:13: D001 found implements( replace it with zope.interface.implementer
plone/caching/tests/test_hooks.py:365:13: D001 found adapts( replace it with zope.component.adapter
plone/caching/tests/test_hooks.py:377:45: Q000 Remove bad quotes.
plone/caching/tests/test_hooks.py:382:58: Q000 Remove bad quotes.
plone/caching/tests/test_hooks.py:382:63: Q000 Remove bad quotes.
plone/caching/tests/test_hooks.py:384:14: D001 found assertEquals( replace it with assertEqual
plone/caching/tests/test_hooks.py:385:14: D001 found assertEquals( replace it with assertEqual
plone/caching/tests/test_hooks.py:387:1: E302 expected 2 blank lines, found 1
plone/caching/tests/test_hooks.py:411:14: D001 found assertEquals( replace it with assertEqual
plone/caching/tests/test_hooks.py:412:14: D001 found assertEquals( replace it with assertEqual
plone/caching/tests/test_hooks.py:424:14: D001 found assertEquals( replace it with assertEqual
plone/caching/tests/test_hooks.py:425:14: D001 found assertEquals( replace it with assertEqual
plone/caching/tests/test_hooks.py:438:14: D001 found assertEquals( replace it with assertEqual
plone/caching/tests/test_hooks.py:439:14: D001 found assertEquals( replace it with assertEqual
plone/caching/tests/test_hooks.py:458:14: D001 found assertEquals( replace it with assertEqual
plone/caching/tests/test_hooks.py:459:14: D001 found assertEquals( replace it with assertEqual
plone/caching/tests/test_hooks.py:478:14: D001 found assertEquals( replace it with assertEqual
plone/caching/tests/test_hooks.py:479:14: D001 found assertEquals( replace it with assertEqual
plone/caching/tests/test_hooks.py:498:14: D001 found assertEquals( replace it with assertEqual
plone/caching/tests/test_hooks.py:499:14: D001 found assertEquals( replace it with assertEqual
plone/caching/tests/test_hooks.py:519:14: D001 found assertEquals( replace it with assertEqual
plone/caching/tests/test_hooks.py:520:14: D001 found assertEquals( replace it with assertEqual
plone/caching/tests/test_hooks.py:520:80: E501 line too long (81 > 79 characters)
plone/caching/tests/test_hooks.py:540:14: D001 found assertEquals( replace it with assertEqual
plone/caching/tests/test_hooks.py:541:14: D001 found assertEquals( replace it with assertEqual
plone/caching/tests/test_hooks.py:541:80: E501 line too long (81 > 79 characters)
plone/caching/tests/test_hooks.py:555:13: D001 found implements( replace it with zope.interface.implementer
plone/caching/tests/test_hooks.py:556:13: D001 found adapts( replace it with zope.component.adapter
plone/caching/tests/test_hooks.py:568:45: Q000 Remove bad quotes.
plone/caching/tests/test_hooks.py:577:14: D001 found assertEquals( replace it with assertEqual
plone/caching/tests/test_hooks.py:578:14: D001 found assertEquals( replace it with assertEqual
plone/caching/tests/test_hooks.py:594:13: D001 found implements( replace it with zope.interface.implementer
plone/caching/tests/test_hooks.py:595:13: D001 found adapts( replace it with zope.component.adapter
plone/caching/tests/test_hooks.py:607:45: Q000 Remove bad quotes.
plone/caching/tests/test_hooks.py:616:14: D001 found assertEquals( replace it with assertEqual
plone/caching/tests/test_hooks.py:617:14: D001 found assertEquals( replace it with assertEqual
plone/caching/tests/test_hooks.py:633:13: D001 found implements( replace it with zope.interface.implementer
plone/caching/tests/test_hooks.py:634:13: D001 found adapts( replace it with zope.component.adapter
plone/caching/tests/test_hooks.py:646:45: Q000 Remove bad quotes.
plone/caching/tests/test_hooks.py:655:14: D001 found assertEquals( replace it with assertEqual
plone/caching/tests/test_hooks.py:656:14: D001 found assertEquals( replace it with assertEqual
plone/caching/tests/test_hooks.py:672:13: D001 found implements( replace it with zope.interface.implementer
plone/caching/tests/test_hooks.py:673:13: D001 found adapts( replace it with zope.component.adapter
plone/caching/tests/test_hooks.py:685:45: Q000 Remove bad quotes.
plone/caching/tests/test_hooks.py:694:14: D001 found assertEquals( replace it with assertEqual
plone/caching/tests/test_hooks.py:695:14: D001 found assertEquals( replace it with assertEqual
plone/caching/tests/test_hooks.py:711:13: D001 found implements( replace it with zope.interface.implementer
plone/caching/tests/test_hooks.py:712:13: D001 found adapts( replace it with zope.component.adapter
plone/caching/tests/test_hooks.py:724:45: Q000 Remove bad quotes.
plone/caching/tests/test_hooks.py:733:14: D001 found assertEquals( replace it with assertEqual
plone/caching/tests/test_hooks.py:734:14: D001 found assertEquals( replace it with assertEqual
plone/caching/tests/test_hooks.py:736:1: E302 expected 2 blank lines, found 1
plone/caching/tests/test_hooks.py:754:14: D001 found assertEquals( replace it with assertEqual
plone/caching/tests/test_hooks.py:755:14: D001 found assertEquals( replace it with assertEqual
plone/caching/tests/test_hooks.py:764:14: D001 found assertEquals( replace it with assertEqual
plone/caching/tests/test_hooks.py:765:14: D001 found assertEquals( replace it with assertEqual
plone/caching/tests/test_hooks.py:776:14: D001 found assertEquals( replace it with assertEqual
plone/caching/tests/test_hooks.py:777:14: D001 found assertEquals( replace it with assertEqual
plone/caching/tests/test_hooks.py:793:14: D001 found assertEquals( replace it with assertEqual
plone/caching/tests/test_hooks.py:794:14: D001 found assertEquals( replace it with assertEqual
plone/caching/tests/test_hooks.py:812:14: D001 found assertEquals( replace it with assertEqual
plone/caching/tests/test_hooks.py:813:14: D001 found assertEquals( replace it with assertEqual
plone/caching/tests/test_hooks.py:830:14: D001 found assertEquals( replace it with assertEqual
plone/caching/tests/test_hooks.py:831:14: D001 found assertEquals( replace it with assertEqual
plone/caching/tests/test_hooks.py:831:80: E501 line too long (81 > 79 characters)
plone/caching/tests/test_hooks.py:845:13: D001 found implements( replace it with zope.interface.implementer
plone/caching/tests/test_hooks.py:846:13: D001 found adapts( replace it with zope.component.adapter
plone/caching/tests/test_hooks.py:859:45: Q000 Remove bad quotes.
plone/caching/tests/test_hooks.py:865:14: D001 found assertEquals( replace it with assertEqual
plone/caching/tests/test_hooks.py:866:14: D001 found assertEquals( replace it with assertEqual
plone/caching/tests/test_hooks.py:881:13: D001 found implements( replace it with zope.interface.implementer
plone/caching/tests/test_hooks.py:882:13: D001 found adapts( replace it with zope.component.adapter
plone/caching/tests/test_hooks.py:894:24: Q000 Remove bad quotes.
plone/caching/tests/test_hooks.py:896:45: Q000 Remove bad quotes.
plone/caching/tests/test_hooks.py:904:18: D001 found assertEquals( replace it with assertEqual
plone/caching/tests/test_hooks.py:904:31: Q000 Remove bad quotes.
plone/caching/tests/test_hooks.py:905:18: D001 found assertEquals( replace it with assertEqual
plone/caching/tests/test_hooks.py:906:18: D001 found assertEquals( replace it with assertEqual
plone/caching/tests/test_hooks.py:907:18: D001 found assertEquals( replace it with assertEqual
plone/caching/tests/test_hooks.py:911:14: D001 found assertEquals( replace it with assertEqual
plone/caching/tests/test_hooks.py:912:14: D001 found assertEquals( replace it with assertEqual
plone/caching/tests/test_hooks.py:912:80: E501 line too long (82 > 79 characters)
plone/caching/tests/test_hooks.py:913:14: D001 found assertEquals( replace it with assertEqual
plone/caching/tests/test_hooks.py:929:13: D001 found implements( replace it with zope.interface.implementer
plone/caching/tests/test_hooks.py:930:13: D001 found adapts( replace it with zope.component.adapter
plone/caching/tests/test_hooks.py:943:24: Q000 Remove bad quotes.
plone/caching/tests/test_hooks.py:945:45: Q000 Remove bad quotes.
plone/caching/tests/test_hooks.py:953:18: D001 found assertEquals( replace it with assertEqual
plone/caching/tests/test_hooks.py:953:31: Q000 Remove bad quotes.
plone/caching/tests/test_hooks.py:954:18: D001 found assertEquals( replace it with assertEqual
plone/caching/tests/test_hooks.py:955:18: D001 found assertEquals( replace it with assertEqual
plone/caching/tests/test_hooks.py:956:18: D001 found assertEquals( replace it with assertEqual
plone/caching/tests/test_hooks.py:960:14: D001 found assertEquals( replace it with assertEqual
plone/caching/tests/test_hooks.py:961:14: D001 found assertEquals( replace it with assertEqual
plone/caching/tests/test_hooks.py:961:80: E501 line too long (83 > 79 characters)
plone/caching/tests/test_hooks.py:962:14: D001 found assertEquals( replace it with assertEqual
plone/caching/tests/test_hooks.py:978:13: D001 found implements( replace it with zope.interface.implementer
plone/caching/tests/test_hooks.py:979:13: D001 found adapts( replace it with zope.component.adapter
plone/caching/tests/test_hooks.py:991:24: Q000 Remove bad quotes.
plone/caching/tests/test_hooks.py:993:45: Q000 Remove bad quotes.
plone/caching/tests/test_hooks.py:1001:18: D001 found assertEquals( replace it with assertEqual
plone/caching/tests/test_hooks.py:1001:31: Q000 Remove bad quotes.
plone/caching/tests/test_hooks.py:1002:18: D001 found assertEquals( replace it with assertEqual
plone/caching/tests/test_hooks.py:1003:18: D001 found assertEquals( replace it with assertEqual
plone/caching/tests/test_hooks.py:1004:18: D001 found assertEquals( replace it with assertEqual
plone/caching/tests/test_hooks.py:1008:14: D001 found assertEquals( replace it with assertEqual
plone/caching/tests/test_hooks.py:1009:14: D001 found assertEquals( replace it with assertEqual
plone/caching/tests/test_hooks.py:1009:80: E501 line too long (82 > 79 characters)
plone/caching/tests/test_hooks.py:1010:14: D001 found assertEquals( replace it with assertEqual
plone/caching/tests/test_hooks.py:1026:13: D001 found implements( replace it with zope.interface.implementer
plone/caching/tests/test_hooks.py:1027:13: D001 found adapts( replace it with zope.component.adapter
plone/caching/tests/test_hooks.py:1038:24: Q000 Remove bad quotes.
plone/caching/tests/test_hooks.py:1040:45: Q000 Remove bad quotes.
plone/caching/tests/test_hooks.py:1045:14: D001 found assertEquals( replace it with assertEqual
plone/caching/tests/test_hooks.py:1046:14: D001 found assertEquals( replace it with assertEqual
plone/caching/tests/test_hooks.py:1051:13: D001 found implements( replace it with zope.interface.implementer
plone/caching/tests/test_hooks.py:1052:13: D001 found adapts( replace it with zope.component.adapter
plone/caching/tests/test_hooks.py:1077:13: D001 found implements( replace it with zope.interface.implementer
plone/caching/tests/test_hooks.py:1078:13: D001 found adapts( replace it with zope.component.adapter
plone/caching/tests/test_hooks.py:1085:38: Q000 Remove bad quotes.
plone/caching/tests/test_hooks.py:1101:9: B901 blind except: statement
plone/caching/tests/test_hooks.py:1102:23: Q000 Remove bad quotes.
plone/caching/tests/test_hooks.py:1107:52: Q000 Remove bad quotes.
plone/caching/tests/test_hooks.py:1109:14: D001 found assertEquals( replace it with assertEqual
plone/caching/tests/test_hooks.py:1109:27: Q000 Remove bad quotes.
plone/caching/tests/test_hooks.py:1111:1: E302 expected 2 blank lines, found 1
plone/caching/tests/test_lookup.py:0:1: C101 Coding magic comment not found
plone/caching/tests/test_lookup.py:1:1: I003 isort expected 1 blank line in imports, found 0
plone/caching/tests/test_lookup.py:2:1: I004 isort found an unexpected blank line in imports
plone/caching/tests/test_lookup.py:4:1: I004 isort found an unexpected blank line in imports
plone/caching/tests/test_lookup.py:5:1: I001 isort found an import in the wrong position
plone/caching/tests/test_lookup.py:6:1: I004 isort found an unexpected blank line in imports
plone/caching/tests/test_lookup.py:7:1: I001 isort found an import in the wrong position
plone/caching/tests/test_lookup.py:13:1: E302 expected 2 blank lines, found 1
plone/caching/tests/test_lookup.py:18:1: E302 expected 2 blank lines, found 1
plone/caching/tests/test_lookup.py:23:1: E302 expected 2 blank lines, found 1
plone/caching/tests/test_lookup.py:30:14: D001 found assertEquals( replace it with assertEqual
plone/caching/tests/test_lookup.py:36:14: D001 found assertEquals( replace it with assertEqual
plone/caching/tests/test_lookup.py:38:1: E302 expected 2 blank lines, found 1
plone/caching/tests/test_operations.py:0:1: C101 Coding magic comment not found
plone/caching/tests/test_operations.py:1:1: I001 isort found an import in the wrong position
plone/caching/tests/test_operations.py:2:1: I004 isort found an unexpected blank line in imports
plone/caching/tests/test_operations.py:6:1: I001 isort found an import in the wrong position
plone/caching/tests/test_operations.py:7:1: I001 isort found an import in the wrong position
plone/caching/tests/test_operations.py:8:1: I001 isort found an import in the wrong position
plone/caching/tests/test_operations.py:10:1: I001 isort found an import in the wrong position
plone/caching/tests/test_operations.py:11:1: I001 isort found an import in the wrong position
plone/caching/tests/test_operations.py:12:1: I001 isort found an import in the wrong position
plone/caching/tests/test_operations.py:13:1: I004 isort found an unexpected blank line in imports
plone/caching/tests/test_operations.py:14:1: I001 isort found an import in the wrong position
plone/caching/tests/test_operations.py:15:1: I001 isort found an import in the wrong position
plone/caching/tests/test_operations.py:16:1: I004 isort found an unexpected blank line in imports
plone/caching/tests/test_operations.py:17:1: I001 isort found an import in the wrong position
plone/caching/tests/test_operations.py:21:1: E302 expected 2 blank lines, found 1
plone/caching/tests/test_operations.py:24:1: E302 expected 2 blank lines, found 1
plone/caching/tests/test_operations.py:32:1: E302 expected 2 blank lines, found 1
plone/caching/tests/test_operations.py:54:14: D001 found assertEquals( replace it with assertEqual
plone/caching/tests/test_operations.py:55:14: D001 found assertEquals( replace it with assertEqual
plone/caching/tests/test_operations.py:56:14: D001 found assertEquals( replace it with assertEqual
plone/caching/tests/test_operations.py:60:31: Q000 Remove bad quotes.
plone/caching/tests/test_operations.py:60:31: S001 found module formatter
plone/caching/tests/test_operations.py:60:80: E501 line too long (84 > 79 characters)
plone/caching/tests/test_operations.py:69:14: D001 found assertEquals( replace it with assertEqual
plone/caching/tests/test_operations.py:70:14: D001 found assertEquals( replace it with assertEqual
plone/caching/tests/test_operations.py:71:14: D001 found assertEquals( replace it with assertEqual
plone/caching/tests/test_operations.py:75:31: Q000 Remove bad quotes.
plone/caching/tests/test_operations.py:75:31: S001 found module formatter
plone/caching/tests/test_operations.py:75:80: E501 line too long (88 > 79 characters)
plone/caching/tests/test_operations.py:84:14: D001 found assertEquals( replace it with assertEqual
plone/caching/tests/test_operations.py:85:14: D001 found assertEquals( replace it with assertEqual
plone/caching/tests/test_operations.py:86:14: D001 found assertEquals( replace it with assertEqual
plone/caching/tests/test_operations.py:90:31: Q000 Remove bad quotes.
plone/caching/tests/test_operations.py:90:31: S001 found module formatter
plone/caching/tests/test_operations.py:90:80: E501 line too long (93 > 79 characters)
plone/caching/tests/test_operations.py:98:14: D001 found assertEquals( replace it with assertEqual
plone/caching/tests/test_operations.py:99:14: D001 found assertEquals( replace it with assertEqual
plone/caching/tests/test_operations.py:102:31: Q000 Remove bad quotes.
plone/caching/tests/test_operations.py:102:31: S001 found module formatter
plone/caching/tests/test_operations.py:102:80: E501 line too long (100 > 79 characters)
plone/caching/tests/test_operations.py:108:13: D001 found implements( replace it with zope.interface.implementer
plone/caching/tests/test_operations.py:109:13: D001 found adapts( replace it with zope.component.adapter
plone/caching/tests/test_operations.py:116:24: Q000 Remove bad quotes.
plone/caching/tests/test_operations.py:121:45: Q000 Remove bad quotes.
plone/caching/tests/test_operations.py:126:14: D001 found assertEquals( replace it with assertEqual
plone/caching/tests/test_operations.py:126:27: Q000 Remove bad quotes.
plone/caching/tests/test_operations.py:127:14: D001 found assertEquals( replace it with assertEqual
plone/caching/tests/test_operations.py:128:14: D001 found assertEquals( replace it with assertEqual
plone/caching/tests/test_operations.py:128:80: E501 line too long (86 > 79 characters)
plone/caching/tests/test_operations.py:134:14: D001 found assertEquals( replace it with assertEqual
plone/caching/tests/test_operations.py:135:14: D001 found assertEquals( replace it with assertEqual
plone/caching/tests/test_operations.py:136:80: E501 line too long (86 > 79 characters)
plone/caching/tests/test_operations.py:139:31: Q000 Remove bad quotes.
plone/caching/tests/test_operations.py:139:31: S001 found module formatter
plone/caching/tests/test_operations.py:139:80: E501 line too long (100 > 79 characters)
plone/caching/tests/test_operations.py:145:13: D001 found implements( replace it with zope.interface.implementer
plone/caching/tests/test_operations.py:146:13: D001 found adapts( replace it with zope.component.adapter
plone/caching/tests/test_operations.py:153:24: Q000 Remove bad quotes.
plone/caching/tests/test_operations.py:158:46: Q000 Remove bad quotes.
plone/caching/tests/test_operations.py:161:13: D001 found implements( replace it with zope.interface.implementer
plone/caching/tests/test_operations.py:162:13: D001 found adapts( replace it with zope.component.adapter
plone/caching/tests/test_operations.py:169:24: Q000 Remove bad quotes.
plone/caching/tests/test_operations.py:174:46: Q000 Remove bad quotes.
plone/caching/tests/test_operations.py:179:14: D001 found assertEquals( replace it with assertEqual
plone/caching/tests/test_operations.py:179:27: Q000 Remove bad quotes.
plone/caching/tests/test_operations.py:180:14: D001 found assertEquals( replace it with assertEqual
plone/caching/tests/test_operations.py:181:14: D001 found assertEquals( replace it with assertEqual
plone/caching/tests/test_operations.py:181:80: E501 line too long (86 > 79 characters)
plone/caching/tests/test_operations.py:187:14: D001 found assertEquals( replace it with assertEqual
plone/caching/tests/test_operations.py:188:14: D001 found assertEquals( replace it with assertEqual
plone/caching/tests/test_operations.py:190:80: E501 line too long (91 > 79 characters)
plone/caching/tests/test_operations.py:192:1: E302 expected 2 blank lines, found 1
plone/caching/tests/test_utils.py:0:1: C101 Coding magic comment not found
plone/caching/tests/test_utils.py:1:1: I003 isort expected 1 blank line in imports, found 0
plone/caching/tests/test_utils.py:2:1: I004 isort found an unexpected blank line in imports
plone/caching/tests/test_utils.py:5:1: I001 isort found an import in the wrong position
plone/caching/tests/test_utils.py:6:1: I001 isort found an import in the wrong position
plone/caching/tests/test_utils.py:7:1: I004 isort found an unexpected blank line in imports
plone/caching/tests/test_utils.py:8:1: I001 isort found an import in the wrong position
plone/caching/tests/test_utils.py:9:1: I001 isort found an import in the wrong position
plone/caching/tests/test_utils.py:10:1: I001 isort found an import in the wrong position
plone/caching/tests/test_utils.py:11:1: I004 isort found an unexpected blank line in imports
plone/caching/tests/test_utils.py:12:1: I001 isort found an import in the wrong position
plone/caching/tests/test_utils.py:13:1: I001 isort found an import in the wrong position
plone/caching/tests/test_utils.py:17:1: E302 expected 2 blank lines, found 1
plone/caching/tests/test_utils.py:23:80: E501 line too long (89 > 79 characters)
plone/caching/tests/test_utils.py:24:14: D001 found failUnless( replace it with assertTrue
plone/caching/tests/test_utils.py:29:80: E501 line too long (89 > 79 characters)
plone/caching/tests/test_utils.py:30:14: D001 found failUnless( replace it with assertTrue
plone/caching/tests/test_utils.py:36:53: E221 multiple spaces before operator
plone/caching/tests/test_utils.py:36:80: E501 line too long (92 > 79 characters)
plone/caching/tests/test_utils.py:36:82: Q000 Remove bad quotes.
plone/caching/tests/test_utils.py:38:80: E501 line too long (89 > 79 characters)
plone/caching/tests/test_utils.py:39:14: D001 found assertEquals( replace it with assertEqual
plone/caching/tests/test_utils.py:39:27: Q000 Remove bad quotes.
plone/caching/tests/test_utils.py:45:80: E501 line too long (95 > 79 characters)
plone/caching/tests/test_utils.py:45:85: Q000 Remove bad quotes.
plone/caching/tests/test_utils.py:46:62: E221 multiple spaces before operator
plone/caching/tests/test_utils.py:46:80: E501 line too long (115 > 79 characters)
plone/caching/tests/test_utils.py:46:104: Q000 Remove bad quotes.
plone/caching/tests/test_utils.py:48:80: E501 line too long (89 > 79 characters)
plone/caching/tests/test_utils.py:49:14: D001 found assertEquals( replace it with assertEqual
plone/caching/tests/test_utils.py:49:27: Q000 Remove bad quotes.
plone/caching/tests/test_utils.py:51:1: E302 expected 2 blank lines, found 1
plone/caching/tests/test_utils.py:61:21: Q000 Remove bad quotes.
plone/caching/tests/test_utils.py:62:27: Q000 Remove bad quotes.
plone/caching/tests/test_utils.py:67:14: D001 found assertEquals( replace it with assertEqual
plone/caching/tests/test_utils.py:75:21: Q000 Remove bad quotes.
plone/caching/tests/test_utils.py:76:27: Q000 Remove bad quotes.
plone/caching/tests/test_utils.py:81:14: D001 found assertEquals( replace it with assertEqual
plone/caching/tests/test_utils.py:87:80: E501 line too long (88 > 79 characters)
plone/caching/tests/test_utils.py:87:82: Q000 Remove bad quotes.
plone/caching/tests/test_utils.py:92:21: Q000 Remove bad quotes.
plone/caching/tests/test_utils.py:93:27: Q000 Remove bad quotes.
plone/caching/tests/test_utils.py:98:14: D001 found assertEquals( replace it with assertEqual
plone/caching/tests/test_utils.py:98:55: Q000 Remove bad quotes.
plone/caching/tests/test_utils.py:104:80: E501 line too long (88 > 79 characters)
plone/caching/tests/test_utils.py:104:82: Q000 Remove bad quotes.
plone/caching/tests/test_utils.py:105:80: E501 line too long (88 > 79 characters)
plone/caching/tests/test_utils.py:105:82: Q000 Remove bad quotes.
plone/caching/tests/test_utils.py:106:80: E501 line too long (97 > 79 characters)
plone/caching/tests/test_utils.py:106:91: Q000 Remove bad quotes.
plone/caching/tests/test_utils.py:111:21: Q000 Remove bad quotes.
plone/caching/tests/test_utils.py:112:27: Q000 Remove bad quotes.
plone/caching/tests/test_utils.py:117:14: D001 found assertEquals( replace it with assertEqual
plone/caching/tests/test_utils.py:117:37: Q000 Remove bad quotes.
plone/caching/tests/test_utils.py:117:54: Q000 Remove bad quotes.
plone/caching/tests/test_utils.py:123:80: E501 line too long (88 > 79 characters)
plone/caching/tests/test_utils.py:123:82: Q000 Remove bad quotes.
plone/caching/tests/test_utils.py:128:21: Q000 Remove bad quotes.
plone/caching/tests/test_utils.py:129:27: Q000 Remove bad quotes.
plone/caching/tests/test_utils.py:133:45: Q000 Remove bad quotes.
plone/caching/tests/test_utils.py:135:32: Q000 Remove bad quotes.
plone/caching/tests/test_utils.py:135:80: E501 line too long (83 > 79 characters)
plone/caching/tests/test_utils.py:136:14: D001 found assertEquals( replace it with assertEqual
plone/caching/tests/test_utils.py:136:55: Q000 Remove bad quotes.
plone/caching/tests/test_utils.py:138:1: E302 expected 2 blank lines, found 1
```
Follow [these instructions](https://github.com/plone/jenkins.plone.org/blob/master/docs/source/run-qa-on-package.rst) to reproduce it locally.


Listo, quitado


Nor on macOS, it seems.


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

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


Looks good! :)


This is practical at the moment, but I dont think we will interface with particle.io ideally since its a 3rd party server. This is why we route the Particle.io photon data to the Rasberry Pi and interface directly with the Pi.


@gforcada Jenkins CI reporting about code analysis
See the full report here: https://jenkins.plone.org/job/package-plone.intelligenttext/32/violations
```
plone/intelligenttext/tests.py:4:1: I003 isort expected 1 blank line in imports, found 0
plone/intelligenttext/tests.py:11:5: T003 print function found.
plone/intelligenttext/tests.py:21:10: C812 missing trailing comma
plone/intelligenttext/transforms.py:4:1: I003 isort expected 1 blank line in imports, found 0
plone/intelligenttext/transforms.py:22:9: P103 other string does contain unindexed parameters
plone/intelligenttext/transforms.py:22:80: E501 line too long (278 > 79 characters)
plone/intelligenttext/transforms.py:23:27: C812 missing trailing comma
plone/intelligenttext/transforms.py:27:27: C812 missing trailing comma
plone/intelligenttext/transforms.py:64:45: Q000 Remove bad quotes.
plone/intelligenttext/transforms.py:69:20: Q000 Remove bad quotes.
plone/intelligenttext/transforms.py:70:32: Q000 Remove bad quotes.
plone/intelligenttext/transforms.py:74:26: Q000 Remove bad quotes.
plone/intelligenttext/transforms.py:80:37: Q000 Remove bad quotes.
plone/intelligenttext/transforms.py:80:54: Q000 Remove bad quotes.
plone/intelligenttext/transforms.py:91:11: T000 Todo note found.
plone/intelligenttext/transforms.py:102:16: S001 found module formatter
plone/intelligenttext/transforms.py:112:16: S001 found module formatter
plone/intelligenttext/transforms.py:155:18: S001 found module formatter
plone/intelligenttext/transforms.py:181:44: C812 missing trailing comma
plone/intelligenttext/transforms.py:184:7: T000 Todo note found.
```
Follow [these instructions](https://github.com/plone/jenkins.plone.org/blob/master/docs/source/run-qa-on-package.rst) to reproduce it locally.


@mauritsvanrees Jenkins CI reporting about code analysis
See the full report here: https://jenkins.plone.org/job/package-plone.intelligenttext/31/violations
```
plone/__init__.py:0:1: C101 Coding magic comment not found
plone/intelligenttext/__init__.py:0:1: C101 Coding magic comment not found
plone/intelligenttext/tests.py:0:1: C101 Coding magic comment not found
plone/intelligenttext/tests.py:2:1: I001 isort found an import in the wrong position
plone/intelligenttext/tests.py:3:1: I003 isort expected 1 blank line in imports, found 0
plone/intelligenttext/tests.py:10:43: W291 trailing whitespace
plone/intelligenttext/tests.py:11:55: C812 missing trailing comma
plone/intelligenttext/transforms.py:0:1: C101 Coding magic comment not found
plone/intelligenttext/transforms.py:2:1: I003 isort expected 1 blank line in imports, found 0
plone/intelligenttext/transforms.py:5:1: C901 'convertWebIntelligentPlainTextToHtml' is too complex (15)
plone/intelligenttext/transforms.py:12:18: E225 missing whitespace around operator
plone/intelligenttext/transforms.py:14:31: E251 unexpected spaces around keyword / parameter equals
plone/intelligenttext/transforms.py:14:33: E251 unexpected spaces around keyword / parameter equals
plone/intelligenttext/transforms.py:14:46: E251 unexpected spaces around keyword / parameter equals
plone/intelligenttext/transforms.py:14:48: E251 unexpected spaces around keyword / parameter equals
plone/intelligenttext/transforms.py:14:49: Q000 Remove bad quotes.
plone/intelligenttext/transforms.py:19:20: Q000 Remove bad quotes.
plone/intelligenttext/transforms.py:20:32: Q000 Remove bad quotes.
plone/intelligenttext/transforms.py:24:26: Q000 Remove bad quotes.
plone/intelligenttext/transforms.py:25:55: E225 missing whitespace around operator
plone/intelligenttext/transforms.py:30:36: E225 missing whitespace around operator
plone/intelligenttext/transforms.py:30:36: Q000 Remove bad quotes.
plone/intelligenttext/transforms.py:30:41: E225 missing whitespace around operator
plone/intelligenttext/transforms.py:30:52: Q000 Remove bad quotes.
plone/intelligenttext/transforms.py:32:28: P103 other string does contain unindexed parameters
plone/intelligenttext/transforms.py:32:80: E501 line too long (313 > 79 characters)
plone/intelligenttext/transforms.py:32:303: E227 missing whitespace around bitwise or shift operator
plone/intelligenttext/transforms.py:32:308: E227 missing whitespace around bitwise or shift operator
plone/intelligenttext/transforms.py:33:80: E501 line too long (99 > 79 characters)
plone/intelligenttext/transforms.py:33:89: E227 missing whitespace around bitwise or shift operator
plone/intelligenttext/transforms.py:33:94: E227 missing whitespace around bitwise or shift operator
plone/intelligenttext/transforms.py:34:46: E227 missing whitespace around bitwise or shift operator
plone/intelligenttext/transforms.py:62:11: T000 Todo note found.
plone/intelligenttext/transforms.py:69:16: S001 found module formatter
plone/intelligenttext/transforms.py:79:16: S001 found module formatter
plone/intelligenttext/transforms.py:119:18: S001 found module formatter
plone/intelligenttext/transforms.py:145:7: T000 Todo note found.
```
Follow [these instructions](https://github.com/plone/jenkins.plone.org/blob/master/docs/source/run-qa-on-package.rst) to reproduce it locally.


no, i added them to allow me to get rid of spam xd without hide them under the carpet.


@easbar Although this change avoids creating objects in a hot code area and reduces probably also instruction count it does not seem to improve anything regarding the preparation time nor query speed. Strange.


>
> En gros tu penses que je devrais laisser comme j'ai fait car la config, sa
> job, c'est juste de charger le fichier, par d'être des variables mises à
> jour?
>

Exactement.

Oui, désactives le flow de stars en background pour y voir plus clair (3x
> le bottom-left-pad), tu verras le tableau vide, puis balances quelques gros
> astres. Parfois ils disparaissent après 30s, parfois pas du tout...
>
Je crois que le délai vient du fait que tu divise le radius par 2 pour
checker la visibilité. C'est un radius, pas un diamètre, donc pas besoin de
le diviser.

>     if (this.location.y > height+*this.rad/2 *|| this.location.y < -
> *this.rad/2*) {
>
Pour ceux qui ne disparaissent jamais, j'ai pas réussi à reproduire, mais
c'est techniquement possible d'avoir une vitesse de 0 ici si la destination
est par hasard le centre de l'écran :

> this.acceleration = PVector.sub(this.destination,this.location);
>
Ou encore la taille du cercle qui grandit plus vite que la velocity.

> (Par contre là je viens de vouloir tester, mais tu as changé quelque chose
> dans les pads? Maintenant c'est de 0 à 3 au lieu de 1 à 4? Mes gros astres
> ne fonctionnent plus :)
>

J'avais une erreure sur mon check de signaux midi qui faisait en sorte que
le pad 0 était effectivement ignoré. Je crois pas que ça l'affecte
l'existence d'un pad 4 par contre (celle-ci releverait de la config globale
des pads auxilliiares). Donc pour clarifier, les pads commencent à 0,
finissent minimalement à 3, et peuvent aller au delà de 3 si des pads si
AUX_PAD_NOTES configure des pads additionnels.

On Thu, Feb 7, 2019 at 10:49 PM Mazamazine <notifications@github.com> wrote:

> Je crois que tu veut faire : this.*loadedConfig*.setProperty()
>
> Absolument, merci! Je n'avais pas saisi le fonctionnement de ce truc, j'ai
> regardé un peu dans DrawPlanck pour comprendre mais trop en diagonale je
> crois :) Donc comme tu le mentionnes plus bas ça ne serait finalement pas
> une bonne idée? En gros tu penses que je devrais laisser comme j'ai fait
> car la config, sa job, c'est juste de charger le fichier, par d'être des
> variables mises à jour?
>
> comment tu fais pour envoyer des notifications comme ça?
>
> Survoles une ligne de code et une petite croix bleue apparaîtra à côté du
> numéro de ligne
>
> je regardais un peu ton code (tu m'excusera l'intrusion), et j'ai vu dans
> tes TODO:
> // TODO: check how to set dynamic vars
>
> Tu fais très bien de mettre le nez! Ce TODO en est la preuve! Au départ en
> fait, je voulais pouvoir faire un truc du genre:
> starNumber+i = this.getIntProp("STARS" + i + "_NUMBER");
> Mais j'ai beau réfléchir, je ne me souviens pas pour quelle raison obscure
> je voulais faire ça... :/ ahah! Je vais donc nettoyer en remplaçant cet
> affreux switch par un for, en effet.
>
> t'es sur du bug ici? J'ai regarder la taille de stars (stars.size()) et ça
> semble stable autour de 50-60.
>
> Oui, désactives le flow de stars en background pour y voir plus clair (3x
> le bottom-left-pad), tu verras le tableau vide, puis balances quelques gros
> astres. Parfois ils disparaissent après 30s, parfois pas du tout... (Par
> contre là je viens de vouloir tester, mais tu as changé quelque chose dans
> les pads? Maintenant c'est de 0 à 3 au lieu de 1 à 4? Mes gros astres ne
> fonctionnent plus :)
>
> Sinon je trippes vraiment sur le résultat. Nice job.
>
> Cool, tant mieux!! Ça fait plaisir un retour positif pour mon 1er truc en
> processing :)
> J'accroche bien pour le moment.
>
> —
> You are receiving this because you were mentioned.
> Reply to this email directly, view it on GitHub
> <https://github.com/yochie/rhythm-visuals/commit/87b2900f5f53d69b86b621630db9d034b934bf98#commitcomment-32239941>,
> or mute the thread
> <https://github.com/notifications/unsubscribe-auth/AG0LCudOq_ZtIZ38amgkusz-xNDh5caJks5vLPPRgaJpZM4apaOJ>
> .
>


Looks good to me.


@gforcada Jenkins CI reporting about code analysis
See the full report here: https://jenkins.plone.org/job/package-plone.registry/26/violations
```
plone/registry/__init__.py:2:1: F401 'plone.registry.fieldref.FieldRef' imported but unused
plone/registry/__init__.py:3:1: F401 'plone.registry.record.Record' imported but unused
plone/registry/__init__.py:4:1: F401 'plone.registry.registry.Registry' imported but unused
plone/registry/events.py:20:16: Q000 Remove bad quotes.
plone/registry/events.py:20:16: S001 found module formatter
plone/registry/field.py:17:1: I001 isort found an import in the wrong position
plone/registry/field.py:59:13: Q000 Remove bad quotes.
plone/registry/field.py:60:13: Q000 Remove bad quotes.
plone/registry/field.py:60:43: C812 missing trailing comma
plone/registry/field.py:97:17: Q000 Remove bad quotes.
plone/registry/field.py:98:17: Q000 Remove bad quotes.
plone/registry/field.py:101:18: C812 missing trailing comma
plone/registry/field.py:124:42: C812 missing trailing comma
plone/registry/field.py:236:21: Q000 Remove bad quotes.
plone/registry/field.py:237:21: Q000 Remove bad quotes.
plone/registry/field.py:237:63: C812 missing trailing comma
plone/registry/field.py:242:17: Q000 Remove bad quotes.
plone/registry/field.py:243:17: Q000 Remove bad quotes.
plone/registry/field.py:243:75: C812 missing trailing comma
plone/registry/field.py:247:13: Q000 Remove bad quotes.
plone/registry/field.py:249:13: Q000 Remove bad quotes.
plone/registry/field.py:257:25: Q000 Remove bad quotes.
plone/registry/field.py:257:79: C812 missing trailing comma
plone/registry/fieldfactory.py:35:30: Q000 Remove bad quotes.
plone/registry/fieldfactory.py:44:74: C812 missing trailing comma
plone/registry/fieldfactory.py:54:17: Q000 Remove bad quotes.
plone/registry/fieldfactory.py:55:17: Q000 Remove bad quotes.
plone/registry/fieldfactory.py:92:17: Q000 Remove bad quotes.
plone/registry/fieldfactory.py:93:17: Q000 Remove bad quotes.
plone/registry/interfaces.py:28:23: C812 missing trailing comma
plone/registry/interfaces.py:32:23: C812 missing trailing comma
plone/registry/interfaces.py:46:67: C812 missing trailing comma
plone/registry/interfaces.py:50:22: C812 missing trailing comma
plone/registry/interfaces.py:68:32: C812 missing trailing comma
plone/registry/interfaces.py:73:70: C812 missing trailing comma
plone/registry/interfaces.py:85:23: C812 missing trailing comma
plone/registry/interfaces.py:112:45: Q000 Remove bad quotes.
plone/registry/interfaces.py:118:22: C812 missing trailing comma
plone/registry/interfaces.py:122:61: C812 missing trailing comma
plone/registry/interfaces.py:195:22: C812 missing trailing comma
plone/registry/interfaces.py:208:22: C812 missing trailing comma
plone/registry/record.py:28:16: Q000 Remove bad quotes.
plone/registry/record.py:34:30: Q000 Remove bad quotes.
plone/registry/record.py:115:16: Q000 Remove bad quotes.
plone/registry/record.py:115:16: S001 found module formatter
plone/registry/recordsproxy.py:16:5: F401 'collections.UserDict' imported but unused
plone/registry/recordsproxy.py:33:34: Q000 Remove bad quotes.
plone/registry/recordsproxy.py:47:12: E111 indentation is not a multiple of four
plone/registry/recordsproxy.py:65:16: Q000 Remove bad quotes.
plone/registry/recordsproxy.py:67:43: C812 missing trailing comma
plone/registry/recordsproxy.py:75:28: Q000 Remove bad quotes.
plone/registry/recordsproxy.py:84:32: Q000 Remove bad quotes.
plone/registry/recordsproxy.py:102:29: C812 missing trailing comma
plone/registry/recordsproxy.py:133:30: C812 missing trailing comma
plone/registry/recordsproxy.py:151:19: C812 missing trailing comma
plone/registry/registry.py:24:1: I001 isort found an import in the wrong position
plone/registry/registry.py:25:1: I003 isort expected 1 blank line in imports, found 0
plone/registry/registry.py:60:11: T000 Todo note found.
plone/registry/registry.py:72:32: Q000 Remove bad quotes.
plone/registry/registry.py:79:25: Q000 Remove bad quotes.
plone/registry/registry.py:80:25: Q000 Remove bad quotes.
plone/registry/registry.py:82:33: C812 missing trailing comma
plone/registry/registry.py:83:26: C812 missing trailing comma
plone/registry/registry.py:95:32: Q000 Remove bad quotes.
plone/registry/registry.py:105:21: Q000 Remove bad quotes.
plone/registry/registry.py:106:21: Q000 Remove bad quotes.
plone/registry/registry.py:108:49: C812 missing trailing comma
plone/registry/registry.py:109:22: C812 missing trailing comma
plone/registry/registry.py:124:17: B901 blind except: statement
plone/registry/registry.py:130:32: C812 missing trailing comma
plone/registry/registry.py:141:20: C812 missing trailing comma
plone/registry/registry.py:175:9: Q000 Remove bad quotes.
plone/registry/registry.py:176:9: Q000 Remove bad quotes.
plone/registry/registry.py:177:9: Q000 Remove bad quotes.
plone/registry/registry.py:178:9: Q000 Remove bad quotes.
plone/registry/registry.py:180:9: Q000 Remove bad quotes.
plone/registry/registry.py:192:30: Q000 Remove bad quotes.
plone/registry/registry.py:291:21: Q000 Remove bad quotes.
plone/registry/registry.py:291:68: C812 missing trailing comma
plone/registry/registry.py:308:13: Q000 Remove bad quotes.
plone/registry/registry.py:309:13: Q000 Remove bad quotes.
plone/registry/registry.py:310:31: C812 missing trailing comma
plone/registry/tests.py:7:1: I001 isort found an import in the wrong position
plone/registry/tests.py:34:12: P002 found "hasattr", consider replacing it
plone/registry/tests.py:56:36: Q000 Remove bad quotes.
plone/registry/tests.py:56:60: Q000 Remove bad quotes.
plone/registry/tests.py:57:34: Q000 Remove bad quotes.
plone/registry/tests.py:64:15: Q000 Remove bad quotes.
plone/registry/tests.py:66:18: C812 missing trailing comma
plone/registry/tests.py:69:15: Q000 Remove bad quotes.
plone/registry/tests.py:70:29: C812 missing trailing comma
plone/registry/tests.py:107:40: Q000 Remove bad quotes.
plone/registry/tests.py:107:60: Q000 Remove bad quotes.
plone/registry/tests.py:148:34: Q000 Remove bad quotes.
plone/registry/tests.py:150:28: Q000 Remove bad quotes.
plone/registry/tests.py:152:36: Q000 Remove bad quotes.
plone/registry/tests.py:162:33: Q000 Remove bad quotes.
plone/registry/tests.py:163:67: Q000 Remove bad quotes.
plone/registry/tests.py:164:61: Q000 Remove bad quotes.
plone/registry/tests.py:178:44: C812 missing trailing comma
plone/registry/tests.py:186:44: C812 missing trailing comma
plone/registry/tests.py:194:44: 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.


But what do you use instead of UFW ?


The change looks good generally, though it's a bit disconcerting that glad is not putting license comments on its files...


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


@jkei Are you one of the people I can bother with this?


Successfully aliased the URL <https://malloc-maile3m8s.now.sh> to the following alias.

* https://malloc.now.sh


It seems there is a `color` function: https://drafts.csswg.org/css-color/#color-function is that the same thing?


Julio


supportVPN -> supportsVPN


extra space after "of"


Not sure where to paste this comment so just adding it here in investors. So, besides the public.go, which are call functions in the rpc; there are all RPC functions for the client side (web), which adds, removes and changes things in the database and blockchain. How are we defining privileges to determine what private or public user can do through the client platform?


Humm... rephrase. Like "Sending CoA..."


[R/brca-exchange-annotate-maf.R:31:1:](https://github.com/taylor-lab/annotateMaf/blob/8c81b19cca5b1c24171645415fcad4e272e0c6dd/R/brca-exchange-annotate-maf.R#L31) *style:* **Trailing whitespace is superfluous.**
```r

^~~~
```
[R/brca-exchange-annotate-maf.R:33:1:](https://github.com/taylor-lab/annotateMaf/blob/8c81b19cca5b1c24171645415fcad4e272e0c6dd/R/brca-exchange-annotate-maf.R#L33) *style:* **Trailing whitespace is superfluous.**
```r

^~~~
```
[R/brca-exchange-annotate-maf.R:35:14:](https://github.com/taylor-lab/annotateMaf/blob/8c81b19cca5b1c24171645415fcad4e272e0c6dd/R/brca-exchange-annotate-maf.R#L35) *warning:* **no visible global function definition for ‘brca_query’**
```r
        qq = brca_query(gene, start - 1, end + 1)
             ^~~~~~~~~~
```
[R/brca-exchange-annotate-maf.R:35:50:](https://github.com/taylor-lab/annotateMaf/blob/8c81b19cca5b1c24171645415fcad4e272e0c6dd/R/brca-exchange-annotate-maf.R#L35) *style:* **Trailing whitespace is superfluous.**
```r
        qq = brca_query(gene, start - 1, end + 1)
                                                 ^
```
[R/brca-exchange-annotate-maf.R:36:1:](https://github.com/taylor-lab/annotateMaf/blob/8c81b19cca5b1c24171645415fcad4e272e0c6dd/R/brca-exchange-annotate-maf.R#L36) *style:* **Trailing whitespace is superfluous.**
```r

^~~~~~~~
```
[R/brca-exchange-annotate-maf.R:45:63:](https://github.com/taylor-lab/annotateMaf/blob/8c81b19cca5b1c24171645415fcad4e272e0c6dd/R/brca-exchange-annotate-maf.R#L45) *style:* **Trailing whitespace is superfluous.**
```r
                                        'pathogenicity'))) %>%
                                                              ^
```
[R/brca-exchange-annotate-maf.R:61:104:](https://github.com/taylor-lab/annotateMaf/blob/8c81b19cca5b1c24171645415fcad4e272e0c6dd/R/brca-exchange-annotate-maf.R#L61) *style:* **Trailing whitespace is superfluous.**
```r
                        variant_type == 'insertion' ~ str_replace(alternate_allele, '(^[A-Z]{1})', ''),
                                                                                ^
```
[R/brca-exchange-annotate-maf.R:72:22:](https://github.com/taylor-lab/annotateMaf/blob/8c81b19cca5b1c24171645415fcad4e272e0c6dd/R/brca-exchange-annotate-maf.R#L72) *style:* **Trailing whitespace is superfluous.**
```r
                ) %>%
                     ^
```
[R/brca-exchange-annotate-maf.R:76:59:](https://github.com/taylor-lab/annotateMaf/blob/8c81b19cca5b1c24171645415fcad4e272e0c6dd/R/brca-exchange-annotate-maf.R#L76) *style:* **Trailing whitespace is superfluous.**
```r
                              alternate_allele == alt) %>%
                                                          ^
```
[R/brca-exchange-annotate-maf.R:83:13:](https://github.com/taylor-lab/annotateMaf/blob/8c81b19cca5b1c24171645415fcad4e272e0c6dd/R/brca-exchange-annotate-maf.R#L83) *warning:* **no visible global function definition for ‘tibble’, Did you mean 'title'?**
```r
            tibble(brca_exchange_id = NA)
            ^~~~~~
```
[R/brca-exchange-annotate-maf.R:93:5:](https://github.com/taylor-lab/annotateMaf/blob/8c81b19cca5b1c24171645415fcad4e272e0c6dd/R/brca-exchange-annotate-maf.R#L93) *warning:* **no visible binding for global variable ‘map_chr’**
```r
    map_chr_possibly = possibly(map_chr, NA_character_)
    ^~~~~~~
```
[R/brca-exchange-annotate-maf.R:93:13:](https://github.com/taylor-lab/annotateMaf/blob/8c81b19cca5b1c24171645415fcad4e272e0c6dd/R/brca-exchange-annotate-maf.R#L93) *warning:* **no visible global function definition for ‘possibly’**
```r
    map_chr_possibly = possibly(map_chr, NA_character_)
            ^~~~~~~~
```
[R/hotspot-annotate-maf.R:26:1:](https://github.com/taylor-lab/annotateMaf/blob/8c81b19cca5b1c24171645415fcad4e272e0c6dd/R/hotspot-annotate-maf.R#L26) *style:* **Trailing whitespace is superfluous.**
```r

^~~~
```
[R/hotspot-annotate-maf.R:38:1:](https://github.com/taylor-lab/annotateMaf/blob/8c81b19cca5b1c24171645415fcad4e272e0c6dd/R/hotspot-annotate-maf.R#L38) *style:* **Trailing whitespace is superfluous.**
```r

^~~~
```
[R/hotspot-annotate-maf.R:40:23:](https://github.com/taylor-lab/annotateMaf/blob/8c81b19cca5b1c24171645415fcad4e272e0c6dd/R/hotspot-annotate-maf.R#L40) *warning:* **no visible global function definition for ‘load_gene_annotation’**
```r
    gene_annotation = load_gene_annotation()
                      ^~~~~~~~~~~~~~~~~~~~
```
[R/hotspot-annotate-maf.R:50:32:](https://github.com/taylor-lab/annotateMaf/blob/8c81b19cca5b1c24171645415fcad4e272e0c6dd/R/hotspot-annotate-maf.R#L50) *warning:* **no visible global function definition for ‘str_extract’**
```r
        start_res = as.numeric(str_extract(gene_hotspots, '[0-9]+(?=_)'))
                               ^~~~~~~~~~~
```
[R/hotspot-annotate-maf.R:51:30:](https://github.com/taylor-lab/annotateMaf/blob/8c81b19cca5b1c24171645415fcad4e272e0c6dd/R/hotspot-annotate-maf.R#L51) *warning:* **no visible global function definition for ‘str_extract’**
```r
        end_res = as.numeric(str_extract(gene_hotspots, '(?<=_[A-Z]{1})[0-9]+'))
                             ^~~~~~~~~~~
```
[R/hotspot-annotate-maf.R:54:1:](https://github.com/taylor-lab/annotateMaf/blob/8c81b19cca5b1c24171645415fcad4e272e0c6dd/R/hotspot-annotate-maf.R#L54) *style:* **Lines should not be more than 120 characters.**
```r
            filter(Start - 1 <= (start + 2) & End >= (end - 2) & indel_length <= (longest_variant + 1)) # allow for wiggle room in both directions but not too long indel
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/hotspot-annotate-maf.R:57:38:](https://github.com/taylor-lab/annotateMaf/blob/8c81b19cca5b1c24171645415fcad4e272e0c6dd/R/hotspot-annotate-maf.R#L57) *style:* **Opening curly braces should never go on their own line and should always be followed by a new line.**
```r
        } else if (end - start <= 5) { # if short hotspot overlapping known hotspot
                                     ^
```
[R/hotspot-annotate-maf.R:58:1:](https://github.com/taylor-lab/annotateMaf/blob/8c81b19cca5b1c24171645415fcad4e272e0c6dd/R/hotspot-annotate-maf.R#L58) *style:* **Lines should not be more than 120 characters.**
```r
            snv_hs = filter(hotspots, Gene == gene & (indel_hotspot == F | is.na(End))) %>% # includes indel hotspots that only cover one codon
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/hotspot-annotate-maf.R:71:26:](https://github.com/taylor-lab/annotateMaf/blob/8c81b19cca5b1c24171645415fcad4e272e0c6dd/R/hotspot-annotate-maf.R#L71) *warning:* **no visible global function definition for ‘str_c’, Did you mean 'str'?**
```r
            is_hotspot = str_c(gene, start) %in% gene_hotspots$tag
                         ^~~~~
```
[R/hotspot-annotate-maf.R:99:90:](https://github.com/taylor-lab/annotateMaf/blob/8c81b19cca5b1c24171645415fcad4e272e0c6dd/R/hotspot-annotate-maf.R#L99) *style:* **Put spaces around all infix operators.**
```r
                Variant_Type %in% c('SNP', 'DNP', 'TNP', 'ONP') ~ nchar(Reference_Allele)/3,
                                                                                ~^~
```
[R/hotspot-annotate-maf.R:100:83:](https://github.com/taylor-lab/annotateMaf/blob/8c81b19cca5b1c24171645415fcad4e272e0c6dd/R/hotspot-annotate-maf.R#L100) *style:* **Put spaces around all infix operators.**
```r
                Variant_Classification == 'In_Frame_Del' ~ nchar(Reference_Allele)/3,
                                                                                ~^~
```
[R/hotspot-annotate-maf.R:101:84:](https://github.com/taylor-lab/annotateMaf/blob/8c81b19cca5b1c24171645415fcad4e272e0c6dd/R/hotspot-annotate-maf.R#L101) *style:* **Put spaces around all infix operators.**
```r
                Variant_Classification == 'In_Frame_Ins' ~ nchar(Tumor_Seq_Allele2)/3
                                                                                ~^~
```
[R/oncokb-annotate-maf.R:67:22:](https://github.com/taylor-lab/annotateMaf/blob/8c81b19cca5b1c24171645415fcad4e272e0c6dd/R/oncokb-annotate-maf.R#L67) *warning:* **no visible global function definition for ‘content’, Did you mean 'confint'?**
```r
    oncokb_version = content(GET(base_url))[['dataVersion']]
                     ^~~~~~~
```
[R/oncokb-annotate-maf.R:67:30:](https://github.com/taylor-lab/annotateMaf/blob/8c81b19cca5b1c24171645415fcad4e272e0c6dd/R/oncokb-annotate-maf.R#L67) *warning:* **no visible global function definition for ‘GET’, Did you mean 'T'?**
```r
    oncokb_version = content(GET(base_url))[['dataVersion']]
                             ^~~
```
[R/oncokb-annotate-maf.R:80:27:](https://github.com/taylor-lab/annotateMaf/blob/8c81b19cca5b1c24171645415fcad4e272e0c6dd/R/oncokb-annotate-maf.R#L80) *warning:* **no visible global function definition for ‘GET’, Did you mean 'T'?**
```r
        oncokb_response = GET(query_url)
                          ^~~
```
[R/oncokb-annotate-maf.R:81:27:](https://github.com/taylor-lab/annotateMaf/blob/8c81b19cca5b1c24171645415fcad4e272e0c6dd/R/oncokb-annotate-maf.R#L81) *warning:* **no visible global function definition for ‘content’, Did you mean 'confint'?**
```r
        oncokb_response = content(oncokb_response)
                          ^~~~~~~
```
[R/oncokb-annotate-maf.R:102:7:](https://github.com/taylor-lab/annotateMaf/blob/8c81b19cca5b1c24171645415fcad4e272e0c6dd/R/oncokb-annotate-maf.R#L102) *warning:* **no visible global function definition for ‘tibble’, Did you mean 'title'?**
```r
      tibble(oncogenic = '')
      ^~~~~~
```
[R/oncokb-annotate-maf.R:109:1:](https://github.com/taylor-lab/annotateMaf/blob/8c81b19cca5b1c24171645415fcad4e272e0c6dd/R/oncokb-annotate-maf.R#L109) *style:* **Opening curly braces should never go on their own line and should always be followed by a new line.**
```r
{
^
```
[R/oncokb-annotate-maf.R:114:15:](https://github.com/taylor-lab/annotateMaf/blob/8c81b19cca5b1c24171645415fcad4e272e0c6dd/R/oncokb-annotate-maf.R#L114) *warning:* **no visible global function definition for ‘add_column’**
```r
        maf = add_column(maf, cancer_type = cancer_types)
              ^~~~~~~~~~
```
[R/oncokb-annotate-maf.R:116:15:](https://github.com/taylor-lab/annotateMaf/blob/8c81b19cca5b1c24171645415fcad4e272e0c6dd/R/oncokb-annotate-maf.R#L116) *warning:* **no visible global function definition for ‘left_join’**
```r
        maf = left_join(maf, cancer_types, by = 'Tumor_Sample_Barcode')
              ^~~~~~~~~
```
[R/oncokb-annotate-maf.R:123:1:](https://github.com/taylor-lab/annotateMaf/blob/8c81b19cca5b1c24171645415fcad4e272e0c6dd/R/oncokb-annotate-maf.R#L123) *style:* **Lines should not be more than 120 characters.**
```r
               (Variant_Classification %in% coding_mutations & HGVSp_Short != '') | # this is necessary to avoid poorly annotated but likely FP indel calls from Pindel
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/oncokb-annotate-maf.R:134:5:](https://github.com/taylor-lab/annotateMaf/blob/8c81b19cca5b1c24171645415fcad4e272e0c6dd/R/oncokb-annotate-maf.R#L134) *warning:* **no visible global function definition for ‘bind_cols’**
```r
    bind_cols(maf, oncokb_cols)
    ^~~~~~~~~
```
[tests/testthat/test-oncokb-annotate-maf.R:8:1:](https://github.com/taylor-lab/annotateMaf/blob/8c81b19cca5b1c24171645415fcad4e272e0c6dd/tests/testthat/test-oncokb-annotate-maf.R#L8) *style:* **Trailing whitespace is superfluous.**
```r

^~~~
```
[tests/testthat/test-oncokb-annotate-maf.R:13:1:](https://github.com/taylor-lab/annotateMaf/blob/8c81b19cca5b1c24171645415fcad4e272e0c6dd/tests/testthat/test-oncokb-annotate-maf.R#L13) *style:* **Trailing whitespace is superfluous.**
```r

^~~~
```


@abaicus It seems this broke the layout of the gallery images https://wordpress.org/support/topic/little-bug-on-galery-after-updating-theme/ . Can you please take a look at this?


Kann ein Block Elemente verschiedener Typen haben?


it's -> its
an -> a


``` suggestion

class KeyboardHandler {
...
}

module.exports = KeyboardHandler;

A little cleaner maybe?


It is needed. If I remove it `make` fails with:

```
config.status: error: cannot find input file: `data/install.in'
make: *** [Makefile] Error 1
```

It isn't referenced in any of the files in the repository though:
````
$ grep -R -F install.in  *
ChangeLog:	Corrected nad/install.in test so as to only look for conus.lla.Z
build/config.log:config.status:1186: error: cannot find input file: `data/install.in'
build/data/Makefile:am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/install.in README
build/data/Makefile:install: $(top_builddir)/config.status $(srcdir)/install.in
data/Makefile.in:am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/install.in README
data/Makefile.in:install: $(top_builddir)/config.status $(srcdir)/install.in
```
Note that all except `Changelog` are products of running configure and make. Maybe it is one of the default files that autoconf just knows about and expect is there somehow?


2019 everywhere


Update Composer dependencies (2019-02-08-15-04)

```
Loading composer repositories with package information
Updating dependencies
Package operations: 0 installs, 1 update, 0 removals
  - Updating drupal/core (8.6.8 => 8.6.9): Downloading (100%)
Writing lock file
Generating optimized autoload files
> DrupalProject\composer\ScriptHandler::createRequiredFiles
> find .circleci/scripts/pantheon/ -type f | xargs chmod 755
> find tests/scripts/ -type f | xargs chmod 755

  The web service did not return alerts count.

```


# storagecloud for Login Portal
Repository for handling document storage to cloud with user authentication using openstack swift,nodejs,mysql and reactjs


Thanks for fixing :heart:


Except line 85, all the other changes in this commit just reflect a difference between the 2017 and 2018 versions.


supportsVPN


Sorry, might be a stupid question then, I get an error on [this line](https://github.com/jedisct1/swift-sodium/blob/master/Sodium/GenericHash.swift#L17) saying `Use of undeclared type 'crypto_generichash_state'`. I use Xcode Version 10.2 beta 2 (10P91b), same issue as is opened in #177.


Just noting that you can also use https://github.com/etclabscore/multi-geth/blob/master/params/config.go#L1011 `ChainConfig.Rules`... not sure if it would give any speedup or other benefits though


scope = "meta" perhaps?


Nice idea :)


public class MetaCommand perhaps?


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're using an old version of the code.


its our corporate identity


- NamelessCoder\GizzleGitPlugins\GizzlePlugins\ClonePlugin:000000005530fe1d0000000027efcc72:
  - 0: Executing Git clone command: /usr/bin/git clone --depth 1 --single-branch --branch 'v2.0.1' 'https://github.com/clickstorm/cs_youtube_data.git' /tmp/1e9e1325dcd90d52eb078620298c13999717e496/cs_youtube_data
  - NamelessCoder\TYPO3RepositoryGizzle\GizzlePlugins\ExtensionRepositoryReleasePlugin:000000005530fe1b0000000027efcc72:
    - resultCode: 10504
    - resultMessages:
      - 0: Please note that it might take a while (up to an hour) until your extension and the documentation appear on TYPO3.org.
      - version: 2.0.1


Created multidev environment [ci-example-d8-composer#pr-182](https://dashboard.pantheon.io/sites/c401fd14-f745-4e51-9af2-f30b45146a0c#pr-182).

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


Puzzle `46-eeb69d3e` disappeared from [`timeless/sms.py`](https://github.com/timelesslounge/timelessis/blob/master/timeless/sms.py), that's why I closed #124. 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 `46-df3761df` disappeared from [`timeless/sms.py`](https://github.com/timelesslounge/timelessis/blob/master/timeless/sms.py), that's why I closed #125. Please, remember that the puzzle was not necessarily removed in this particular commit. Maybe it happened earlier, but we discovered this fact only now.


If the style for the selected item is also in the application stylesheet, you will not need to set it locally.  However, changing the name or property of a widget to force a different style to be used will not update the styling for the widget.  Instead, you have to refresh the styling manually.
`style()->unpolish(this);`
`style()->polish(this);`
If you replace all calls to setStyleSheet with those lines, things should work as intended.


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


The tightSIP requirement is there so we calculate fake rates with SIP <4 instead of SIP < 10 which is the ZplusLSkimZZ. Your fake rates will seg fault unless you to initialize the nTruePU branch in FakeRateSelector just like you do in ZZSelector after calling the ZZSelectorBase::Init(tree);


Good thinking! Pushed.


Should it be size_t?
Because a.byteOffset could be more than uint32_t


Nitpick: case classes/objects use Pascal case (i e. Foo).


Meh.......as I mentioned, I'd rather go down a route of deprecating `istable`. If we defined all AbstractArray to not be table, then somebody complains because the user tried to pass an `Vector{Any}` of NamedTuples (not uncommon for results coming out of Query.jl) and how things don't work. I'd rather just have users use `Tables.rows` and `Tables.columns` and if they're really concerned about the error condition, use try-catch.


@ryanbr https://forums.lanik.us/viewtopic.php?f=64&t=42583


Thanks, Devin!


@smjenness here is an example of what I mean (sorry for not including in first message):
```
init <- init.net(i.num = 50)
param <- param.net(inf.prob = 0.1, act.rate = 3)
control <- control.net(nsteps = 100, nsims = 1,
                                    arrivals.FUN = arrivals.net, departures.FUN, departures.net,
                                    infection.FUN = infection.net, get_prev.FUN = get_prev.net)
```
Previously control.net would throw an error as no recovery.FUN has been specified, but, at least according to the users params, one isn't needed. Hopefully this makes the question clearer.


Guzel


Ok so all of this is kosher. Notice the difference in electron ID branches for 2017 vs 2018 respectively.
//fChain->SetBranchAddress("e1ZZTightIDNoVtx", &l1IsTight, &b_l1IsTight);
fChain->SetBranchAddress("e1IsFall17isoV2wpHZZ", &l1IsTight, &b_l1IsTight);

This should converge in the next round to the same name as 2017 for 2018 as well.


Can you elaborate on that please? I reinstalled Pods and it seems to be the same code you have here on master from a cursory glance. `version.h` file defines `#define SODIUM_VERSION_STRING "1.0.17"` and `info.plist` contains version string `0.7.0` which is the latest, no?


Nope, the `color` function is for color profiles and it has shipped implementations, as it has for years. There was another PostCSS color plugin that didn’t want to break backwards compatibility with their users and so it did not update the name for years, which lead to some developer confusion.


Ok, so a user who would want an SIS-like model (without specifying `type`) would need to specify recovery.FUN module.


<img width="506" alt="screen shot 2019-02-08 at 4 10 36 pm" src="https://user-images.githubusercontent.com/124872/52486796-659aca80-2bbc-11e9-9376-73bb58c4fdae.png">


Zeuuujkers


Ok once again, the changes in the Configjobs script just reflect the differences that currently exist between 2017 and 2018 samples and naming.


Lol oops


@mge-odoo Can someone of your team help him here..? :)


Would such source code be a bit easier to read if [the specification “`unique_ptr` …” will be omitted from the member initializer list](https://stackoverflow.com/questions/38985127/unique-ptr-in-member-initialization-list/38985225 "unique_ptr in member initialization list")?


Update 08/02/2019


# Script files


@theoneanonlyjosh Talk to an attorney, this is not the place to discuss this.


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.


https://www.innovis-solutions.de/page/impressum.php
https://www.northdata.de/innovis+solutions+KG,+Grafing+b.+M%C3%BCnchen/Amtsgericht+M%C3%BCnchen+HRA+83984

Think you pretty much have every spelling variant covered in various materials and registrations ;)


Yeah it's only documented on the project page:

https://github.com/Dav1dde/glad

What's the license of glad generated code? #101
Any of Public Domain, WTFPL or CC0.


Die Elemente vom Block sind alle vom selben Typ (oder subtyp und evtl. Fluid). Ausnahmen sind LocalVarDecls.


Someone more familiar with Pods can probably help you.

But if you clone the current code, and builds it or runs the test, it should work :)


Thank you for checking the code and reporting the problem.

I've just tried to do a clean build and run into the same problem.  Building in my usual working directory works fine.  So I'll figure out what is missed and commit a fix this weekend.


@JuveVR
1. Должен быть merge conflict
2. Есть отдельная команда для удаления на удаленном репозитории, я ее как правило, не помню. И есть возможность через юай гитхаба


@enkore haha yeah

@jedisct1 yeah i noticed that too its fixed now on our page


We need to have types out there since you can take instances of internal things on which this whole thing is rely upon. Hence simplemde and codemirror. And to be sure that your compiler will be able to get those types from somewhere you should have those as a dependencies and not peers. Yeah you may never need those, but just in case they will be there.


IBM Cloud [toolchain](https://console.bluemix.net/devops/toolchains/8f308599-a1e8-4e52-b800-6204b59e20e2?env_id=ibm%3Ayp%3Aeu-de "TJBotBrowser"): [Delivery Pipeline](https://console.bluemix.net/devops/pipelines/8c1aa64a-c83e-4c46-8b5e-b72834cead74?env_id=ibm%3Ayp%3Aeu-de "TJBotBrowser") deployed [TJBotBrowser](https://github.com/hiqdare/TJBotBrowser/releases/tag/deploy-ibm-yp-eu-de-sae-zurich.ibm.com-dev-20190208-152127 "deploy-ibm-yp-eu-de-sae-zurich.ibm.com-dev-20190208-152127") to [dev](https://console.bluemix.net/apps/259b51d1-bc3a-431a-82b8-433181691c9b?env_id=ibm:yp:eu-de "ibm:yp:eu-de:sae@zurich.ibm.com:dev"), including this commit


@gforcada Jenkins CI reporting about code analysis
See the full report here: https://jenkins.plone.org/job/package-plone.schemaeditor/64/violations
```
plone/schemaeditor/fields.py:71:58: C812 missing trailing comma
plone/schemaeditor/fields.py:72:14: C812 missing trailing comma
plone/schemaeditor/fields.py:130:9: E303 too many blank lines (2)
plone/schemaeditor/fields.py:227:35: C812 missing trailing comma
plone/schemaeditor/fields.py:228:20: C812 missing trailing comma
plone/schemaeditor/interfaces.py:33:26: C812 missing trailing comma
plone/schemaeditor/interfaces.py:48:76: C812 missing trailing comma
plone/schemaeditor/interfaces.py:52:38: C812 missing trailing comma
plone/schemaeditor/interfaces.py:59:30: C812 missing trailing comma
plone/schemaeditor/interfaces.py:68:22: C812 missing trailing comma
plone/schemaeditor/interfaces.py:150:33: C812 missing trailing comma
plone/schemaeditor/interfaces.py:162:22: C812 missing trailing comma
plone/schemaeditor/interfaces.py:175:23: C812 missing trailing comma
plone/schemaeditor/interfaces.py:190:69: C812 missing trailing comma
plone/schemaeditor/interfaces.py:202:80: C812 missing trailing comma
plone/schemaeditor/interfaces.py:207:72: C812 missing trailing comma
plone/schemaeditor/interfaces.py:215:22: C812 missing trailing comma
plone/schemaeditor/interfaces.py:227:23: C812 missing trailing comma
plone/schemaeditor/testing.py:26:22: C812 missing trailing comma
plone/schemaeditor/utils.py:84:9: T000 Todo note found.
plone/schemaeditor/utils.py:100:18: C812 missing trailing comma
plone/schemaeditor/utils.py:104:12: P002 found "hasattr", consider replacing it
plone/schemaeditor/utils.py:115:16: P002 found "hasattr", consider replacing it
plone/schemaeditor/utils.py:125:18: C812 missing trailing comma
plone/schemaeditor/utils.py:149:26: C812 missing trailing comma
plone/schemaeditor/browser/field/edit.py:28:1: I004 isort found an unexpected blank line in imports
plone/schemaeditor/browser/field/edit.py:179:12: P002 found "hasattr", consider replacing it
plone/schemaeditor/browser/field/edit.py:187:42: C812 missing trailing comma
plone/schemaeditor/browser/field/fieldset.py:4:1: I001 isort found an import in the wrong position
plone/schemaeditor/browser/schema/add_field.py:79:76: C812 missing trailing comma
plone/schemaeditor/browser/schema/add_field.py:80:18: C812 missing trailing comma
plone/schemaeditor/browser/schema/add_field.py:112:41: C812 missing trailing comma
plone/schemaeditor/browser/schema/add_fieldset.py:34:79: C812 missing trailing comma
plone/schemaeditor/browser/schema/add_fieldset.py:38:33: C812 missing trailing comma
plone/schemaeditor/browser/schema/add_fieldset.py:54:41: C812 missing trailing comma
plone/schemaeditor/browser/schema/listing.py:55:16: P002 found "hasattr", consider replacing it
plone/schemaeditor/browser/schema/listing.py:109:79: C812 missing trailing comma
plone/schemaeditor/browser/schema/traversal.py:9:1: F401 'six' imported but unused
plone/schemaeditor/browser/schema/traversal.py:45:21: C812 missing trailing comma
plone/schemaeditor/tests/test_fields.py:27:19: C812 missing trailing comma
plone/schemaeditor/tests/test_fields.py:35:45: C812 missing trailing comma
plone/schemaeditor/tests/test_fields.py:40:48: C812 missing trailing comma
plone/schemaeditor/tests/test_fields.py:48:44: C812 missing trailing comma
plone/schemaeditor/tests/test_fields.py:53:47: C812 missing trailing comma
plone/schemaeditor/tests/test_robot.py:26:33: C812 missing trailing comma
plone/schemaeditor/tests/tests.py:8:1: I001 isort found an import in the wrong position
plone/schemaeditor/tests/tests.py:42:80: E501 line too long (88 > 79 characters)
```
Follow [these instructions](https://github.com/plone/jenkins.plone.org/blob/master/docs/source/run-qa-on-package.rst) to reproduce it locally.


@gforcada Jenkins CI reporting about code analysis
See the full report here: https://jenkins.plone.org/job/package-plone.app.relationfield/41/violations
```
plone/app/relationfield/behavior.py:23:56: C812 missing trailing comma
plone/app/relationfield/behavior.py:25:23: C812 missing trailing comma
plone/app/relationfield/behavior.py:33:10: C812 missing trailing comma
plone/app/relationfield/behavior.py:39:32: C812 missing trailing comma
plone/app/relationfield/demo.py:16:56: C812 missing trailing comma
plone/app/relationfield/demo.py:17:10: C812 missing trailing comma
plone/app/relationfield/demo.py:22:52: C812 missing trailing comma
plone/app/relationfield/event.py:9:1: C901 'extract_relations' is too complex (13)
plone/app/relationfield/schemaeditor.py:36:23: C812 missing trailing comma
plone/app/relationfield/schemaeditor.py:105:6: C812 missing trailing comma
plone/app/relationfield/source.py:30:24: C812 missing trailing comma
plone/app/relationfield/source.py:40:26: C812 missing trailing comma
plone/app/relationfield/supermodel.py:17:31: C812 missing trailing comma
plone/app/relationfield/supermodel.py:59:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/relationfield/testing.py:71:46: C812 missing trailing comma
plone/app/relationfield/testing.py:102:58: C812 missing trailing comma
plone/app/relationfield/testing.py:132:58: C812 missing trailing comma
plone/app/relationfield/widget.py:31:19: T000 Todo note found.
plone/app/relationfield/widget.py:71:19: T000 Todo note found.
plone/app/relationfield/widget.py:129:19: T000 Todo note found.
plone/app/relationfield/widget.py:166:19: T000 Todo note found.
plone/app/relationfield/tests/test_marshall.py:12:42: C812 missing trailing comma
plone/app/relationfield/tests/test_marshall.py:25:28: C812 missing trailing comma
plone/app/relationfield/tests/test_schemaeditor.py:20:44: C812 missing trailing comma
plone/app/relationfield/tests/test_supermodel.py:32:46: 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.


Successfully aliased the URL <https://valde-ojgntexmdx.now.sh> to the following alias.

* https://valde.caurea.org


@Aaron1011 Just do getRepairIngredient()


I see for instance /usr/include/c++/7/stdlib.h duplicated all over the place.


❌ [Build was (probably) aborted](https://jenkins.internalx.com/job/macios/job/mono-2018-12/2/display/redirect)

🔥 [Jenkins job](https://jenkins.internalx.com/job/macios/job/mono-2018-12/2/display/redirect) (on internal Jenkins) failed in stage(s) 'Build' 🔥 : hudson.AbortException: script returned exit code 2

🔥 [Build failed](https://jenkins.internalx.com/job/macios/job/mono-2018-12/2//console) 🔥


@gforcada Jenkins CI reporting about code analysis
See the full report here: https://jenkins.plone.org/job/package-plone.subrequest/43/violations
```
plone/subrequest/__init__.py:79:1: C901 'subrequest' is too complex (12)
plone/subrequest/__init__.py:97:44: C812 missing trailing comma
plone/subrequest/__init__.py:105:25: C812 missing trailing comma
plone/subrequest/__init__.py:116:63: C812 missing trailing comma
plone/subrequest/__init__.py:163:23: C812 missing trailing comma
plone/subrequest/subresponse.py:25:12: P002 found "hasattr", consider replacing it
plone/subrequest/subresponse.py:26:16: P002 found "hasattr", consider replacing it
plone/subrequest/subresponse.py:27:12: P002 found "hasattr", consider replacing it
plone/subrequest/subresponse.py:60:16: P002 found "hasattr", consider replacing it
plone/subrequest/testing.py:11:1: F401 'six' imported but unused
plone/subrequest/testing.py:21:16: Q000 Remove bad quotes.
plone/subrequest/testing.py:125:42: C812 missing trailing comma
plone/subrequest/testing.py:131:45: C812 missing trailing comma
plone/subrequest/testing.py:137:9: D001 found xmlconfig.file( replace it with self.loadZCML(
plone/subrequest/testing.py:184:39: C812 missing trailing comma
plone/subrequest/testing.py:188:38: C812 missing trailing comma
plone/subrequest/tests.py:12:1: I004 isort found an unexpected blank line in imports
plone/subrequest/tests.py:13:1: I001 isort found an import in the wrong position
plone/subrequest/tests.py:28:5: F401 'plone.app.blob.iterators.BlobStreamIterator' imported but unused
plone/subrequest/tests.py:92:37: C812 missing trailing comma
plone/subrequest/tests.py:99:46: C812 missing trailing comma
plone/subrequest/tests.py:107:46: C812 missing trailing comma
plone/subrequest/tests.py:114:35: C812 missing trailing comma
plone/subrequest/tests.py:122:57: C812 missing trailing comma
plone/subrequest/tests.py:130:57: C812 missing trailing comma
plone/subrequest/tests.py:138:57: C812 missing trailing comma
plone/subrequest/tests.py:152:57: C812 missing trailing comma
plone/subrequest/tests.py:163:67: C812 missing trailing comma
plone/subrequest/tests.py:177:38: C812 missing trailing comma
plone/subrequest/tests.py:189:57: C812 missing trailing comma
plone/subrequest/tests.py:201:57: C812 missing trailing comma
plone/subrequest/tests.py:214:51: C812 missing trailing comma
plone/subrequest/tests.py:222:56: C812 missing trailing comma
plone/subrequest/tests.py:301:61: 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.


Successfully aliased the URL <https://winmine-exe-b8triz11c.now.sh> to the following alias.

* https://winmine-exe.now.sh


Yes!


Can you not override it? Code would become shorter ;)


Did you try it out if the software will continue to work also without this addition?


Reee I was shlep