@esteele Jenkins CI reporting about code analysis
See the full report here: http://jenkins.plone.org/job/package-plone.app.z3cform/5/violations
```
plone/__init__.py:0:1: C101 Coding magic comment not found
plone/app/__init__.py:0:1: C101 Coding magic comment not found
plone/app/z3cform/inline_validation.py:0:1: C101 Coding magic comment not found
plone/app/z3cform/inline_validation.py:1:1: I003 isort expected 1 blank line in imports, found 0
plone/app/z3cform/inline_validation.py:2:1: I004 isort found an unexpected blank line in imports
plone/app/z3cform/inline_validation.py:3:1: I001 isort found an import in the wrong position
plone/app/z3cform/inline_validation.py:4:1: I001 isort found an import in the wrong position
plone/app/z3cform/inline_validation.py:5:1: I001 isort found an import in the wrong position
plone/app/z3cform/inline_validation.py:6:1: I004 isort found an unexpected blank line in imports
plone/app/z3cform/inline_validation.py:7:1: I001 isort found an import in the wrong position
plone/app/z3cform/inline_validation.py:8:1: I001 isort found an import in the wrong position
plone/app/z3cform/inline_validation.py:15:1: C901 'InlineValidationView.__call__' is too complex (12)
plone/app/z3cform/inline_validation.py:22:12: P002 found "hasattr", consider replacing it
plone/app/z3cform/inline_validation.py:24:16: P002 found "hasattr", consider replacing it
plone/app/z3cform/inline_validation.py:27:1: W293 blank line contains whitespace
plone/app/z3cform/inline_validation.py:28:26: Q000 Remove bad quotes.
plone/app/z3cform/inline_validation.py:33:9: E265 block comment should start with '# '
plone/app/z3cform/inline_validation.py:38:32: F841 local variable 'TypeError' is assigned to but never used
plone/app/z3cform/inline_validation.py:40:17: E731 do not assign a lambda expression, use a def
plone/app/z3cform/widget.py:0:1: C101 Coding magic comment not found
plone/app/z3cform/widget.py:2:1: I001 isort found an import in the wrong position
plone/app/z3cform/widget.py:3:1: I004 isort found an unexpected blank line in imports
plone/app/z3cform/widget.py:7:1: I001 isort found an import in the wrong position
plone/app/z3cform/widget.py:8:1: I003 isort expected 1 blank line in imports, found 0
plone/app/z3cform/widget.py:13:1: E302 expected 2 blank lines, found 1
plone/app/z3cform/widget.py:18:1: E303 too many blank lines (3)
plone/app/z3cform/widget.py:21:1: E302 expected 2 blank lines, found 1
plone/app/z3cform/widget.py:24:1: E302 expected 2 blank lines, found 1
plone/app/z3cform/widget.py:29:1: E303 too many blank lines (3)
plone/app/z3cform/widget.py:32:1: E302 expected 2 blank lines, found 1
plone/app/z3cform/widget.py:35:1: E302 expected 2 blank lines, found 1
plone/app/z3cform/widget.py:38:1: W391 blank line at end of file
plone/app/z3cform/csrf.py:0:1: C101 Coding magic comment not found
plone/app/z3cform/csrf.py:5:1: I001 isort found an import in the wrong position
plone/app/z3cform/csrf.py:6:1: I001 isort found an import in the wrong position
plone/app/z3cform/csrf.py:15:5: D001 found adapts( replace it with zope.component.adapter
plone/app/z3cform/layout.py:0:1: C101 Coding magic comment not found
plone/app/z3cform/layout.py:2:1: F401 'plone.z3cform.layout.FormWrapper' imported but unused
plone/app/z3cform/layout.py:2:1: F401 'plone.z3cform.layout.wrap_form' imported but unused
plone/app/z3cform/layout.py:2:1: I001 isort found an import in the wrong position
plone/app/z3cform/interfaces.py:0:1: C101 Coding magic comment not found
plone/app/z3cform/interfaces.py:2:1: I003 isort expected 1 blank line in imports, found 0
plone/app/z3cform/interfaces.py:3:1: E302 expected 2 blank lines, found 1
plone/app/z3cform/__init__.py:0:1: C101 Coding magic comment not found
plone/app/z3cform/templates.py:0:1: C101 Coding magic comment not found
plone/app/z3cform/templates.py:1:1: I001 isort found an import in the wrong position
plone/app/z3cform/templates.py:2:1: I004 isort found an unexpected blank line in imports
plone/app/z3cform/templates.py:8:1: I001 isort found an import in the wrong position
plone/app/z3cform/templates.py:9:1: I001 isort found an import in the wrong position
plone/app/z3cform/templates.py:10:1: I004 isort found an unexpected blank line in imports
plone/app/z3cform/templates.py:11:1: I001 isort found an import in the wrong position
plone/app/z3cform/templates.py:12:1: I001 isort found an import in the wrong position
plone/app/z3cform/templates.py:13:1: I004 isort found an unexpected blank line in imports
plone/app/z3cform/templates.py:14:1: I001 isort found an import in the wrong position
plone/app/z3cform/templates.py:16:1: E731 do not assign a lambda expression, use a def
plone/app/z3cform/templates.py:16:80: E501 line too long (90 > 79 characters)
plone/app/z3cform/utils.py:0:1: C101 Coding magic comment not found
plone/app/z3cform/utils.py:5:1: I003 isort expected 1 blank line in imports, found 0
plone/app/z3cform/utils.py:5:1: I003 isort expected 1 blank line in imports, found 0
plone/app/z3cform/utils.py:41:13: E129 visually indented line with same indent as next logical line
plone/app/z3cform/object.py:0:1: C101 Coding magic comment not found
plone/app/z3cform/object.py:2:1: I001 isort found an import in the wrong position
plone/app/z3cform/object.py:3:1: I004 isort found an unexpected blank line in imports
plone/app/z3cform/object.py:4:1: I001 isort found an import in the wrong position
plone/app/z3cform/wysiwyg/widget.py:0:1: C101 Coding magic comment not found
plone/app/z3cform/wysiwyg/widget.py:1:1: I003 isort expected 1 blank line in imports, found 0
plone/app/z3cform/wysiwyg/widget.py:4:1: I001 isort found an import in the wrong position
plone/app/z3cform/wysiwyg/widget.py:6:1: I001 isort found an import in the wrong position
plone/app/z3cform/wysiwyg/widget.py:7:1: I001 isort found an import in the wrong position
plone/app/z3cform/wysiwyg/widget.py:8:1: I001 isort found an import in the wrong position
plone/app/z3cform/wysiwyg/widget.py:10:1: E302 expected 2 blank lines, found 1
plone/app/z3cform/wysiwyg/widget.py:13:1: E302 expected 2 blank lines, found 1
plone/app/z3cform/wysiwyg/widget.py:15:1: W293 blank line contains whitespace
plone/app/z3cform/wysiwyg/widget.py:31:1: E302 expected 2 blank lines, found 1
plone/app/z3cform/wysiwyg/__init__.py:0:1: C101 Coding magic comment not found
plone/app/z3cform/wysiwyg/__init__.py:3:1: F401 'widget.WysiwygFieldWidget' imported but unused
plone/app/z3cform/wysiwyg/__init__.py:4:1: W391 blank line at end of file
plone/app/z3cform/queryselect/__init__.py:0:1: C101 Coding magic comment not found
plone/app/z3cform/queryselect/__init__.py:6:1: I001 isort found an import in the wrong position
plone/app/z3cform/queryselect/__init__.py:7:1: I001 isort found an import in the wrong position
plone/app/z3cform/queryselect/__init__.py:8:1: I004 isort found an unexpected blank line in imports
plone/app/z3cform/queryselect/__init__.py:9:1: I001 isort found an import in the wrong position
plone/app/z3cform/queryselect/__init__.py:11:1: E302 expected 2 blank lines, found 1
plone/app/z3cform/queryselect/__init__.py:12:15: D001 found implements( replace it with zope.interface.implementer
plone/app/z3cform/queryselect/__init__.py:19:1: W293 blank line contains whitespace
plone/app/z3cform/queryselect/__init__.py:21:1: W293 blank line contains whitespace
plone/app/z3cform/queryselect/__init__.py:28:1: W293 blank line contains whitespace
plone/app/z3cform/queryselect/__init__.py:32:27: E701 multiple statements on one line (colon)
plone/app/z3cform/queryselect/__init__.py:38:27: E701 multiple statements on one line (colon)
plone/app/z3cform/queryselect/__init__.py:40:1: W293 blank line contains whitespace
plone/app/z3cform/queryselect/__init__.py:46:80: E501 line too long (83 > 79 characters)
plone/app/z3cform/queryselect/__init__.py:48:1: E302 expected 2 blank lines, found 1
plone/app/z3cform/queryselect/__init__.py:49:15: D001 found implements( replace it with zope.interface.implementer
plone/app/z3cform/queryselect/__init__.py:54:1: E302 expected 2 blank lines, found 1
plone/app/z3cform/queryselect/__init__.py:56:19: D001 found implements( replace it with zope.interface.implementer
plone/app/z3cform/tests/tests.py:0:1: C101 Coding magic comment not found
plone/app/z3cform/tests/tests.py:1:1: I003 isort expected 1 blank line in imports, found 0
plone/app/z3cform/tests/tests.py:5:1: I001 isort found an import in the wrong position
plone/app/z3cform/tests/tests.py:6:1: I001 isort found an import in the wrong position
plone/app/z3cform/tests/tests.py:7:1: I004 isort found an unexpected blank line in imports
plone/app/z3cform/tests/tests.py:8:1: I001 isort found an import in the wrong position
plone/app/z3cform/tests/tests.py:9:1: I001 isort found an import in the wrong position
plone/app/z3cform/tests/tests.py:10:1: I001 isort found an import in the wrong position
plone/app/z3cform/tests/tests.py:11:1: I004 isort found an unexpected blank line in imports
plone/app/z3cform/tests/tests.py:12:1: I001 isort found an import in the wrong position
plone/app/z3cform/tests/tests.py:13:1: I001 isort found an import in the wrong position
plone/app/z3cform/tests/tests.py:14:1: I004 isort found an unexpected blank line in imports
plone/app/z3cform/tests/tests.py:15:1: I001 isort found an import in the wrong position
plone/app/z3cform/tests/tests.py:16:1: I001 isort found an import in the wrong position
plone/app/z3cform/tests/tests.py:29:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/z3cform/tests/tests.py:71:48: Q000 Remove bad quotes.
plone/app/z3cform/tests/tests.py:103:3: E122 continuation line missing indentation or outdented
plone/app/z3cform/tests/test_csrf.py:0:1: C101 Coding magic comment not found
plone/app/z3cform/tests/example.py:0:1: C101 Coding magic comment not found
plone/app/z3cform/tests/example.py:1:1: I001 isort found an import in the wrong position
plone/app/z3cform/tests/example.py:3:1: I001 isort found an import in the wrong position
plone/app/z3cform/tests/example.py:4:1: I001 isort found an import in the wrong position
plone/app/z3cform/tests/example.py:5:1: I001 isort found an import in the wrong position
plone/app/z3cform/tests/example.py:6:1: I001 isort found an import in the wrong position
plone/app/z3cform/tests/example.py:7:1: I001 isort found an import in the wrong position
plone/app/z3cform/tests/example.py:11:28: Q000 Remove bad quotes.
plone/app/z3cform/tests/example.py:16:16: Q000 Remove bad quotes.
plone/app/z3cform/tests/example.py:20:5: D001 found implements( replace it with zope.interface.implementer
plone/app/z3cform/tests/example.py:25:13: Q000 Remove bad quotes.
plone/app/z3cform/tests/example.py:38:34: Q000 Remove bad quotes.
plone/app/z3cform/tests/example.py:49:13: Q000 Remove bad quotes.
plone/app/z3cform/tests/example.py:64:1: E303 too many blank lines (3)
plone/app/z3cform/tests/example.py:65:30: Q000 Remove bad quotes.
plone/app/z3cform/tests/example.py:66:55: Q000 Remove bad quotes.
plone/app/z3cform/tests/example.py:67:52: Q000 Remove bad quotes.
plone/app/z3cform/tests/example.py:72:13: Q000 Remove bad quotes.
plone/app/z3cform/tests/test_objectsubform.py:0:1: C101 Coding magic comment not found
plone/app/z3cform/tests/test_objectsubform.py:1:1: I001 isort found an import in the wrong position
plone/app/z3cform/tests/test_objectsubform.py:2:1: I004 isort found an unexpected blank line in imports
plone/app/z3cform/tests/test_objectsubform.py:3:1: I001 isort found an import in the wrong position
plone/app/z3cform/tests/test_objectsubform.py:7:1: I001 isort found an import in the wrong position
plone/app/z3cform/tests/test_objectsubform.py:8:1: I001 isort found an import in the wrong position
plone/app/z3cform/tests/test_objectsubform.py:9:1: I004 isort found an unexpected blank line in imports
plone/app/z3cform/tests/test_objectsubform.py:10:1: I001 isort found an import in the wrong position
plone/app/z3cform/tests/test_objectsubform.py:11:1: I001 isort found an import in the wrong position
plone/app/z3cform/tests/test_objectsubform.py:12:1: I001 isort found an import in the wrong position
plone/app/z3cform/tests/test_objectsubform.py:18:15: Q000 Remove bad quotes.
plone/app/z3cform/tests/test_objectsubform.py:23:15: D001 found implements( replace it with zope.interface.implementer
plone/app/z3cform/tests/test_objectsubform.py:34:16: S001 found module formatter
plone/app/z3cform/tests/test_objectsubform.py:43:15: Q000 Remove bad quotes.
plone/app/z3cform/tests/test_objectsubform.py:46:19: Q000 Remove bad quotes.
plone/app/z3cform/tests/test_objectsubform.py:54:13: Q000 Remove bad quotes.
plone/app/z3cform/tests/test_objectsubform.py:59:15: D001 found implements( replace it with zope.interface.implementer
plone/app/z3cform/tests/test_objectsubform.py:115:80: E501 line too long (81 > 79 characters)
plone/app/z3cform/tests/test_widget.py:0:1: C101 Coding magic comment not found
plone/app/z3cform/tests/test_widget.py:1:1: I001 isort found an import in the wrong position
plone/app/z3cform/tests/test_widget.py:2:1: I004 isort found an unexpected blank line in imports
plone/app/z3cform/tests/test_widget.py:7:1: I001 isort found an import in the wrong position
plone/app/z3cform/tests/test_widget.py:9:1: I001 isort found an import in the wrong position
plone/app/z3cform/tests/test_widget.py:11:1: E302 expected 2 blank lines, found 1
plone/app/z3cform/tests/test_widget.py:12:15: D001 found implements( replace it with zope.interface.implementer
plone/app/z3cform/tests/test_widget.py:31:80: E501 line too long (85 > 79 characters)
plone/app/z3cform/tests/test_widget.py:32:80: E501 line too long (126 > 79 characters)
plone/app/z3cform/tests/test_widget.py:45:7: W292 no newline at end of file
plone/app/z3cform/tests/layer.py:0:1: C101 Coding magic comment not found
plone/app/z3cform/tests/layer.py:1:1: I003 isort expected 1 blank line in imports, found 0
plone/app/z3cform/tests/layer.py:3:1: I004 isort found an unexpected blank line in imports
plone/app/z3cform/tests/layer.py:4:1: I001 isort found an import in the wrong position
plone/app/z3cform/tests/layer.py:5:1: I001 isort found an import in the wrong position
plone/app/z3cform/tests/layer.py:6:1: I001 isort found an import in the wrong position
plone/app/z3cform/tests/layer.py:7:1: I001 isort found an import in the wrong position
plone/app/z3cform/tests/layer.py:8:1: I001 isort found an import in the wrong position
plone/app/z3cform/tests/layer.py:9:1: I001 isort found an import in the wrong position
plone/app/z3cform/tests/layer.py:10:1: I001 isort found an import in the wrong position
plone/app/z3cform/tests/layer.py:11:1: I001 isort found an import in the wrong position
plone/app/z3cform/tests/layer.py:54:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/z3cform/tests/layer.py:74:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/z3cform/tests/layer.py:77:10: Q000 Remove bad quotes.
```
Follow [these instructions](https://github.com/plone/jenkins.plone.org/blob/master/docs/source/run-qa-on-package.rst) to reproduce it locally.


@thet Jenkins CI reporting about code analysis
See the full report here: http://jenkins.plone.org/job/package-plone.app.z3cform/6/violations
```
plone/__init__.py:0:1: C101 Coding magic comment not found
plone/app/__init__.py:0:1: C101 Coding magic comment not found
plone/app/z3cform/inline_validation.py:0:1: C101 Coding magic comment not found
plone/app/z3cform/inline_validation.py:14:1: C901 'InlineValidationView.__call__' is too complex (12)
plone/app/z3cform/inline_validation.py:23:12: P002 found "hasattr", consider replacing it
plone/app/z3cform/inline_validation.py:25:16: P002 found "hasattr", consider replacing it
plone/app/z3cform/inline_validation.py:29:26: Q000 Remove bad quotes.
plone/app/z3cform/inline_validation.py:34:9: E265 block comment should start with '# '
plone/app/z3cform/inline_validation.py:41:17: E731 do not assign a lambda expression, use a def
plone/app/z3cform/widget.py:2:1: I001 isort found an import in the wrong position
plone/app/z3cform/widget.py:5:80: E501 line too long (83 > 79 characters)
plone/app/z3cform/widget.py:7:1: I001 isort found an import in the wrong position
plone/app/z3cform/widget.py:9:1: I001 isort found an import in the wrong position
plone/app/z3cform/widget.py:10:1: I001 isort found an import in the wrong position
plone/app/z3cform/widget.py:27:1: I001 isort found an import in the wrong position
plone/app/z3cform/widget.py:34:1: I001 isort found an import in the wrong position
plone/app/z3cform/widget.py:35:1: I004 isort found an unexpected blank line in imports
plone/app/z3cform/widget.py:36:1: I001 isort found an import in the wrong position
plone/app/z3cform/widget.py:37:1: I001 isort found an import in the wrong position
plone/app/z3cform/widget.py:38:1: I001 isort found an import in the wrong position
plone/app/z3cform/widget.py:39:1: I001 isort found an import in the wrong position
plone/app/z3cform/widget.py:40:1: I001 isort found an import in the wrong position
plone/app/z3cform/widget.py:41:1: I001 isort found an import in the wrong position
plone/app/z3cform/widget.py:44:1: I004 isort found an unexpected blank line in imports
plone/app/z3cform/widget.py:45:1: I001 isort found an import in the wrong position
plone/app/z3cform/widget.py:140:29: Q000 Remove bad quotes.
plone/app/z3cform/widget.py:329:26: Q000 Remove bad quotes.
plone/app/z3cform/widget.py:329:26: S001 found module formatter
plone/app/z3cform/widget.py:396:30: Q000 Remove bad quotes.
plone/app/z3cform/widget.py:396:30: S001 found module formatter
plone/app/z3cform/widget.py:500:35: P101 format string does contain unindexed parameters
plone/app/z3cform/widget.py:511:42: P101 format string does contain unindexed parameters
plone/app/z3cform/widget.py:512:44: P101 format string does contain unindexed parameters
plone/app/z3cform/widget.py:514:34: P101 format string does contain unindexed parameters
plone/app/z3cform/widget.py:537:28: P101 format string does contain unindexed parameters
plone/app/z3cform/csrf.py:0:1: C101 Coding magic comment not found
plone/app/z3cform/csrf.py:15:5: D001 found adapts( replace it with zope.component.adapter
plone/app/z3cform/layout.py:0:1: C101 Coding magic comment not found
plone/app/z3cform/layout.py:2:1: F401 'plone.z3cform.layout.FormWrapper' imported but unused
plone/app/z3cform/layout.py:2:1: F401 'plone.z3cform.layout.wrap_form' imported but unused
plone/app/z3cform/layout.py:2:1: I001 isort found an import in the wrong position
plone/app/z3cform/interfaces.py:0:1: C101 Coding magic comment not found
plone/app/z3cform/interfaces.py:4:1: I001 isort found an import in the wrong position
plone/app/z3cform/interfaces.py:5:1: I001 isort found an import in the wrong position
plone/app/z3cform/interfaces.py:6:1: I001 isort found an import in the wrong position
plone/app/z3cform/interfaces.py:6:80: E501 line too long (85 > 79 characters)
plone/app/z3cform/templates.py:0:1: C101 Coding magic comment not found
plone/app/z3cform/templates.py:13:1: E731 do not assign a lambda expression, use a def
plone/app/z3cform/utils.py:0:1: C101 Coding magic comment not found
plone/app/z3cform/utils.py:5:1: I003 isort expected 1 blank line in imports, found 0
plone/app/z3cform/utils.py:5:1: I003 isort expected 1 blank line in imports, found 0
plone/app/z3cform/object.py:0:1: C101 Coding magic comment not found
plone/app/z3cform/object.py:3:1: I001 isort found an import in the wrong position
plone/app/z3cform/converters.py:4:1: I001 isort found an import in the wrong position
plone/app/z3cform/converters.py:5:1: I001 isort found an import in the wrong position
plone/app/z3cform/converters.py:6:1: I001 isort found an import in the wrong position
plone/app/z3cform/converters.py:18:1: I001 isort found an import in the wrong position
plone/app/z3cform/converters.py:19:1: I001 isort found an import in the wrong position
plone/app/z3cform/converters.py:20:1: I001 isort found an import in the wrong position
plone/app/z3cform/converters.py:21:1: I004 isort found an unexpected blank line in imports
plone/app/z3cform/converters.py:23:1: I001 isort found an import in the wrong position
plone/app/z3cform/converters.py:24:1: I004 isort found an unexpected blank line in imports
plone/app/z3cform/converters.py:25:1: I001 isort found an import in the wrong position
plone/app/z3cform/converters.py:26:1: I001 isort found an import in the wrong position
plone/app/z3cform/converters.py:32:5: D001 found adapts( replace it with zope.component.adapter
plone/app/z3cform/converters.py:65:5: D001 found adapts( replace it with zope.component.adapter
plone/app/z3cform/converters.py:139:5: D001 found adapts( replace it with zope.component.adapter
plone/app/z3cform/converters.py:144:5: D001 found adapts( replace it with zope.component.adapter
plone/app/z3cform/converters.py:151:5: D001 found adapts( replace it with zope.component.adapter
plone/app/z3cform/converters.py:193:5: D001 found adapts( replace it with zope.component.adapter
plone/app/z3cform/converters.py:218:5: D001 found adapts( replace it with zope.component.adapter
plone/app/z3cform/converters.py:275:5: D001 found adapts( replace it with zope.component.adapter
plone/app/z3cform/wysiwyg/widget.py:0:1: C101 Coding magic comment not found
plone/app/z3cform/wysiwyg/widget.py:1:1: I003 isort expected 1 blank line in imports, found 0
plone/app/z3cform/wysiwyg/widget.py:4:1: I001 isort found an import in the wrong position
plone/app/z3cform/wysiwyg/widget.py:5:1: I004 isort found an unexpected blank line in imports
plone/app/z3cform/wysiwyg/widget.py:6:1: I001 isort found an import in the wrong position
plone/app/z3cform/wysiwyg/widget.py:7:1: I001 isort found an import in the wrong position
plone/app/z3cform/wysiwyg/widget.py:8:1: I001 isort found an import in the wrong position
plone/app/z3cform/wysiwyg/__init__.py:0:1: C101 Coding magic comment not found
plone/app/z3cform/wysiwyg/__init__.py:2:1: F401 'plone.app.z3cform.wysiwyg.widget.WysiwygFieldWidget' imported but unused
plone/app/z3cform/queryselect/__init__.py:0:1: C101 Coding magic comment not found
plone/app/z3cform/queryselect/__init__.py:3:1: I003 isort expected 1 blank line in imports, found 0
plone/app/z3cform/queryselect/__init__.py:10:15: D001 found implements( replace it with zope.interface.implementer
plone/app/z3cform/queryselect/__init__.py:53:15: D001 found implements( replace it with zope.interface.implementer
plone/app/z3cform/queryselect/__init__.py:61:19: D001 found implements( replace it with zope.interface.implementer
plone/app/z3cform/tests/tests.py:0:1: C101 Coding magic comment not found
plone/app/z3cform/tests/tests.py:8:1: I003 isort expected 1 blank line in imports, found 0
plone/app/z3cform/tests/test_csrf.py:0:1: C101 Coding magic comment not found
plone/app/z3cform/tests/example.py:0:1: C101 Coding magic comment not found
plone/app/z3cform/tests/example.py:2:1: I001 isort found an import in the wrong position
plone/app/z3cform/tests/example.py:5:1: I001 isort found an import in the wrong position
plone/app/z3cform/tests/example.py:11:28: Q000 Remove bad quotes.
plone/app/z3cform/tests/example.py:16:16: Q000 Remove bad quotes.
plone/app/z3cform/tests/example.py:20:5: D001 found implements( replace it with zope.interface.implementer
plone/app/z3cform/tests/example.py:25:13: Q000 Remove bad quotes.
plone/app/z3cform/tests/example.py:38:34: Q000 Remove bad quotes.
plone/app/z3cform/tests/example.py:49:13: Q000 Remove bad quotes.
plone/app/z3cform/tests/example.py:64:30: Q000 Remove bad quotes.
plone/app/z3cform/tests/example.py:65:55: Q000 Remove bad quotes.
plone/app/z3cform/tests/example.py:66:52: Q000 Remove bad quotes.
plone/app/z3cform/tests/example.py:71:13: Q000 Remove bad quotes.
plone/app/z3cform/tests/test_objectsubform.py:0:1: C101 Coding magic comment not found
plone/app/z3cform/tests/test_objectsubform.py:2:1: I001 isort found an import in the wrong position
plone/app/z3cform/tests/test_objectsubform.py:6:1: I001 isort found an import in the wrong position
plone/app/z3cform/tests/test_objectsubform.py:8:1: I001 isort found an import in the wrong position
plone/app/z3cform/tests/test_objectsubform.py:18:15: Q000 Remove bad quotes.
plone/app/z3cform/tests/test_objectsubform.py:23:15: D001 found implements( replace it with zope.interface.implementer
plone/app/z3cform/tests/test_objectsubform.py:34:16: S001 found module formatter
plone/app/z3cform/tests/test_objectsubform.py:43:15: Q000 Remove bad quotes.
plone/app/z3cform/tests/test_objectsubform.py:46:19: Q000 Remove bad quotes.
plone/app/z3cform/tests/test_objectsubform.py:54:13: Q000 Remove bad quotes.
plone/app/z3cform/tests/test_objectsubform.py:59:15: D001 found implements( replace it with zope.interface.implementer
plone/app/z3cform/tests/test_widgets.py:17:1: I001 isort found an import in the wrong position
plone/app/z3cform/tests/test_widgets.py:25:1: I001 isort found an import in the wrong position
plone/app/z3cform/tests/test_widgets.py:29:1: I003 isort expected 1 blank line in imports, found 0
plone/app/z3cform/tests/test_widgets.py:36:1: I001 isort found an import in the wrong position
plone/app/z3cform/tests/test_widgets.py:547:14: D001 found assertEquals( replace it with assertEqual
plone/app/z3cform/tests/test_widgets.py:550:14: D001 found assertEquals( replace it with assertEqual
plone/app/z3cform/tests/test_widgets.py:768:9: D001 found directlyProvides( replace it with zope.interface.provider
plone/app/z3cform/tests/test_widgets.py:957:14: D001 found assertEquals( replace it with assertEqual
plone/app/z3cform/tests/test_widgets.py:997:80: E501 line too long (81 > 79 characters)
plone/app/z3cform/tests/test_widgets.py:1020:80: E501 line too long (82 > 79 characters)
plone/app/z3cform/tests/test_widgets.py:1085:40: Q000 Remove bad quotes.
plone/app/z3cform/tests/test_widgets.py:1116:14: D001 found assertEquals( replace it with assertEqual
plone/app/z3cform/tests/test_widgets.py:1124:39: Q000 Remove bad quotes.
plone/app/z3cform/tests/test_widget.py:0:1: C101 Coding magic comment not found
plone/app/z3cform/tests/test_widget.py:11:15: D001 found implements( replace it with zope.interface.implementer
plone/app/z3cform/tests/test_widget.py:32:80: E501 line too long (126 > 79 characters)
plone/app/z3cform/tests/layer.py:0:1: C101 Coding magic comment not found
plone/app/z3cform/tests/layer.py:1:1: I001 isort found an import in the wrong position
plone/app/z3cform/tests/layer.py:33:10: Q000 Remove bad quotes.
```
Follow [these instructions](https://github.com/plone/jenkins.plone.org/blob/master/docs/source/run-qa-on-package.rst) to reproduce it locally.


@vangheem Jenkins CI reporting about code analysis
See the full report here: http://jenkins.plone.org/job/package-plone.app.z3cform/7/violations
```
plone/__init__.py:0:1: C101 Coding magic comment not found
plone/app/__init__.py:0:1: C101 Coding magic comment not found
plone/app/z3cform/inline_validation.py:0:1: C101 Coding magic comment not found
plone/app/z3cform/inline_validation.py:14:1: C901 'InlineValidationView.__call__' is too complex (12)
plone/app/z3cform/inline_validation.py:23:12: P002 found "hasattr", consider replacing it
plone/app/z3cform/inline_validation.py:25:16: P002 found "hasattr", consider replacing it
plone/app/z3cform/inline_validation.py:29:26: Q000 Remove bad quotes.
plone/app/z3cform/inline_validation.py:34:9: E265 block comment should start with '# '
plone/app/z3cform/inline_validation.py:41:17: E731 do not assign a lambda expression, use a def
plone/app/z3cform/widget.py:2:1: I001 isort found an import in the wrong position
plone/app/z3cform/widget.py:5:80: E501 line too long (83 > 79 characters)
plone/app/z3cform/widget.py:7:1: I001 isort found an import in the wrong position
plone/app/z3cform/widget.py:9:1: I001 isort found an import in the wrong position
plone/app/z3cform/widget.py:10:1: I001 isort found an import in the wrong position
plone/app/z3cform/widget.py:27:1: I001 isort found an import in the wrong position
plone/app/z3cform/widget.py:34:1: I001 isort found an import in the wrong position
plone/app/z3cform/widget.py:35:1: I004 isort found an unexpected blank line in imports
plone/app/z3cform/widget.py:36:1: I001 isort found an import in the wrong position
plone/app/z3cform/widget.py:37:1: I001 isort found an import in the wrong position
plone/app/z3cform/widget.py:38:1: I001 isort found an import in the wrong position
plone/app/z3cform/widget.py:39:1: I001 isort found an import in the wrong position
plone/app/z3cform/widget.py:40:1: I001 isort found an import in the wrong position
plone/app/z3cform/widget.py:41:1: I001 isort found an import in the wrong position
plone/app/z3cform/widget.py:44:1: I004 isort found an unexpected blank line in imports
plone/app/z3cform/widget.py:45:1: I001 isort found an import in the wrong position
plone/app/z3cform/widget.py:140:29: Q000 Remove bad quotes.
plone/app/z3cform/widget.py:329:26: Q000 Remove bad quotes.
plone/app/z3cform/widget.py:329:26: S001 found module formatter
plone/app/z3cform/widget.py:396:30: Q000 Remove bad quotes.
plone/app/z3cform/widget.py:396:30: S001 found module formatter
plone/app/z3cform/widget.py:466:48: Q000 Remove bad quotes.
plone/app/z3cform/widget.py:516:35: P101 format string does contain unindexed parameters
plone/app/z3cform/widget.py:527:42: P101 format string does contain unindexed parameters
plone/app/z3cform/widget.py:528:44: P101 format string does contain unindexed parameters
plone/app/z3cform/widget.py:530:34: P101 format string does contain unindexed parameters
plone/app/z3cform/widget.py:553:28: P101 format string does contain unindexed parameters
plone/app/z3cform/csrf.py:0:1: C101 Coding magic comment not found
plone/app/z3cform/csrf.py:15:5: D001 found adapts( replace it with zope.component.adapter
plone/app/z3cform/layout.py:0:1: C101 Coding magic comment not found
plone/app/z3cform/layout.py:2:1: F401 'plone.z3cform.layout.FormWrapper' imported but unused
plone/app/z3cform/layout.py:2:1: F401 'plone.z3cform.layout.wrap_form' imported but unused
plone/app/z3cform/layout.py:2:1: I001 isort found an import in the wrong position
plone/app/z3cform/captcha.py:6:1: I001 isort found an import in the wrong position
plone/app/z3cform/captcha.py:7:1: I001 isort found an import in the wrong position
plone/app/z3cform/captcha.py:14:1: I001 isort found an import in the wrong position
plone/app/z3cform/captcha.py:35:5: D001 found implements( replace it with zope.interface.implementer
plone/app/z3cform/captcha.py:36:5: D001 found adapts( replace it with zope.component.adapter
plone/app/z3cform/captcha.py:44:80: E501 line too long (86 > 79 characters)
plone/app/z3cform/interfaces.py:0:1: C101 Coding magic comment not found
plone/app/z3cform/interfaces.py:1:80: E501 line too long (85 > 79 characters)
plone/app/z3cform/interfaces.py:3:1: I001 isort found an import in the wrong position
plone/app/z3cform/interfaces.py:11:1: I001 isort found an import in the wrong position
plone/app/z3cform/interfaces.py:59:39: Q000 Remove bad quotes.
plone/app/z3cform/interfaces.py:60:46: W292 no newline at end of file
plone/app/z3cform/templates.py:0:1: C101 Coding magic comment not found
plone/app/z3cform/templates.py:13:1: E731 do not assign a lambda expression, use a def
plone/app/z3cform/utils.py:0:1: C101 Coding magic comment not found
plone/app/z3cform/utils.py:5:1: I003 isort expected 1 blank line in imports, found 0
plone/app/z3cform/utils.py:5:1: I003 isort expected 1 blank line in imports, found 0
plone/app/z3cform/object.py:0:1: C101 Coding magic comment not found
plone/app/z3cform/object.py:3:1: I001 isort found an import in the wrong position
plone/app/z3cform/converters.py:4:1: I001 isort found an import in the wrong position
plone/app/z3cform/converters.py:5:1: I001 isort found an import in the wrong position
plone/app/z3cform/converters.py:6:1: I001 isort found an import in the wrong position
plone/app/z3cform/converters.py:18:1: I001 isort found an import in the wrong position
plone/app/z3cform/converters.py:19:1: I001 isort found an import in the wrong position
plone/app/z3cform/converters.py:20:1: I001 isort found an import in the wrong position
plone/app/z3cform/converters.py:21:1: I004 isort found an unexpected blank line in imports
plone/app/z3cform/converters.py:23:1: I001 isort found an import in the wrong position
plone/app/z3cform/converters.py:24:1: I004 isort found an unexpected blank line in imports
plone/app/z3cform/converters.py:25:1: I001 isort found an import in the wrong position
plone/app/z3cform/converters.py:26:1: I001 isort found an import in the wrong position
plone/app/z3cform/converters.py:32:5: D001 found adapts( replace it with zope.component.adapter
plone/app/z3cform/converters.py:65:5: D001 found adapts( replace it with zope.component.adapter
plone/app/z3cform/converters.py:139:5: D001 found adapts( replace it with zope.component.adapter
plone/app/z3cform/converters.py:144:5: D001 found adapts( replace it with zope.component.adapter
plone/app/z3cform/converters.py:151:5: D001 found adapts( replace it with zope.component.adapter
plone/app/z3cform/converters.py:193:5: D001 found adapts( replace it with zope.component.adapter
plone/app/z3cform/converters.py:218:5: D001 found adapts( replace it with zope.component.adapter
plone/app/z3cform/converters.py:275:5: D001 found adapts( replace it with zope.component.adapter
plone/app/z3cform/wysiwyg/widget.py:0:1: C101 Coding magic comment not found
plone/app/z3cform/wysiwyg/widget.py:1:1: I003 isort expected 1 blank line in imports, found 0
plone/app/z3cform/wysiwyg/widget.py:4:1: I001 isort found an import in the wrong position
plone/app/z3cform/wysiwyg/widget.py:5:1: I004 isort found an unexpected blank line in imports
plone/app/z3cform/wysiwyg/widget.py:6:1: I001 isort found an import in the wrong position
plone/app/z3cform/wysiwyg/widget.py:7:1: I001 isort found an import in the wrong position
plone/app/z3cform/wysiwyg/widget.py:8:1: I001 isort found an import in the wrong position
plone/app/z3cform/wysiwyg/__init__.py:0:1: C101 Coding magic comment not found
plone/app/z3cform/wysiwyg/__init__.py:2:1: F401 'plone.app.z3cform.wysiwyg.widget.WysiwygFieldWidget' imported but unused
plone/app/z3cform/queryselect/__init__.py:0:1: C101 Coding magic comment not found
plone/app/z3cform/queryselect/__init__.py:3:1: I003 isort expected 1 blank line in imports, found 0
plone/app/z3cform/queryselect/__init__.py:10:15: D001 found implements( replace it with zope.interface.implementer
plone/app/z3cform/queryselect/__init__.py:53:15: D001 found implements( replace it with zope.interface.implementer
plone/app/z3cform/queryselect/__init__.py:61:19: D001 found implements( replace it with zope.interface.implementer
plone/app/z3cform/tests/tests.py:0:1: C101 Coding magic comment not found
plone/app/z3cform/tests/tests.py:8:1: I003 isort expected 1 blank line in imports, found 0
plone/app/z3cform/tests/test_csrf.py:0:1: C101 Coding magic comment not found
plone/app/z3cform/tests/example.py:0:1: C101 Coding magic comment not found
plone/app/z3cform/tests/example.py:2:1: I001 isort found an import in the wrong position
plone/app/z3cform/tests/example.py:5:1: I001 isort found an import in the wrong position
plone/app/z3cform/tests/example.py:11:28: Q000 Remove bad quotes.
plone/app/z3cform/tests/example.py:16:16: Q000 Remove bad quotes.
plone/app/z3cform/tests/example.py:20:5: D001 found implements( replace it with zope.interface.implementer
plone/app/z3cform/tests/example.py:25:13: Q000 Remove bad quotes.
plone/app/z3cform/tests/example.py:38:34: Q000 Remove bad quotes.
plone/app/z3cform/tests/example.py:49:13: Q000 Remove bad quotes.
plone/app/z3cform/tests/example.py:64:30: Q000 Remove bad quotes.
plone/app/z3cform/tests/example.py:65:55: Q000 Remove bad quotes.
plone/app/z3cform/tests/example.py:66:52: Q000 Remove bad quotes.
plone/app/z3cform/tests/example.py:71:13: Q000 Remove bad quotes.
plone/app/z3cform/tests/test_objectsubform.py:0:1: C101 Coding magic comment not found
plone/app/z3cform/tests/test_objectsubform.py:2:1: I001 isort found an import in the wrong position
plone/app/z3cform/tests/test_objectsubform.py:6:1: I001 isort found an import in the wrong position
plone/app/z3cform/tests/test_objectsubform.py:8:1: I001 isort found an import in the wrong position
plone/app/z3cform/tests/test_objectsubform.py:18:15: Q000 Remove bad quotes.
plone/app/z3cform/tests/test_objectsubform.py:23:15: D001 found implements( replace it with zope.interface.implementer
plone/app/z3cform/tests/test_objectsubform.py:34:16: S001 found module formatter
plone/app/z3cform/tests/test_objectsubform.py:43:15: Q000 Remove bad quotes.
plone/app/z3cform/tests/test_objectsubform.py:46:19: Q000 Remove bad quotes.
plone/app/z3cform/tests/test_objectsubform.py:54:13: Q000 Remove bad quotes.
plone/app/z3cform/tests/test_objectsubform.py:59:15: D001 found implements( replace it with zope.interface.implementer
plone/app/z3cform/tests/test_widgets.py:18:1: I001 isort found an import in the wrong position
plone/app/z3cform/tests/test_widgets.py:26:1: I001 isort found an import in the wrong position
plone/app/z3cform/tests/test_widgets.py:30:1: I003 isort expected 1 blank line in imports, found 0
plone/app/z3cform/tests/test_widgets.py:37:1: I001 isort found an import in the wrong position
plone/app/z3cform/tests/test_widgets.py:548:14: D001 found assertEquals( replace it with assertEqual
plone/app/z3cform/tests/test_widgets.py:551:14: D001 found assertEquals( replace it with assertEqual
plone/app/z3cform/tests/test_widgets.py:769:9: D001 found directlyProvides( replace it with zope.interface.provider
plone/app/z3cform/tests/test_widgets.py:961:18: D001 found assertEquals( replace it with assertEqual
plone/app/z3cform/tests/test_widgets.py:961:80: E501 line too long (80 > 79 characters)
plone/app/z3cform/tests/test_widgets.py:984:80: E501 line too long (82 > 79 characters)
plone/app/z3cform/tests/test_widgets.py:1003:80: E501 line too long (81 > 79 characters)
plone/app/z3cform/tests/test_widgets.py:1026:80: E501 line too long (82 > 79 characters)
plone/app/z3cform/tests/test_widgets.py:1091:40: Q000 Remove bad quotes.
plone/app/z3cform/tests/test_widgets.py:1122:14: D001 found assertEquals( replace it with assertEqual
plone/app/z3cform/tests/test_widgets.py:1130:39: Q000 Remove bad quotes.
plone/app/z3cform/tests/test_widget.py:0:1: C101 Coding magic comment not found
plone/app/z3cform/tests/test_widget.py:11:15: D001 found implements( replace it with zope.interface.implementer
plone/app/z3cform/tests/test_widget.py:32:80: E501 line too long (126 > 79 characters)
plone/app/z3cform/tests/layer.py:0:1: C101 Coding magic comment not found
plone/app/z3cform/tests/layer.py:1:1: I001 isort found an import in the wrong position
plone/app/z3cform/tests/layer.py:33:10: Q000 Remove bad quotes.
```
Follow [these instructions](https://github.com/plone/jenkins.plone.org/blob/master/docs/source/run-qa-on-package.rst) to reproduce it locally.


This active trying of pushing cmd into queue. It burns cpu time until queue has a free slot. It can take many seconds until queue slot is available. So this is not good solution.


Fixed in master


@thet Jenkins CI reporting about code analysis
See the full report here: http://jenkins.plone.org/job/package-plone.app.z3cform/8/violations
```
plone/__init__.py:0:1: C101 Coding magic comment not found
plone/app/__init__.py:0:1: C101 Coding magic comment not found
plone/app/z3cform/inline_validation.py:0:1: C101 Coding magic comment not found
plone/app/z3cform/inline_validation.py:14:1: C901 'InlineValidationView.__call__' is too complex (12)
plone/app/z3cform/inline_validation.py:23:12: P002 found "hasattr", consider replacing it
plone/app/z3cform/inline_validation.py:25:16: P002 found "hasattr", consider replacing it
plone/app/z3cform/inline_validation.py:29:26: Q000 Remove bad quotes.
plone/app/z3cform/inline_validation.py:34:9: E265 block comment should start with '# '
plone/app/z3cform/inline_validation.py:41:17: E731 do not assign a lambda expression, use a def
plone/app/z3cform/widget.py:3:1: I001 isort found an import in the wrong position
plone/app/z3cform/widget.py:4:1: I001 isort found an import in the wrong position
plone/app/z3cform/widget.py:7:80: E501 line too long (83 > 79 characters)
plone/app/z3cform/widget.py:9:1: I001 isort found an import in the wrong position
plone/app/z3cform/widget.py:11:1: I001 isort found an import in the wrong position
plone/app/z3cform/widget.py:12:1: I001 isort found an import in the wrong position
plone/app/z3cform/widget.py:20:1: I001 isort found an import in the wrong position
plone/app/z3cform/widget.py:30:1: I001 isort found an import in the wrong position
plone/app/z3cform/widget.py:37:1: I001 isort found an import in the wrong position
plone/app/z3cform/widget.py:38:1: I004 isort found an unexpected blank line in imports
plone/app/z3cform/widget.py:39:1: I001 isort found an import in the wrong position
plone/app/z3cform/widget.py:40:1: I001 isort found an import in the wrong position
plone/app/z3cform/widget.py:41:1: I001 isort found an import in the wrong position
plone/app/z3cform/widget.py:42:1: I001 isort found an import in the wrong position
plone/app/z3cform/widget.py:43:1: I001 isort found an import in the wrong position
plone/app/z3cform/widget.py:44:1: I001 isort found an import in the wrong position
plone/app/z3cform/widget.py:47:1: I004 isort found an unexpected blank line in imports
plone/app/z3cform/widget.py:48:1: I001 isort found an import in the wrong position
plone/app/z3cform/widget.py:143:29: Q000 Remove bad quotes.
plone/app/z3cform/widget.py:338:26: Q000 Remove bad quotes.
plone/app/z3cform/widget.py:338:26: S001 found module formatter
plone/app/z3cform/widget.py:419:30: Q000 Remove bad quotes.
plone/app/z3cform/widget.py:419:30: S001 found module formatter
plone/app/z3cform/widget.py:498:58: Q000 Remove bad quotes.
plone/app/z3cform/widget.py:545:35: P101 format string does contain unindexed parameters
plone/app/z3cform/widget.py:556:42: P101 format string does contain unindexed parameters
plone/app/z3cform/widget.py:557:44: P101 format string does contain unindexed parameters
plone/app/z3cform/widget.py:559:34: P101 format string does contain unindexed parameters
plone/app/z3cform/widget.py:582:28: P101 format string does contain unindexed parameters
plone/app/z3cform/csrf.py:0:1: C101 Coding magic comment not found
plone/app/z3cform/csrf.py:15:5: D001 found adapts( replace it with zope.component.adapter
plone/app/z3cform/layout.py:0:1: C101 Coding magic comment not found
plone/app/z3cform/layout.py:2:1: F401 'plone.z3cform.layout.FormWrapper' imported but unused
plone/app/z3cform/layout.py:2:1: F401 'plone.z3cform.layout.wrap_form' imported but unused
plone/app/z3cform/layout.py:2:1: I001 isort found an import in the wrong position
plone/app/z3cform/interfaces.py:0:1: C101 Coding magic comment not found
plone/app/z3cform/interfaces.py:4:1: I001 isort found an import in the wrong position
plone/app/z3cform/interfaces.py:5:1: I001 isort found an import in the wrong position
plone/app/z3cform/interfaces.py:6:1: I001 isort found an import in the wrong position
plone/app/z3cform/interfaces.py:6:80: E501 line too long (85 > 79 characters)
plone/app/z3cform/templates.py:0:1: C101 Coding magic comment not found
plone/app/z3cform/templates.py:13:1: E731 do not assign a lambda expression, use a def
plone/app/z3cform/utils.py:0:1: C101 Coding magic comment not found
plone/app/z3cform/utils.py:5:1: I003 isort expected 1 blank line in imports, found 0
plone/app/z3cform/utils.py:5:1: I003 isort expected 1 blank line in imports, found 0
plone/app/z3cform/object.py:0:1: C101 Coding magic comment not found
plone/app/z3cform/object.py:3:1: I001 isort found an import in the wrong position
plone/app/z3cform/converters.py:2:1: I001 isort found an import in the wrong position
plone/app/z3cform/converters.py:3:1: I001 isort found an import in the wrong position
plone/app/z3cform/converters.py:19:1: I001 isort found an import in the wrong position
plone/app/z3cform/converters.py:20:1: I001 isort found an import in the wrong position
plone/app/z3cform/converters.py:21:1: I001 isort found an import in the wrong position
plone/app/z3cform/converters.py:22:1: I004 isort found an unexpected blank line in imports
plone/app/z3cform/converters.py:24:1: I001 isort found an import in the wrong position
plone/app/z3cform/converters.py:25:1: I004 isort found an unexpected blank line in imports
plone/app/z3cform/converters.py:26:1: I001 isort found an import in the wrong position
plone/app/z3cform/converters.py:27:1: I001 isort found an import in the wrong position
plone/app/z3cform/converters.py:33:5: D001 found adapts( replace it with zope.component.adapter
plone/app/z3cform/converters.py:66:5: D001 found adapts( replace it with zope.component.adapter
plone/app/z3cform/converters.py:140:5: D001 found adapts( replace it with zope.component.adapter
plone/app/z3cform/converters.py:145:5: D001 found adapts( replace it with zope.component.adapter
plone/app/z3cform/converters.py:152:5: D001 found adapts( replace it with zope.component.adapter
plone/app/z3cform/converters.py:207:5: D001 found adapts( replace it with zope.component.adapter
plone/app/z3cform/converters.py:232:5: D001 found adapts( replace it with zope.component.adapter
plone/app/z3cform/converters.py:289:5: D001 found adapts( replace it with zope.component.adapter
plone/app/z3cform/wysiwyg/widget.py:0:1: C101 Coding magic comment not found
plone/app/z3cform/wysiwyg/widget.py:1:1: I001 isort found an import in the wrong position
plone/app/z3cform/wysiwyg/widget.py:7:1: I001 isort found an import in the wrong position
plone/app/z3cform/wysiwyg/widget.py:43:17: Q000 Remove bad quotes.
plone/app/z3cform/wysiwyg/widget.py:43:80: E501 line too long (84 > 79 characters)
plone/app/z3cform/wysiwyg/widget.py:44:17: Q000 Remove bad quotes.
plone/app/z3cform/wysiwyg/__init__.py:0:1: C101 Coding magic comment not found
plone/app/z3cform/wysiwyg/__init__.py:2:1: F401 'plone.app.z3cform.wysiwyg.widget.WysiwygFieldWidget' imported but unused
plone/app/z3cform/queryselect/__init__.py:0:1: C101 Coding magic comment not found
plone/app/z3cform/queryselect/__init__.py:3:1: I003 isort expected 1 blank line in imports, found 0
plone/app/z3cform/queryselect/__init__.py:7:1: I001 isort found an import in the wrong position
plone/app/z3cform/queryselect/__init__.py:14:15: D001 found implements( replace it with zope.interface.implementer
plone/app/z3cform/queryselect/__init__.py:17:21: Q000 Remove bad quotes.
plone/app/z3cform/queryselect/__init__.py:17:80: E501 line too long (97 > 79 characters)
plone/app/z3cform/queryselect/__init__.py:18:21: Q000 Remove bad quotes.
plone/app/z3cform/queryselect/__init__.py:59:15: D001 found implements( replace it with zope.interface.implementer
plone/app/z3cform/queryselect/__init__.py:67:19: D001 found implements( replace it with zope.interface.implementer
plone/app/z3cform/tests/tests.py:0:1: C101 Coding magic comment not found
plone/app/z3cform/tests/tests.py:8:1: I003 isort expected 1 blank line in imports, found 0
plone/app/z3cform/tests/test_csrf.py:0:1: C101 Coding magic comment not found
plone/app/z3cform/tests/example.py:0:1: C101 Coding magic comment not found
plone/app/z3cform/tests/example.py:2:1: I001 isort found an import in the wrong position
plone/app/z3cform/tests/example.py:5:1: I001 isort found an import in the wrong position
plone/app/z3cform/tests/example.py:11:28: Q000 Remove bad quotes.
plone/app/z3cform/tests/example.py:16:16: Q000 Remove bad quotes.
plone/app/z3cform/tests/example.py:20:5: D001 found implements( replace it with zope.interface.implementer
plone/app/z3cform/tests/example.py:25:13: Q000 Remove bad quotes.
plone/app/z3cform/tests/example.py:38:34: Q000 Remove bad quotes.
plone/app/z3cform/tests/example.py:49:13: Q000 Remove bad quotes.
plone/app/z3cform/tests/example.py:64:30: Q000 Remove bad quotes.
plone/app/z3cform/tests/example.py:65:55: Q000 Remove bad quotes.
plone/app/z3cform/tests/example.py:66:52: Q000 Remove bad quotes.
plone/app/z3cform/tests/example.py:71:13: Q000 Remove bad quotes.
plone/app/z3cform/tests/test_objectsubform.py:0:1: C101 Coding magic comment not found
plone/app/z3cform/tests/test_objectsubform.py:2:1: I001 isort found an import in the wrong position
plone/app/z3cform/tests/test_objectsubform.py:6:1: I001 isort found an import in the wrong position
plone/app/z3cform/tests/test_objectsubform.py:8:1: I001 isort found an import in the wrong position
plone/app/z3cform/tests/test_objectsubform.py:18:15: Q000 Remove bad quotes.
plone/app/z3cform/tests/test_objectsubform.py:23:15: D001 found implements( replace it with zope.interface.implementer
plone/app/z3cform/tests/test_objectsubform.py:34:16: S001 found module formatter
plone/app/z3cform/tests/test_objectsubform.py:43:15: Q000 Remove bad quotes.
plone/app/z3cform/tests/test_objectsubform.py:46:19: Q000 Remove bad quotes.
plone/app/z3cform/tests/test_objectsubform.py:54:13: Q000 Remove bad quotes.
plone/app/z3cform/tests/test_objectsubform.py:59:15: D001 found implements( replace it with zope.interface.implementer
plone/app/z3cform/tests/test_widgets.py:6:1: I001 isort found an import in the wrong position
plone/app/z3cform/tests/test_widgets.py:20:1: I001 isort found an import in the wrong position
plone/app/z3cform/tests/test_widgets.py:28:1: I001 isort found an import in the wrong position
plone/app/z3cform/tests/test_widgets.py:33:1: I004 isort found an unexpected blank line in imports
plone/app/z3cform/tests/test_widgets.py:34:1: I001 isort found an import in the wrong position
plone/app/z3cform/tests/test_widgets.py:549:14: D001 found assertEquals( replace it with assertEqual
plone/app/z3cform/tests/test_widgets.py:552:14: D001 found assertEquals( replace it with assertEqual
plone/app/z3cform/tests/test_widgets.py:771:9: D001 found directlyProvides( replace it with zope.interface.provider
plone/app/z3cform/tests/test_widgets.py:919:80: E501 line too long (89 > 79 characters)
plone/app/z3cform/tests/test_widgets.py:928:80: E501 line too long (90 > 79 characters)
plone/app/z3cform/tests/test_widgets.py:1008:14: D001 found assertEquals( replace it with assertEqual
plone/app/z3cform/tests/test_widgets.py:1046:80: E501 line too long (81 > 79 characters)
plone/app/z3cform/tests/test_widgets.py:1069:80: E501 line too long (82 > 79 characters)
plone/app/z3cform/tests/test_widgets.py:1134:40: Q000 Remove bad quotes.
plone/app/z3cform/tests/test_widgets.py:1166:14: D001 found assertEquals( replace it with assertEqual
plone/app/z3cform/tests/test_widgets.py:1174:39: Q000 Remove bad quotes.
plone/app/z3cform/tests/test_widget.py:0:1: C101 Coding magic comment not found
plone/app/z3cform/tests/test_widget.py:11:15: D001 found implements( replace it with zope.interface.implementer
plone/app/z3cform/tests/test_widget.py:32:80: E501 line too long (126 > 79 characters)
plone/app/z3cform/tests/layer.py:0:1: C101 Coding magic comment not found
plone/app/z3cform/tests/layer.py:1:1: I001 isort found an import in the wrong position
plone/app/z3cform/tests/layer.py:33:10: Q000 Remove bad quotes.
```
Follow [these instructions](https://github.com/plone/jenkins.plone.org/blob/master/docs/source/run-qa-on-package.rst) to reproduce it locally.


@mauritsvanrees Jenkins CI reporting about code analysis
See the full report here: http://jenkins.plone.org/job/package-plone.app.z3cform/9/violations
```
plone/__init__.py:0:1: C101 Coding magic comment not found
plone/app/__init__.py:0:1: C101 Coding magic comment not found
plone/app/z3cform/inline_validation.py:0:1: C101 Coding magic comment not found
plone/app/z3cform/inline_validation.py:14:1: C901 'InlineValidationView.__call__' is too complex (12)
plone/app/z3cform/inline_validation.py:23:12: P002 found "hasattr", consider replacing it
plone/app/z3cform/inline_validation.py:25:16: P002 found "hasattr", consider replacing it
plone/app/z3cform/inline_validation.py:29:26: Q000 Remove bad quotes.
plone/app/z3cform/inline_validation.py:34:9: E265 block comment should start with '# '
plone/app/z3cform/inline_validation.py:41:17: E731 do not assign a lambda expression, use a def
plone/app/z3cform/widget.py:3:1: I001 isort found an import in the wrong position
plone/app/z3cform/widget.py:4:1: I001 isort found an import in the wrong position
plone/app/z3cform/widget.py:7:80: E501 line too long (83 > 79 characters)
plone/app/z3cform/widget.py:9:1: I001 isort found an import in the wrong position
plone/app/z3cform/widget.py:11:1: I001 isort found an import in the wrong position
plone/app/z3cform/widget.py:12:1: I001 isort found an import in the wrong position
plone/app/z3cform/widget.py:20:1: I001 isort found an import in the wrong position
plone/app/z3cform/widget.py:26:1: I001 isort found an import in the wrong position
plone/app/z3cform/widget.py:31:1: I001 isort found an import in the wrong position
plone/app/z3cform/widget.py:38:1: I001 isort found an import in the wrong position
plone/app/z3cform/widget.py:39:1: I004 isort found an unexpected blank line in imports
plone/app/z3cform/widget.py:40:1: I001 isort found an import in the wrong position
plone/app/z3cform/widget.py:41:1: I001 isort found an import in the wrong position
plone/app/z3cform/widget.py:42:1: I001 isort found an import in the wrong position
plone/app/z3cform/widget.py:43:1: I001 isort found an import in the wrong position
plone/app/z3cform/widget.py:44:1: I001 isort found an import in the wrong position
plone/app/z3cform/widget.py:45:1: I001 isort found an import in the wrong position
plone/app/z3cform/widget.py:48:1: I004 isort found an unexpected blank line in imports
plone/app/z3cform/widget.py:49:1: I001 isort found an import in the wrong position
plone/app/z3cform/widget.py:144:29: Q000 Remove bad quotes.
plone/app/z3cform/widget.py:292:1: C901 'AjaxSelectWidget._base_args' is too complex (11)
plone/app/z3cform/widget.py:324:9: E303 too many blank lines (2)
plone/app/z3cform/widget.py:344:26: Q000 Remove bad quotes.
plone/app/z3cform/widget.py:344:26: S001 found module formatter
plone/app/z3cform/widget.py:425:30: Q000 Remove bad quotes.
plone/app/z3cform/widget.py:425:30: S001 found module formatter
plone/app/z3cform/widget.py:504:58: Q000 Remove bad quotes.
plone/app/z3cform/widget.py:551:35: P101 format string does contain unindexed parameters
plone/app/z3cform/widget.py:562:42: P101 format string does contain unindexed parameters
plone/app/z3cform/widget.py:563:44: P101 format string does contain unindexed parameters
plone/app/z3cform/widget.py:565:34: P101 format string does contain unindexed parameters
plone/app/z3cform/widget.py:588:28: P101 format string does contain unindexed parameters
plone/app/z3cform/csrf.py:0:1: C101 Coding magic comment not found
plone/app/z3cform/csrf.py:15:5: D001 found adapts( replace it with zope.component.adapter
plone/app/z3cform/layout.py:0:1: C101 Coding magic comment not found
plone/app/z3cform/layout.py:2:1: F401 'plone.z3cform.layout.FormWrapper' imported but unused
plone/app/z3cform/layout.py:2:1: F401 'plone.z3cform.layout.wrap_form' imported but unused
plone/app/z3cform/layout.py:2:1: I001 isort found an import in the wrong position
plone/app/z3cform/interfaces.py:0:1: C101 Coding magic comment not found
plone/app/z3cform/interfaces.py:4:1: I001 isort found an import in the wrong position
plone/app/z3cform/interfaces.py:5:1: I001 isort found an import in the wrong position
plone/app/z3cform/interfaces.py:6:1: I001 isort found an import in the wrong position
plone/app/z3cform/interfaces.py:6:80: E501 line too long (85 > 79 characters)
plone/app/z3cform/templates.py:0:1: C101 Coding magic comment not found
plone/app/z3cform/templates.py:13:1: E731 do not assign a lambda expression, use a def
plone/app/z3cform/utils.py:0:1: C101 Coding magic comment not found
plone/app/z3cform/utils.py:5:1: I003 isort expected 1 blank line in imports, found 0
plone/app/z3cform/utils.py:5:1: I003 isort expected 1 blank line in imports, found 0
plone/app/z3cform/object.py:0:1: C101 Coding magic comment not found
plone/app/z3cform/object.py:3:1: I001 isort found an import in the wrong position
plone/app/z3cform/converters.py:4:1: I001 isort found an import in the wrong position
plone/app/z3cform/converters.py:5:1: I001 isort found an import in the wrong position
plone/app/z3cform/converters.py:6:1: I001 isort found an import in the wrong position
plone/app/z3cform/converters.py:18:1: I001 isort found an import in the wrong position
plone/app/z3cform/converters.py:19:1: I001 isort found an import in the wrong position
plone/app/z3cform/converters.py:20:1: I001 isort found an import in the wrong position
plone/app/z3cform/converters.py:21:1: I004 isort found an unexpected blank line in imports
plone/app/z3cform/converters.py:23:1: I001 isort found an import in the wrong position
plone/app/z3cform/converters.py:24:1: I004 isort found an unexpected blank line in imports
plone/app/z3cform/converters.py:25:1: I001 isort found an import in the wrong position
plone/app/z3cform/converters.py:26:1: I001 isort found an import in the wrong position
plone/app/z3cform/converters.py:32:5: D001 found adapts( replace it with zope.component.adapter
plone/app/z3cform/converters.py:65:5: D001 found adapts( replace it with zope.component.adapter
plone/app/z3cform/converters.py:139:5: D001 found adapts( replace it with zope.component.adapter
plone/app/z3cform/converters.py:144:5: D001 found adapts( replace it with zope.component.adapter
plone/app/z3cform/converters.py:151:5: D001 found adapts( replace it with zope.component.adapter
plone/app/z3cform/converters.py:193:5: D001 found adapts( replace it with zope.component.adapter
plone/app/z3cform/converters.py:218:5: D001 found adapts( replace it with zope.component.adapter
plone/app/z3cform/converters.py:275:5: D001 found adapts( replace it with zope.component.adapter
plone/app/z3cform/wysiwyg/widget.py:0:1: C101 Coding magic comment not found
plone/app/z3cform/wysiwyg/widget.py:1:1: I001 isort found an import in the wrong position
plone/app/z3cform/wysiwyg/widget.py:7:1: I001 isort found an import in the wrong position
plone/app/z3cform/wysiwyg/widget.py:43:17: Q000 Remove bad quotes.
plone/app/z3cform/wysiwyg/widget.py:43:80: E501 line too long (84 > 79 characters)
plone/app/z3cform/wysiwyg/widget.py:44:17: Q000 Remove bad quotes.
plone/app/z3cform/wysiwyg/__init__.py:0:1: C101 Coding magic comment not found
plone/app/z3cform/wysiwyg/__init__.py:2:1: F401 'plone.app.z3cform.wysiwyg.widget.WysiwygFieldWidget' imported but unused
plone/app/z3cform/queryselect/__init__.py:0:1: C101 Coding magic comment not found
plone/app/z3cform/queryselect/__init__.py:3:1: I003 isort expected 1 blank line in imports, found 0
plone/app/z3cform/queryselect/__init__.py:7:1: I001 isort found an import in the wrong position
plone/app/z3cform/queryselect/__init__.py:14:15: D001 found implements( replace it with zope.interface.implementer
plone/app/z3cform/queryselect/__init__.py:17:21: Q000 Remove bad quotes.
plone/app/z3cform/queryselect/__init__.py:17:80: E501 line too long (97 > 79 characters)
plone/app/z3cform/queryselect/__init__.py:18:21: Q000 Remove bad quotes.
plone/app/z3cform/queryselect/__init__.py:59:15: D001 found implements( replace it with zope.interface.implementer
plone/app/z3cform/queryselect/__init__.py:67:19: D001 found implements( replace it with zope.interface.implementer
plone/app/z3cform/tests/tests.py:0:1: C101 Coding magic comment not found
plone/app/z3cform/tests/tests.py:8:1: I003 isort expected 1 blank line in imports, found 0
plone/app/z3cform/tests/test_csrf.py:0:1: C101 Coding magic comment not found
plone/app/z3cform/tests/example.py:0:1: C101 Coding magic comment not found
plone/app/z3cform/tests/example.py:2:1: I001 isort found an import in the wrong position
plone/app/z3cform/tests/example.py:5:1: I001 isort found an import in the wrong position
plone/app/z3cform/tests/example.py:11:28: Q000 Remove bad quotes.
plone/app/z3cform/tests/example.py:16:16: Q000 Remove bad quotes.
plone/app/z3cform/tests/example.py:20:5: D001 found implements( replace it with zope.interface.implementer
plone/app/z3cform/tests/example.py:25:13: Q000 Remove bad quotes.
plone/app/z3cform/tests/example.py:38:34: Q000 Remove bad quotes.
plone/app/z3cform/tests/example.py:49:13: Q000 Remove bad quotes.
plone/app/z3cform/tests/example.py:64:30: Q000 Remove bad quotes.
plone/app/z3cform/tests/example.py:65:55: Q000 Remove bad quotes.
plone/app/z3cform/tests/example.py:66:52: Q000 Remove bad quotes.
plone/app/z3cform/tests/example.py:71:13: Q000 Remove bad quotes.
plone/app/z3cform/tests/test_objectsubform.py:0:1: C101 Coding magic comment not found
plone/app/z3cform/tests/test_objectsubform.py:2:1: I001 isort found an import in the wrong position
plone/app/z3cform/tests/test_objectsubform.py:6:1: I001 isort found an import in the wrong position
plone/app/z3cform/tests/test_objectsubform.py:8:1: I001 isort found an import in the wrong position
plone/app/z3cform/tests/test_objectsubform.py:18:15: Q000 Remove bad quotes.
plone/app/z3cform/tests/test_objectsubform.py:23:15: D001 found implements( replace it with zope.interface.implementer
plone/app/z3cform/tests/test_objectsubform.py:34:16: S001 found module formatter
plone/app/z3cform/tests/test_objectsubform.py:43:15: Q000 Remove bad quotes.
plone/app/z3cform/tests/test_objectsubform.py:46:19: Q000 Remove bad quotes.
plone/app/z3cform/tests/test_objectsubform.py:54:13: Q000 Remove bad quotes.
plone/app/z3cform/tests/test_objectsubform.py:59:15: D001 found implements( replace it with zope.interface.implementer
plone/app/z3cform/tests/test_widgets.py:6:1: I001 isort found an import in the wrong position
plone/app/z3cform/tests/test_widgets.py:20:1: I001 isort found an import in the wrong position
plone/app/z3cform/tests/test_widgets.py:28:1: I001 isort found an import in the wrong position
plone/app/z3cform/tests/test_widgets.py:33:1: I004 isort found an unexpected blank line in imports
plone/app/z3cform/tests/test_widgets.py:34:1: I001 isort found an import in the wrong position
plone/app/z3cform/tests/test_widgets.py:549:14: D001 found assertEquals( replace it with assertEqual
plone/app/z3cform/tests/test_widgets.py:552:14: D001 found assertEquals( replace it with assertEqual
plone/app/z3cform/tests/test_widgets.py:771:9: D001 found directlyProvides( replace it with zope.interface.provider
plone/app/z3cform/tests/test_widgets.py:893:80: E501 line too long (89 > 79 characters)
plone/app/z3cform/tests/test_widgets.py:902:80: E501 line too long (90 > 79 characters)
plone/app/z3cform/tests/test_widgets.py:982:14: D001 found assertEquals( replace it with assertEqual
plone/app/z3cform/tests/test_widgets.py:1020:80: E501 line too long (81 > 79 characters)
plone/app/z3cform/tests/test_widgets.py:1043:80: E501 line too long (82 > 79 characters)
plone/app/z3cform/tests/test_widgets.py:1112:40: Q000 Remove bad quotes.
plone/app/z3cform/tests/test_widgets.py:1129:14: D001 found assertEquals( replace it with assertEqual
plone/app/z3cform/tests/test_widgets.py:1144:14: D001 found assertEquals( replace it with assertEqual
plone/app/z3cform/tests/test_widgets.py:1152:39: Q000 Remove bad quotes.
plone/app/z3cform/tests/test_widget.py:0:1: C101 Coding magic comment not found
plone/app/z3cform/tests/test_widget.py:11:15: D001 found implements( replace it with zope.interface.implementer
plone/app/z3cform/tests/test_widget.py:32:80: E501 line too long (126 > 79 characters)
plone/app/z3cform/tests/layer.py:0:1: C101 Coding magic comment not found
plone/app/z3cform/tests/layer.py:1:1: I001 isort found an import in the wrong position
plone/app/z3cform/tests/layer.py:33:10: Q000 Remove bad quotes.
```
Follow [these instructions](https://github.com/plone/jenkins.plone.org/blob/master/docs/source/run-qa-on-package.rst) to reproduce it locally.


@gotcha Jenkins CI reporting about code analysis
See the full report here: http://jenkins.plone.org/job/package-plone.app.z3cform/10/violations
```
plone/__init__.py:0:1: C101 Coding magic comment not found
plone/app/__init__.py:0:1: C101 Coding magic comment not found
plone/app/z3cform/inline_validation.py:0:1: C101 Coding magic comment not found
plone/app/z3cform/inline_validation.py:1:1: I003 isort expected 1 blank line in imports, found 0
plone/app/z3cform/inline_validation.py:2:1: I004 isort found an unexpected blank line in imports
plone/app/z3cform/inline_validation.py:3:1: I001 isort found an import in the wrong position
plone/app/z3cform/inline_validation.py:4:1: I001 isort found an import in the wrong position
plone/app/z3cform/inline_validation.py:5:1: I001 isort found an import in the wrong position
plone/app/z3cform/inline_validation.py:6:1: I004 isort found an unexpected blank line in imports
plone/app/z3cform/inline_validation.py:7:1: I001 isort found an import in the wrong position
plone/app/z3cform/inline_validation.py:8:1: I001 isort found an import in the wrong position
plone/app/z3cform/inline_validation.py:15:1: C901 'InlineValidationView.__call__' is too complex (12)
plone/app/z3cform/inline_validation.py:22:12: P002 found "hasattr", consider replacing it
plone/app/z3cform/inline_validation.py:24:16: P002 found "hasattr", consider replacing it
plone/app/z3cform/inline_validation.py:27:1: W293 blank line contains whitespace
plone/app/z3cform/inline_validation.py:28:26: Q000 Remove bad quotes.
plone/app/z3cform/inline_validation.py:33:9: E265 block comment should start with '# '
plone/app/z3cform/inline_validation.py:38:32: F841 local variable 'TypeError' is assigned to but never used
plone/app/z3cform/inline_validation.py:40:17: E731 do not assign a lambda expression, use a def
plone/app/z3cform/widget.py:0:1: C101 Coding magic comment not found
plone/app/z3cform/widget.py:2:1: I001 isort found an import in the wrong position
plone/app/z3cform/widget.py:3:1: I004 isort found an unexpected blank line in imports
plone/app/z3cform/widget.py:7:1: I001 isort found an import in the wrong position
plone/app/z3cform/widget.py:8:1: I003 isort expected 1 blank line in imports, found 0
plone/app/z3cform/widget.py:13:1: E302 expected 2 blank lines, found 1
plone/app/z3cform/widget.py:18:1: E303 too many blank lines (3)
plone/app/z3cform/widget.py:21:1: E302 expected 2 blank lines, found 1
plone/app/z3cform/widget.py:24:1: E302 expected 2 blank lines, found 1
plone/app/z3cform/widget.py:29:1: E303 too many blank lines (3)
plone/app/z3cform/widget.py:32:1: E302 expected 2 blank lines, found 1
plone/app/z3cform/widget.py:35:1: E302 expected 2 blank lines, found 1
plone/app/z3cform/widget.py:38:1: W391 blank line at end of file
plone/app/z3cform/csrf.py:0:1: C101 Coding magic comment not found
plone/app/z3cform/csrf.py:5:1: I001 isort found an import in the wrong position
plone/app/z3cform/csrf.py:6:1: I001 isort found an import in the wrong position
plone/app/z3cform/csrf.py:15:5: D001 found adapts( replace it with zope.component.adapter
plone/app/z3cform/layout.py:0:1: C101 Coding magic comment not found
plone/app/z3cform/layout.py:2:1: F401 'plone.z3cform.layout.FormWrapper' imported but unused
plone/app/z3cform/layout.py:2:1: F401 'plone.z3cform.layout.wrap_form' imported but unused
plone/app/z3cform/layout.py:2:1: I001 isort found an import in the wrong position
plone/app/z3cform/interfaces.py:0:1: C101 Coding magic comment not found
plone/app/z3cform/interfaces.py:2:1: I003 isort expected 1 blank line in imports, found 0
plone/app/z3cform/interfaces.py:3:1: E302 expected 2 blank lines, found 1
plone/app/z3cform/__init__.py:0:1: C101 Coding magic comment not found
plone/app/z3cform/templates.py:0:1: C101 Coding magic comment not found
plone/app/z3cform/templates.py:1:1: I001 isort found an import in the wrong position
plone/app/z3cform/templates.py:2:1: I004 isort found an unexpected blank line in imports
plone/app/z3cform/templates.py:8:1: I001 isort found an import in the wrong position
plone/app/z3cform/templates.py:9:1: I001 isort found an import in the wrong position
plone/app/z3cform/templates.py:10:1: I004 isort found an unexpected blank line in imports
plone/app/z3cform/templates.py:11:1: I001 isort found an import in the wrong position
plone/app/z3cform/templates.py:12:1: I001 isort found an import in the wrong position
plone/app/z3cform/templates.py:13:1: I004 isort found an unexpected blank line in imports
plone/app/z3cform/templates.py:14:1: I001 isort found an import in the wrong position
plone/app/z3cform/templates.py:16:1: E731 do not assign a lambda expression, use a def
plone/app/z3cform/templates.py:16:80: E501 line too long (90 > 79 characters)
plone/app/z3cform/utils.py:0:1: C101 Coding magic comment not found
plone/app/z3cform/utils.py:5:1: I003 isort expected 1 blank line in imports, found 0
plone/app/z3cform/utils.py:5:1: I003 isort expected 1 blank line in imports, found 0
plone/app/z3cform/utils.py:41:13: E129 visually indented line with same indent as next logical line
plone/app/z3cform/object.py:0:1: C101 Coding magic comment not found
plone/app/z3cform/object.py:2:1: I001 isort found an import in the wrong position
plone/app/z3cform/object.py:3:1: I004 isort found an unexpected blank line in imports
plone/app/z3cform/object.py:4:1: I001 isort found an import in the wrong position
plone/app/z3cform/wysiwyg/widget.py:0:1: C101 Coding magic comment not found
plone/app/z3cform/wysiwyg/widget.py:1:1: I003 isort expected 1 blank line in imports, found 0
plone/app/z3cform/wysiwyg/widget.py:4:1: I001 isort found an import in the wrong position
plone/app/z3cform/wysiwyg/widget.py:6:1: I001 isort found an import in the wrong position
plone/app/z3cform/wysiwyg/widget.py:7:1: I001 isort found an import in the wrong position
plone/app/z3cform/wysiwyg/widget.py:8:1: I001 isort found an import in the wrong position
plone/app/z3cform/wysiwyg/widget.py:10:1: E302 expected 2 blank lines, found 1
plone/app/z3cform/wysiwyg/widget.py:13:1: E302 expected 2 blank lines, found 1
plone/app/z3cform/wysiwyg/widget.py:15:1: W293 blank line contains whitespace
plone/app/z3cform/wysiwyg/widget.py:31:1: E302 expected 2 blank lines, found 1
plone/app/z3cform/wysiwyg/__init__.py:0:1: C101 Coding magic comment not found
plone/app/z3cform/wysiwyg/__init__.py:3:1: F401 'widget.WysiwygFieldWidget' imported but unused
plone/app/z3cform/wysiwyg/__init__.py:4:1: W391 blank line at end of file
plone/app/z3cform/queryselect/__init__.py:0:1: C101 Coding magic comment not found
plone/app/z3cform/queryselect/__init__.py:6:1: I001 isort found an import in the wrong position
plone/app/z3cform/queryselect/__init__.py:7:1: I001 isort found an import in the wrong position
plone/app/z3cform/queryselect/__init__.py:8:1: I004 isort found an unexpected blank line in imports
plone/app/z3cform/queryselect/__init__.py:9:1: I001 isort found an import in the wrong position
plone/app/z3cform/queryselect/__init__.py:11:1: E302 expected 2 blank lines, found 1
plone/app/z3cform/queryselect/__init__.py:12:15: D001 found implements( replace it with zope.interface.implementer
plone/app/z3cform/queryselect/__init__.py:19:1: W293 blank line contains whitespace
plone/app/z3cform/queryselect/__init__.py:21:1: W293 blank line contains whitespace
plone/app/z3cform/queryselect/__init__.py:28:1: W293 blank line contains whitespace
plone/app/z3cform/queryselect/__init__.py:32:27: E701 multiple statements on one line (colon)
plone/app/z3cform/queryselect/__init__.py:38:27: E701 multiple statements on one line (colon)
plone/app/z3cform/queryselect/__init__.py:40:1: W293 blank line contains whitespace
plone/app/z3cform/queryselect/__init__.py:46:80: E501 line too long (83 > 79 characters)
plone/app/z3cform/queryselect/__init__.py:48:1: E302 expected 2 blank lines, found 1
plone/app/z3cform/queryselect/__init__.py:49:15: D001 found implements( replace it with zope.interface.implementer
plone/app/z3cform/queryselect/__init__.py:54:1: E302 expected 2 blank lines, found 1
plone/app/z3cform/queryselect/__init__.py:56:19: D001 found implements( replace it with zope.interface.implementer
plone/app/z3cform/tests/tests.py:0:1: C101 Coding magic comment not found
plone/app/z3cform/tests/tests.py:1:1: I003 isort expected 1 blank line in imports, found 0
plone/app/z3cform/tests/tests.py:5:1: I001 isort found an import in the wrong position
plone/app/z3cform/tests/tests.py:6:1: I001 isort found an import in the wrong position
plone/app/z3cform/tests/tests.py:7:1: I004 isort found an unexpected blank line in imports
plone/app/z3cform/tests/tests.py:8:1: I001 isort found an import in the wrong position
plone/app/z3cform/tests/tests.py:9:1: I001 isort found an import in the wrong position
plone/app/z3cform/tests/tests.py:10:1: I001 isort found an import in the wrong position
plone/app/z3cform/tests/tests.py:11:1: I004 isort found an unexpected blank line in imports
plone/app/z3cform/tests/tests.py:12:1: I001 isort found an import in the wrong position
plone/app/z3cform/tests/tests.py:13:1: I001 isort found an import in the wrong position
plone/app/z3cform/tests/tests.py:14:1: I004 isort found an unexpected blank line in imports
plone/app/z3cform/tests/tests.py:15:1: I001 isort found an import in the wrong position
plone/app/z3cform/tests/tests.py:16:1: I001 isort found an import in the wrong position
plone/app/z3cform/tests/tests.py:29:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/z3cform/tests/tests.py:71:48: Q000 Remove bad quotes.
plone/app/z3cform/tests/tests.py:103:3: E122 continuation line missing indentation or outdented
plone/app/z3cform/tests/test_csrf.py:0:1: C101 Coding magic comment not found
plone/app/z3cform/tests/example.py:0:1: C101 Coding magic comment not found
plone/app/z3cform/tests/example.py:1:1: I001 isort found an import in the wrong position
plone/app/z3cform/tests/example.py:3:1: I001 isort found an import in the wrong position
plone/app/z3cform/tests/example.py:4:1: I001 isort found an import in the wrong position
plone/app/z3cform/tests/example.py:5:1: I001 isort found an import in the wrong position
plone/app/z3cform/tests/example.py:6:1: I001 isort found an import in the wrong position
plone/app/z3cform/tests/example.py:7:1: I001 isort found an import in the wrong position
plone/app/z3cform/tests/example.py:11:28: Q000 Remove bad quotes.
plone/app/z3cform/tests/example.py:16:16: Q000 Remove bad quotes.
plone/app/z3cform/tests/example.py:20:5: D001 found implements( replace it with zope.interface.implementer
plone/app/z3cform/tests/example.py:25:13: Q000 Remove bad quotes.
plone/app/z3cform/tests/example.py:38:34: Q000 Remove bad quotes.
plone/app/z3cform/tests/example.py:49:13: Q000 Remove bad quotes.
plone/app/z3cform/tests/example.py:64:1: E303 too many blank lines (3)
plone/app/z3cform/tests/example.py:65:30: Q000 Remove bad quotes.
plone/app/z3cform/tests/example.py:66:55: Q000 Remove bad quotes.
plone/app/z3cform/tests/example.py:67:52: Q000 Remove bad quotes.
plone/app/z3cform/tests/example.py:72:13: Q000 Remove bad quotes.
plone/app/z3cform/tests/test_objectsubform.py:0:1: C101 Coding magic comment not found
plone/app/z3cform/tests/test_objectsubform.py:1:1: I001 isort found an import in the wrong position
plone/app/z3cform/tests/test_objectsubform.py:2:1: I004 isort found an unexpected blank line in imports
plone/app/z3cform/tests/test_objectsubform.py:3:1: I001 isort found an import in the wrong position
plone/app/z3cform/tests/test_objectsubform.py:7:1: I001 isort found an import in the wrong position
plone/app/z3cform/tests/test_objectsubform.py:8:1: I001 isort found an import in the wrong position
plone/app/z3cform/tests/test_objectsubform.py:9:1: I004 isort found an unexpected blank line in imports
plone/app/z3cform/tests/test_objectsubform.py:10:1: I001 isort found an import in the wrong position
plone/app/z3cform/tests/test_objectsubform.py:11:1: I001 isort found an import in the wrong position
plone/app/z3cform/tests/test_objectsubform.py:12:1: I001 isort found an import in the wrong position
plone/app/z3cform/tests/test_objectsubform.py:18:15: Q000 Remove bad quotes.
plone/app/z3cform/tests/test_objectsubform.py:23:15: D001 found implements( replace it with zope.interface.implementer
plone/app/z3cform/tests/test_objectsubform.py:34:16: S001 found module formatter
plone/app/z3cform/tests/test_objectsubform.py:43:15: Q000 Remove bad quotes.
plone/app/z3cform/tests/test_objectsubform.py:46:19: Q000 Remove bad quotes.
plone/app/z3cform/tests/test_objectsubform.py:54:13: Q000 Remove bad quotes.
plone/app/z3cform/tests/test_objectsubform.py:59:15: D001 found implements( replace it with zope.interface.implementer
plone/app/z3cform/tests/test_objectsubform.py:115:80: E501 line too long (81 > 79 characters)
plone/app/z3cform/tests/test_widget.py:0:1: C101 Coding magic comment not found
plone/app/z3cform/tests/test_widget.py:1:1: I001 isort found an import in the wrong position
plone/app/z3cform/tests/test_widget.py:2:1: I004 isort found an unexpected blank line in imports
plone/app/z3cform/tests/test_widget.py:7:1: I001 isort found an import in the wrong position
plone/app/z3cform/tests/test_widget.py:9:1: I001 isort found an import in the wrong position
plone/app/z3cform/tests/test_widget.py:11:1: E302 expected 2 blank lines, found 1
plone/app/z3cform/tests/test_widget.py:12:15: D001 found implements( replace it with zope.interface.implementer
plone/app/z3cform/tests/test_widget.py:31:80: E501 line too long (85 > 79 characters)
plone/app/z3cform/tests/test_widget.py:32:80: E501 line too long (126 > 79 characters)
plone/app/z3cform/tests/test_widget.py:45:7: W292 no newline at end of file
plone/app/z3cform/tests/layer.py:0:1: C101 Coding magic comment not found
plone/app/z3cform/tests/layer.py:1:1: I003 isort expected 1 blank line in imports, found 0
plone/app/z3cform/tests/layer.py:3:1: I004 isort found an unexpected blank line in imports
plone/app/z3cform/tests/layer.py:4:1: I001 isort found an import in the wrong position
plone/app/z3cform/tests/layer.py:5:1: I001 isort found an import in the wrong position
plone/app/z3cform/tests/layer.py:6:1: I001 isort found an import in the wrong position
plone/app/z3cform/tests/layer.py:7:1: I001 isort found an import in the wrong position
plone/app/z3cform/tests/layer.py:8:1: I001 isort found an import in the wrong position
plone/app/z3cform/tests/layer.py:9:1: I001 isort found an import in the wrong position
plone/app/z3cform/tests/layer.py:10:1: I001 isort found an import in the wrong position
plone/app/z3cform/tests/layer.py:11:1: I001 isort found an import in the wrong position
plone/app/z3cform/tests/layer.py:54:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/z3cform/tests/layer.py:74:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/z3cform/tests/layer.py:77:10: Q000 Remove bad quotes.
```
Follow [these instructions](https://github.com/plone/jenkins.plone.org/blob/master/docs/source/run-qa-on-package.rst) to reproduce it locally.


@esteele Jenkins CI reporting about code analysis
See the full report here: http://jenkins.plone.org/job/package-plone.app.z3cform/11/violations
```
plone/__init__.py:0:1: C101 Coding magic comment not found
plone/app/__init__.py:0:1: C101 Coding magic comment not found
plone/app/z3cform/inline_validation.py:0:1: C101 Coding magic comment not found
plone/app/z3cform/inline_validation.py:14:1: C901 'InlineValidationView.__call__' is too complex (12)
plone/app/z3cform/inline_validation.py:23:12: P002 found "hasattr", consider replacing it
plone/app/z3cform/inline_validation.py:25:16: P002 found "hasattr", consider replacing it
plone/app/z3cform/inline_validation.py:29:26: Q000 Remove bad quotes.
plone/app/z3cform/inline_validation.py:34:9: E265 block comment should start with '# '
plone/app/z3cform/inline_validation.py:41:17: E731 do not assign a lambda expression, use a def
plone/app/z3cform/widget.py:3:1: I001 isort found an import in the wrong position
plone/app/z3cform/widget.py:4:1: I001 isort found an import in the wrong position
plone/app/z3cform/widget.py:7:80: E501 line too long (83 > 79 characters)
plone/app/z3cform/widget.py:9:1: I001 isort found an import in the wrong position
plone/app/z3cform/widget.py:11:1: I001 isort found an import in the wrong position
plone/app/z3cform/widget.py:12:1: I001 isort found an import in the wrong position
plone/app/z3cform/widget.py:21:1: I001 isort found an import in the wrong position
plone/app/z3cform/widget.py:27:1: I001 isort found an import in the wrong position
plone/app/z3cform/widget.py:32:1: I001 isort found an import in the wrong position
plone/app/z3cform/widget.py:39:1: I001 isort found an import in the wrong position
plone/app/z3cform/widget.py:40:1: I004 isort found an unexpected blank line in imports
plone/app/z3cform/widget.py:41:1: I001 isort found an import in the wrong position
plone/app/z3cform/widget.py:42:1: I001 isort found an import in the wrong position
plone/app/z3cform/widget.py:43:1: I001 isort found an import in the wrong position
plone/app/z3cform/widget.py:44:1: I001 isort found an import in the wrong position
plone/app/z3cform/widget.py:45:1: I001 isort found an import in the wrong position
plone/app/z3cform/widget.py:46:1: I001 isort found an import in the wrong position
plone/app/z3cform/widget.py:49:1: I004 isort found an unexpected blank line in imports
plone/app/z3cform/widget.py:50:1: I001 isort found an import in the wrong position
plone/app/z3cform/widget.py:147:29: Q000 Remove bad quotes.
plone/app/z3cform/widget.py:338:80: E501 line too long (84 > 79 characters)
plone/app/z3cform/widget.py:359:26: Q000 Remove bad quotes.
plone/app/z3cform/widget.py:359:26: S001 found module formatter
plone/app/z3cform/widget.py:444:80: E501 line too long (84 > 79 characters)
plone/app/z3cform/widget.py:453:80: E501 line too long (84 > 79 characters)
plone/app/z3cform/widget.py:456:30: Q000 Remove bad quotes.
plone/app/z3cform/widget.py:456:30: S001 found module formatter
plone/app/z3cform/widget.py:535:58: Q000 Remove bad quotes.
plone/app/z3cform/widget.py:584:35: P101 format string does contain unindexed parameters
plone/app/z3cform/widget.py:595:42: P101 format string does contain unindexed parameters
plone/app/z3cform/widget.py:596:44: P101 format string does contain unindexed parameters
plone/app/z3cform/widget.py:598:34: P101 format string does contain unindexed parameters
plone/app/z3cform/widget.py:621:28: P101 format string does contain unindexed parameters
plone/app/z3cform/csrf.py:0:1: C101 Coding magic comment not found
plone/app/z3cform/csrf.py:15:5: D001 found adapts( replace it with zope.component.adapter
plone/app/z3cform/layout.py:0:1: C101 Coding magic comment not found
plone/app/z3cform/layout.py:2:1: F401 'plone.z3cform.layout.FormWrapper' imported but unused
plone/app/z3cform/layout.py:2:1: F401 'plone.z3cform.layout.wrap_form' imported but unused
plone/app/z3cform/layout.py:2:1: I001 isort found an import in the wrong position
plone/app/z3cform/interfaces.py:0:1: C101 Coding magic comment not found
plone/app/z3cform/interfaces.py:4:1: I001 isort found an import in the wrong position
plone/app/z3cform/interfaces.py:5:1: I001 isort found an import in the wrong position
plone/app/z3cform/interfaces.py:6:1: I001 isort found an import in the wrong position
plone/app/z3cform/interfaces.py:6:80: E501 line too long (85 > 79 characters)
plone/app/z3cform/templates.py:0:1: C101 Coding magic comment not found
plone/app/z3cform/templates.py:13:1: E731 do not assign a lambda expression, use a def
plone/app/z3cform/utils.py:0:1: C101 Coding magic comment not found
plone/app/z3cform/utils.py:5:1: I003 isort expected 1 blank line in imports, found 0
plone/app/z3cform/utils.py:5:1: I003 isort expected 1 blank line in imports, found 0
plone/app/z3cform/object.py:0:1: C101 Coding magic comment not found
plone/app/z3cform/object.py:3:1: I001 isort found an import in the wrong position
plone/app/z3cform/converters.py:4:1: I001 isort found an import in the wrong position
plone/app/z3cform/converters.py:5:1: I001 isort found an import in the wrong position
plone/app/z3cform/converters.py:6:1: I001 isort found an import in the wrong position
plone/app/z3cform/converters.py:18:1: I001 isort found an import in the wrong position
plone/app/z3cform/converters.py:19:1: I001 isort found an import in the wrong position
plone/app/z3cform/converters.py:20:1: I001 isort found an import in the wrong position
plone/app/z3cform/converters.py:21:1: I004 isort found an unexpected blank line in imports
plone/app/z3cform/converters.py:23:1: I001 isort found an import in the wrong position
plone/app/z3cform/converters.py:24:1: I004 isort found an unexpected blank line in imports
plone/app/z3cform/converters.py:25:1: I001 isort found an import in the wrong position
plone/app/z3cform/converters.py:26:1: I001 isort found an import in the wrong position
plone/app/z3cform/converters.py:32:5: D001 found adapts( replace it with zope.component.adapter
plone/app/z3cform/converters.py:65:5: D001 found adapts( replace it with zope.component.adapter
plone/app/z3cform/converters.py:139:5: D001 found adapts( replace it with zope.component.adapter
plone/app/z3cform/converters.py:144:5: D001 found adapts( replace it with zope.component.adapter
plone/app/z3cform/converters.py:151:5: D001 found adapts( replace it with zope.component.adapter
plone/app/z3cform/converters.py:193:5: D001 found adapts( replace it with zope.component.adapter
plone/app/z3cform/converters.py:218:5: D001 found adapts( replace it with zope.component.adapter
plone/app/z3cform/converters.py:275:5: D001 found adapts( replace it with zope.component.adapter
plone/app/z3cform/wysiwyg/widget.py:0:1: C101 Coding magic comment not found
plone/app/z3cform/wysiwyg/widget.py:1:1: I001 isort found an import in the wrong position
plone/app/z3cform/wysiwyg/widget.py:7:1: I001 isort found an import in the wrong position
plone/app/z3cform/wysiwyg/widget.py:43:17: Q000 Remove bad quotes.
plone/app/z3cform/wysiwyg/widget.py:43:80: E501 line too long (84 > 79 characters)
plone/app/z3cform/wysiwyg/widget.py:44:17: Q000 Remove bad quotes.
plone/app/z3cform/wysiwyg/__init__.py:0:1: C101 Coding magic comment not found
plone/app/z3cform/wysiwyg/__init__.py:2:1: F401 'plone.app.z3cform.wysiwyg.widget.WysiwygFieldWidget' imported but unused
plone/app/z3cform/queryselect/__init__.py:0:1: C101 Coding magic comment not found
plone/app/z3cform/queryselect/__init__.py:3:1: I003 isort expected 1 blank line in imports, found 0
plone/app/z3cform/queryselect/__init__.py:7:1: I001 isort found an import in the wrong position
plone/app/z3cform/queryselect/__init__.py:14:15: D001 found implements( replace it with zope.interface.implementer
plone/app/z3cform/queryselect/__init__.py:17:21: Q000 Remove bad quotes.
plone/app/z3cform/queryselect/__init__.py:17:80: E501 line too long (97 > 79 characters)
plone/app/z3cform/queryselect/__init__.py:18:21: Q000 Remove bad quotes.
plone/app/z3cform/queryselect/__init__.py:59:15: D001 found implements( replace it with zope.interface.implementer
plone/app/z3cform/queryselect/__init__.py:67:19: D001 found implements( replace it with zope.interface.implementer
plone/app/z3cform/tests/tests.py:0:1: C101 Coding magic comment not found
plone/app/z3cform/tests/tests.py:8:1: I003 isort expected 1 blank line in imports, found 0
plone/app/z3cform/tests/test_csrf.py:0:1: C101 Coding magic comment not found
plone/app/z3cform/tests/example.py:0:1: C101 Coding magic comment not found
plone/app/z3cform/tests/example.py:2:1: I001 isort found an import in the wrong position
plone/app/z3cform/tests/example.py:5:1: I001 isort found an import in the wrong position
plone/app/z3cform/tests/example.py:11:28: Q000 Remove bad quotes.
plone/app/z3cform/tests/example.py:16:16: Q000 Remove bad quotes.
plone/app/z3cform/tests/example.py:20:5: D001 found implements( replace it with zope.interface.implementer
plone/app/z3cform/tests/example.py:25:13: Q000 Remove bad quotes.
plone/app/z3cform/tests/example.py:38:34: Q000 Remove bad quotes.
plone/app/z3cform/tests/example.py:49:13: Q000 Remove bad quotes.
plone/app/z3cform/tests/example.py:64:30: Q000 Remove bad quotes.
plone/app/z3cform/tests/example.py:65:55: Q000 Remove bad quotes.
plone/app/z3cform/tests/example.py:66:52: Q000 Remove bad quotes.
plone/app/z3cform/tests/example.py:71:13: Q000 Remove bad quotes.
plone/app/z3cform/tests/test_objectsubform.py:0:1: C101 Coding magic comment not found
plone/app/z3cform/tests/test_objectsubform.py:2:1: I001 isort found an import in the wrong position
plone/app/z3cform/tests/test_objectsubform.py:6:1: I001 isort found an import in the wrong position
plone/app/z3cform/tests/test_objectsubform.py:8:1: I001 isort found an import in the wrong position
plone/app/z3cform/tests/test_objectsubform.py:18:15: Q000 Remove bad quotes.
plone/app/z3cform/tests/test_objectsubform.py:23:15: D001 found implements( replace it with zope.interface.implementer
plone/app/z3cform/tests/test_objectsubform.py:34:16: S001 found module formatter
plone/app/z3cform/tests/test_objectsubform.py:43:15: Q000 Remove bad quotes.
plone/app/z3cform/tests/test_objectsubform.py:46:19: Q000 Remove bad quotes.
plone/app/z3cform/tests/test_objectsubform.py:54:13: Q000 Remove bad quotes.
plone/app/z3cform/tests/test_objectsubform.py:59:15: D001 found implements( replace it with zope.interface.implementer
plone/app/z3cform/tests/test_widgets.py:6:1: I001 isort found an import in the wrong position
plone/app/z3cform/tests/test_widgets.py:20:1: I001 isort found an import in the wrong position
plone/app/z3cform/tests/test_widgets.py:28:1: I001 isort found an import in the wrong position
plone/app/z3cform/tests/test_widgets.py:33:1: I004 isort found an unexpected blank line in imports
plone/app/z3cform/tests/test_widgets.py:34:1: I001 isort found an import in the wrong position
plone/app/z3cform/tests/test_widgets.py:549:14: D001 found assertEquals( replace it with assertEqual
plone/app/z3cform/tests/test_widgets.py:552:14: D001 found assertEquals( replace it with assertEqual
plone/app/z3cform/tests/test_widgets.py:771:9: D001 found directlyProvides( replace it with zope.interface.provider
plone/app/z3cform/tests/test_widgets.py:893:80: E501 line too long (89 > 79 characters)
plone/app/z3cform/tests/test_widgets.py:902:80: E501 line too long (90 > 79 characters)
plone/app/z3cform/tests/test_widgets.py:1105:14: D001 found assertEquals( replace it with assertEqual
plone/app/z3cform/tests/test_widgets.py:1144:80: E501 line too long (81 > 79 characters)
plone/app/z3cform/tests/test_widgets.py:1167:80: E501 line too long (82 > 79 characters)
plone/app/z3cform/tests/test_widgets.py:1236:40: Q000 Remove bad quotes.
plone/app/z3cform/tests/test_widgets.py:1253:14: D001 found assertEquals( replace it with assertEqual
plone/app/z3cform/tests/test_widgets.py:1268:14: D001 found assertEquals( replace it with assertEqual
plone/app/z3cform/tests/test_widgets.py:1276:39: Q000 Remove bad quotes.
plone/app/z3cform/tests/test_widget.py:0:1: C101 Coding magic comment not found
plone/app/z3cform/tests/test_widget.py:11:15: D001 found implements( replace it with zope.interface.implementer
plone/app/z3cform/tests/test_widget.py:32:80: E501 line too long (126 > 79 characters)
plone/app/z3cform/tests/layer.py:0:1: C101 Coding magic comment not found
plone/app/z3cform/tests/layer.py:1:1: I001 isort found an import in the wrong position
plone/app/z3cform/tests/layer.py:33:10: Q000 Remove bad quotes.
```
Follow [these instructions](https://github.com/plone/jenkins.plone.org/blob/master/docs/source/run-qa-on-package.rst) to reproduce it locally.


@mauritsvanrees Jenkins CI reporting about code analysis
See the full report here: http://jenkins.plone.org/job/package-plone.app.z3cform/12/violations
```
plone/app/z3cform/inline_validation.py:15:1: C901 'InlineValidationView.__call__' is too complex (15)
plone/app/z3cform/widget.py:8:1: I001 isort found an import in the wrong position
plone/app/z3cform/widget.py:18:1: I001 isort found an import in the wrong position
plone/app/z3cform/interfaces.py:4:1: I001 isort found an import in the wrong position
plone/app/z3cform/templates.py:24:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/z3cform/tests/example.py:26:5: D001 found implements( replace it with zope.interface.implementer
plone/app/z3cform/tests/example.py:31:13: Q000 Remove bad quotes.
plone/app/z3cform/tests/example.py:44:34: Q000 Remove bad quotes.
plone/app/z3cform/tests/example.py:55:13: Q000 Remove bad quotes.
plone/app/z3cform/tests/example.py:70:30: Q000 Remove bad quotes.
plone/app/z3cform/tests/example.py:71:55: Q000 Remove bad quotes.
plone/app/z3cform/tests/example.py:72:52: Q000 Remove bad quotes.
plone/app/z3cform/tests/example.py:77:13: Q000 Remove bad quotes.
plone/app/z3cform/tests/test_widgets.py:40:5: D001 found implements( replace it with zope.interface.implementer
plone/app/z3cform/tests/test_widgets.py:1315:40: Q000 Remove bad quotes.
plone/app/z3cform/tests/test_utils.py:21:9: E731 do not assign a lambda expression, use a def
plone/app/z3cform/tests/test_widget.py:12:15: D001 found implements( replace it with zope.interface.implementer
```
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: http://jenkins.plone.org/job/package-plone.app.z3cform/13/violations
```
plone/app/z3cform/inline_validation.py:15:1: C901 'InlineValidationView.__call__' is too complex (15)
plone/app/z3cform/widget.py:8:1: I001 isort found an import in the wrong position
plone/app/z3cform/widget.py:18:1: I001 isort found an import in the wrong position
plone/app/z3cform/interfaces.py:4:1: I001 isort found an import in the wrong position
plone/app/z3cform/templates.py:24:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/z3cform/tests/example.py:26:5: D001 found implements( replace it with zope.interface.implementer
plone/app/z3cform/tests/example.py:31:13: Q000 Remove bad quotes.
plone/app/z3cform/tests/example.py:44:34: Q000 Remove bad quotes.
plone/app/z3cform/tests/example.py:55:13: Q000 Remove bad quotes.
plone/app/z3cform/tests/example.py:70:30: Q000 Remove bad quotes.
plone/app/z3cform/tests/example.py:71:55: Q000 Remove bad quotes.
plone/app/z3cform/tests/example.py:72:52: Q000 Remove bad quotes.
plone/app/z3cform/tests/example.py:77:13: Q000 Remove bad quotes.
plone/app/z3cform/tests/test_objectsubform.py:21:15: Q000 Remove bad quotes.
plone/app/z3cform/tests/test_objectsubform.py:26:15: D001 found implements( replace it with zope.interface.implementer
plone/app/z3cform/tests/test_objectsubform.py:46:15: Q000 Remove bad quotes.
plone/app/z3cform/tests/test_objectsubform.py:49:19: Q000 Remove bad quotes.
plone/app/z3cform/tests/test_objectsubform.py:57:13: Q000 Remove bad quotes.
plone/app/z3cform/tests/test_objectsubform.py:62:15: D001 found implements( replace it with zope.interface.implementer
plone/app/z3cform/tests/test_widgets.py:40:5: D001 found implements( replace it with zope.interface.implementer
plone/app/z3cform/tests/test_widgets.py:1315:40: Q000 Remove bad quotes.
plone/app/z3cform/tests/test_utils.py:21:9: E731 do not assign a lambda expression, use a def
plone/app/z3cform/tests/test_widget.py:12:15: D001 found implements( replace it with zope.interface.implementer
```
Follow [these instructions](https://github.com/plone/jenkins.plone.org/blob/master/docs/source/run-qa-on-package.rst) to reproduce it locally.


Sorry. This is invalid :)


It's not really a "what users expect" thing, if it's your site, you're building the experience you want your users to have.

And realistically the only time this is annoying is if you're browsing a long list of things - eg, google search results (which has that as an option instead).


It seems a legitm real use case, I've created a issue for that, see https://github.com/renanbr/bibtex-parser/issues/4


Hi @men18,

Sorry. Forgot to push the "secrules-language-tests" repository.


should be fixed now, changed the incorrect 'spec' to 's'.


If people want to translate the message,

    "I have read and accept the Terms and Conditions here"

is shown to the user [in the translation interface](https://crowdin.com/translate/zen-community-platform/1/en-de) and not

    "I have read and accept the Terms and Conditions here"

But the second would be required for other users to properly translate the text and the link showing up on the website in other languages.

Can you modify the message id, too?


Better to use GFP_ATOMIC only when fd is nonblocking.


FWIW, it was actually commit 2824f42.


J'ai probablement dû laisser des erreurs d'import, j'ai testé vite fait mais il est fort possible qu'il plante tout de même parce qu'il manque une classe ou une constante.

Mais en tout cas, c'est plus propre comme ça... :cactus:


pagefault_disable is an overkill for blocking fd too.


Please remove this.


Looks good! Thanks!