@tisto Jenkins CI reporting about code analysis
See the full report here: http://jenkins.plone.org/job/package-plone.app.linkintegrity/1/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/linkintegrity/exceptions.py:0:1: C101 Coding magic comment not found
plone/app/linkintegrity/exceptions.py:1:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/exceptions.py:8:5: D001 found implements( replace it with zope.interface.implementer
plone/app/linkintegrity/references.py:0:1: C101 Coding magic comment not found
plone/app/linkintegrity/references.py:9:1: E265 block comment should start with '# '
plone/app/linkintegrity/references.py:15:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/references.py:17:1: F401 'Products.Archetypes.config' imported but unused
plone/app/linkintegrity/references.py:17:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/references.py:18:1: F401 'Products.Archetypes.interfaces.IReferenceable' imported but unused
plone/app/linkintegrity/references.py:18:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/references.py:19:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/references.py:27:35: E231 missing whitespace after ','
plone/app/linkintegrity/references.py:44:48: P002 found "hasattr", consider replacing it
plone/app/linkintegrity/references.py:55:5: B901 blind except: statement
plone/app/linkintegrity/references.py:57:13: E128 continuation line under-indented for visual indent
plone/app/linkintegrity/handlers.py:0:1: C101 Coding magic comment not found
plone/app/linkintegrity/handlers.py:1:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/handlers.py:2:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/handlers.py:3:1: I004 isort found an unexpected blank line in imports
plone/app/linkintegrity/handlers.py:6:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/handlers.py:7:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/handlers.py:9:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/handlers.py:10:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/handlers.py:11:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/handlers.py:17:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/handlers.py:18:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/handlers.py:19:1: I004 isort found an unexpected blank line in imports
plone/app/linkintegrity/handlers.py:20:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/handlers.py:21:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/handlers.py:22:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/handlers.py:23:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/handlers.py:24:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/handlers.py:44:5: F401 'plone.directives.form.Schema' imported but unused
plone/app/linkintegrity/handlers.py:46:1: B901 blind except: statement
plone/app/linkintegrity/handlers.py:63:1: C901 'findObject' is too complex (12)
plone/app/linkintegrity/handlers.py:121:21: B901 blind except: statement
plone/app/linkintegrity/handlers.py:170:5: F841 local variable 'fields' is assigned to but never used
plone/app/linkintegrity/handlers.py:207:47: P002 found "hasattr", consider replacing it
plone/app/linkintegrity/handlers.py:210:47: P002 found "hasattr", consider replacing it
plone/app/linkintegrity/interfaces.py:0:1: C101 Coding magic comment not found
plone/app/linkintegrity/__init__.py:0:1: C101 Coding magic comment not found
plone/app/linkintegrity/info.py:0:1: C101 Coding magic comment not found
plone/app/linkintegrity/info.py:2:1: F401 'Products.CMFCore.interfaces.IPropertiesTool' imported but unused
plone/app/linkintegrity/info.py:3:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/info.py:4:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/info.py:5:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/info.py:7:1: F401 'zope.component.queryUtility' imported but unused
plone/app/linkintegrity/info.py:7:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/info.py:8:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/info.py:11:1: I003 isort expected 1 blank line in imports, found 0
plone/app/linkintegrity/info.py:18:12: P002 found "hasattr", consider replacing it
plone/app/linkintegrity/info.py:33:1: E303 too many blank lines (4)
plone/app/linkintegrity/info.py:36:5: D001 found implements( replace it with zope.interface.implementer
plone/app/linkintegrity/info.py:130:16: Q000 Remove bad quotes.
plone/app/linkintegrity/utils.py:0:1: C101 Coding magic comment not found
plone/app/linkintegrity/utils.py:2:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/utils.py:3:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/utils.py:21:19: S001 found module formatter
plone/app/linkintegrity/parser.py:0:1: C101 Coding magic comment not found
plone/app/linkintegrity/parser.py:1:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/monkey.py:0:1: C101 Coding magic comment not found
plone/app/linkintegrity/monkey.py:5:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/monkey.py:7:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/monkey.py:8:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/monkey.py:21:80: E501 line too long (81 > 79 characters)
plone/app/linkintegrity/monkey.py:27:80: E501 line too long (83 > 79 characters)
plone/app/linkintegrity/monkey.py:53:1: E302 expected 2 blank lines, found 1
plone/app/linkintegrity/monkey.py:75:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/linkintegrity/monkey.py:75:1: E402 module level import not at top of file
plone/app/linkintegrity/monkey.py:75:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/browser/confirmation.py:0:1: C101 Coding magic comment not found
plone/app/linkintegrity/browser/confirmation.py:1:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/browser/confirmation.py:2:1: I004 isort found an unexpected blank line in imports
plone/app/linkintegrity/browser/confirmation.py:4:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/browser/confirmation.py:5:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/browser/confirmation.py:6:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/browser/confirmation.py:7:1: I004 isort found an unexpected blank line in imports
plone/app/linkintegrity/browser/confirmation.py:52:9: E731 do not assign a lambda expression, use a def
plone/app/linkintegrity/browser/confirmation.py:52:80: E501 line too long (82 > 79 characters)
plone/app/linkintegrity/browser/confirmation.py:73:56: Q000 Remove bad quotes.
plone/app/linkintegrity/browser/confirmation.py:79:57: Q000 Remove bad quotes.
plone/app/linkintegrity/browser/remove.py:0:1: C101 Coding magic comment not found
plone/app/linkintegrity/browser/remove.py:3:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/browser/remove.py:4:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/browser/remove.py:5:1: I004 isort found an unexpected blank line in imports
plone/app/linkintegrity/browser/remove.py:9:1: I004 isort found an unexpected blank line in imports
plone/app/linkintegrity/browser/remove.py:10:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/browser/remove.py:11:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/browser/remove.py:39:39: S001 found module formatter
plone/app/linkintegrity/browser/remove.py:40:45: S001 found module formatter
plone/app/linkintegrity/browser/__init__.py:0:1: C101 Coding magic comment not found
plone/app/linkintegrity/browser/update.py:0:1: C101 Coding magic comment not found
plone/app/linkintegrity/browser/update.py:7:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/browser/update.py:19:17: E128 continuation line under-indented for visual indent
plone/app/linkintegrity/browser/update.py:19:80: E501 line too long (84 > 79 characters)
plone/app/linkintegrity/browser/update.py:20:17: E128 continuation line under-indented for visual indent
plone/app/linkintegrity/tests/test_info.py:0:1: C101 Coding magic comment not found
plone/app/linkintegrity/tests/test_info.py:9:17: S001 found module formatter
plone/app/linkintegrity/tests/test_dexterity_doctests.py:0:1: C101 Coding magic comment not found
plone/app/linkintegrity/tests/test_dexterity_doctests.py:3:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/test_dexterity_doctests.py:4:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/test_dexterity_doctests.py:6:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/test_dexterity_doctests.py:7:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/test_dexterity_doctests.py:8:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/test_dexterity_doctests.py:10:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/test_dexterity_doctests.py:11:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/test_dexterity_doctests.py:12:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/test_dexterity_doctests.py:15:1: I003 isort expected 1 blank line in imports, found 0
plone/app/linkintegrity/tests/test_dexterity_doctests.py:26:5: F401 'plone.app.textfield.value.RichTextValue' imported but unused
plone/app/linkintegrity/tests/test_dexterity_doctests.py:27:5: E301 expected 1 blank line, found 0
plone/app/linkintegrity/tests/test_dexterity_doctests.py:32:1: E402 module level import not at top of file
plone/app/linkintegrity/tests/test_dexterity_doctests.py:32:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/test_dexterity_doctests.py:35:1: E402 module level import not at top of file
plone/app/linkintegrity/tests/test_dexterity_doctests.py:35:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/test_dexterity_doctests.py:56:80: E501 line too long (84 > 79 characters)
plone/app/linkintegrity/tests/test_dexterity_doctests.py:57:80: E501 line too long (89 > 79 characters)
plone/app/linkintegrity/tests/test_dexterity_doctests.py:59:80: E501 line too long (84 > 79 characters)
plone/app/linkintegrity/tests/test_dexterity_doctests.py:61:80: E501 line too long (84 > 79 characters)
plone/app/linkintegrity/tests/test_dexterity_doctests.py:67:30: E128 continuation line under-indented for visual indent
plone/app/linkintegrity/tests/test_dexterity_doctests.py:68:30: E128 continuation line under-indented for visual indent
plone/app/linkintegrity/tests/test_dexterity_doctests.py:70:30: E128 continuation line under-indented for visual indent
plone/app/linkintegrity/tests/test_dexterity_doctests.py:71:30: E128 continuation line under-indented for visual indent
plone/app/linkintegrity/tests/test_dexterity_doctests.py:72:1: W293 blank line contains whitespace
plone/app/linkintegrity/tests/test_dexterity_doctests.py:82:22: S001 found module formatter
plone/app/linkintegrity/tests/test_dexterity_doctests.py:103:80: E501 line too long (103 > 79 characters)
plone/app/linkintegrity/tests/test_dexterity_doctests.py:117:22: W291 trailing whitespace
plone/app/linkintegrity/tests/test_dexterity_doctests.py:122:20: E713 test for membership should be 'not in'
plone/app/linkintegrity/tests/test_dexterity_doctests.py:124:25: E128 continuation line under-indented for visual indent
plone/app/linkintegrity/tests/test_dexterity_doctests.py:125:25: E128 continuation line under-indented for visual indent
plone/app/linkintegrity/tests/test_dexterity_doctests.py:126:25: E128 continuation line under-indented for visual indent
plone/app/linkintegrity/tests/__init__.py:0:1: C101 Coding magic comment not found
plone/app/linkintegrity/tests/__init__.py:6:1: I003 isort expected 1 blank line in imports, found 0
plone/app/linkintegrity/tests/__init__.py:6:1: I003 isort expected 1 blank line in imports, found 0
plone/app/linkintegrity/tests/__init__.py:6:25: Q000 Remove bad quotes.
plone/app/linkintegrity/tests/__init__.py:6:35: Q000 Remove bad quotes.
plone/app/linkintegrity/tests/test_references.py:0:1: C101 Coding magic comment not found
plone/app/linkintegrity/tests/test_references.py:2:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/test_references.py:17:13: E128 continuation line under-indented for visual indent
plone/app/linkintegrity/tests/test_references.py:34:13: E128 continuation line under-indented for visual indent
plone/app/linkintegrity/tests/test_references.py:45:80: E501 line too long (80 > 79 characters)
plone/app/linkintegrity/tests/test_references.py:50:80: E501 line too long (80 > 79 characters)
plone/app/linkintegrity/tests/test_references.py:53:13: E128 continuation line under-indented for visual indent
plone/app/linkintegrity/tests/test_references.py:53:18: S001 found module formatter
plone/app/linkintegrity/tests/test_references.py:54:13: E128 continuation line under-indented for visual indent
plone/app/linkintegrity/tests/utils.py:0:1: C101 Coding magic comment not found
plone/app/linkintegrity/tests/utils.py:2:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/utils.py:12:44: S001 found module formatter
plone/app/linkintegrity/tests/test_doctests.py:5:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/test_doctests.py:7:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/test_doctests.py:9:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/test_doctests.py:10:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/test_doctests.py:11:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/test_doctests.py:18:1: E402 module level import not at top of file
plone/app/linkintegrity/tests/test_doctests.py:18:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/test_doctests.py:21:1: E402 module level import not at top of file
plone/app/linkintegrity/tests/test_doctests.py:21:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/test_doctests.py:55:22: S001 found module formatter
plone/app/linkintegrity/tests/test_doctests.py:99:16: E713 test for membership should be 'not in'
plone/app/linkintegrity/tests/test_doctests.py:101:21: E128 continuation line under-indented for visual indent
plone/app/linkintegrity/tests/test_doctests.py:102:21: E128 continuation line under-indented for visual indent
plone/app/linkintegrity/tests/test_doctests.py:103:21: E128 continuation line under-indented for visual indent
plone/app/linkintegrity/tests/test_dexterity.py:3:1: F401 'unittest' imported but unused
plone/app/linkintegrity/tests/test_dexterity.py:3:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/test_dexterity.py:4:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/test_dexterity.py:5:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/test_dexterity.py:6:1: F401 'zExceptions.BadRequest' imported but unused
plone/app/linkintegrity/tests/test_dexterity.py:6:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/test_dexterity.py:7:1: F401 'Acquisition.aq_base' imported but unused
plone/app/linkintegrity/tests/test_dexterity.py:8:1: F401 'zope.interface.alsoProvides' imported but unused
plone/app/linkintegrity/tests/test_dexterity.py:8:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/test_dexterity.py:9:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/test_dexterity.py:10:1: F401 'plone.uuid.interfaces.IMutableUUID' imported but unused
plone/app/linkintegrity/tests/test_dexterity.py:11:1: F401 'plone.uuid.interfaces.IUUIDGenerator' imported but unused
plone/app/linkintegrity/tests/test_dexterity.py:12:1: F401 'zope.component.getUtility' imported but unused
plone/app/linkintegrity/tests/test_dexterity.py:13:1: F401 'OFS.CopySupport.CopyError' imported but unused
plone/app/linkintegrity/tests/test_dexterity.py:13:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/test_dexterity.py:14:1: F401 'plone.app.linkintegrity.tests.utils' imported but unused
plone/app/linkintegrity/tests/test_dexterity.py:14:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/test_dexterity.py:15:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/test_dexterity.py:16:1: I003 isort expected 1 blank line in imports, found 0
plone/app/linkintegrity/tests/test_dexterity.py:28:5: E301 expected 1 blank line, found 0
plone/app/linkintegrity/tests/test_dexterity.py:47:80: E501 line too long (84 > 79 characters)
plone/app/linkintegrity/tests/test_dexterity.py:48:80: E501 line too long (89 > 79 characters)
plone/app/linkintegrity/tests/test_dexterity.py:50:80: E501 line too long (84 > 79 characters)
plone/app/linkintegrity/tests/test_dexterity.py:52:80: E501 line too long (84 > 79 characters)
plone/app/linkintegrity/tests/test_dexterity.py:53:1: W293 blank line contains whitespace
plone/app/linkintegrity/tests/test_dexterity.py:64:80: E501 line too long (106 > 79 characters)
plone/app/linkintegrity/tests/test_dexterity.py:67:80: E501 line too long (122 > 79 characters)
plone/app/linkintegrity/tests/test_dexterity.py:69:80: E501 line too long (96 > 79 characters)
plone/app/linkintegrity/tests/test_dexterity.py:71:80: E501 line too long (122 > 79 characters)
plone/app/linkintegrity/tests/test_dexterity.py:83:80: E501 line too long (123 > 79 characters)
plone/app/linkintegrity/tests/test_dexterity.py:84:80: E501 line too long (90 > 79 characters)
plone/app/linkintegrity/tests/test_dexterity.py:85:80: E501 line too long (87 > 79 characters)
plone/app/linkintegrity/tests/test_dexterity.py:86:80: E501 line too long (107 > 79 characters)
plone/app/linkintegrity/tests/test_can_paste.py:0:1: C101 Coding magic comment not found
plone/app/linkintegrity/tests/test_can_paste.py:2:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/layer.py:0:1: C101 Coding magic comment not found
plone/app/linkintegrity/tests/layer.py:2:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/layer.py:3:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/layer.py:4:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/layer.py:5:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/layer.py:25:13: E128 continuation line under-indented for visual indent
plone/app/linkintegrity/tests/layer.py:27:13: E128 continuation line under-indented for visual indent
plone/app/linkintegrity/tests/layer.py:28:80: E501 line too long (83 > 79 characters)
plone/app/linkintegrity/tests/layer.py:29:80: E501 line too long (83 > 79 characters)
plone/app/linkintegrity/tests/layer.py:30:80: E501 line too long (83 > 79 characters)
plone/app/linkintegrity/tests/layer.py:33:80: E501 line too long (80 > 79 characters)
plone/app/linkintegrity/tests/layer.py:34:13: E128 continuation line under-indented for visual indent
plone/app/linkintegrity/tests/layer.py:35:80: E501 line too long (80 > 79 characters)
plone/app/linkintegrity/tests/layer.py:36:13: E128 continuation line under-indented for visual indent
plone/app/linkintegrity/tests/layer.py:37:80: E501 line too long (80 > 79 characters)
plone/app/linkintegrity/tests/layer.py:38:13: E128 continuation line under-indented for visual indent
plone/app/linkintegrity/tests/dexterity_docs/__init__.py:0:1: C101 Coding magic comment not found
```
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.linkintegrity/2/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/linkintegrity/exceptions.py:0:1: C101 Coding magic comment not found
plone/app/linkintegrity/exceptions.py:1:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/exceptions.py:8:5: D001 found implements( replace it with zope.interface.implementer
plone/app/linkintegrity/references.py:0:1: C101 Coding magic comment not found
plone/app/linkintegrity/references.py:9:1: E265 block comment should start with '# '
plone/app/linkintegrity/references.py:15:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/references.py:17:1: F401 'Products.Archetypes.config' imported but unused
plone/app/linkintegrity/references.py:17:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/references.py:18:1: F401 'Products.Archetypes.interfaces.IReferenceable' imported but unused
plone/app/linkintegrity/references.py:18:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/references.py:19:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/references.py:27:35: E231 missing whitespace after ','
plone/app/linkintegrity/references.py:44:48: P002 found "hasattr", consider replacing it
plone/app/linkintegrity/references.py:55:5: B901 blind except: statement
plone/app/linkintegrity/references.py:57:13: E128 continuation line under-indented for visual indent
plone/app/linkintegrity/handlers.py:0:1: C101 Coding magic comment not found
plone/app/linkintegrity/handlers.py:1:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/handlers.py:2:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/handlers.py:3:1: I004 isort found an unexpected blank line in imports
plone/app/linkintegrity/handlers.py:6:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/handlers.py:7:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/handlers.py:9:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/handlers.py:10:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/handlers.py:11:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/handlers.py:17:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/handlers.py:18:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/handlers.py:19:1: I004 isort found an unexpected blank line in imports
plone/app/linkintegrity/handlers.py:20:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/handlers.py:21:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/handlers.py:22:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/handlers.py:23:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/handlers.py:24:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/handlers.py:44:5: F401 'plone.directives.form.Schema' imported but unused
plone/app/linkintegrity/handlers.py:46:1: B901 blind except: statement
plone/app/linkintegrity/handlers.py:63:1: C901 'findObject' is too complex (12)
plone/app/linkintegrity/handlers.py:121:21: B901 blind except: statement
plone/app/linkintegrity/handlers.py:170:5: F841 local variable 'fields' is assigned to but never used
plone/app/linkintegrity/handlers.py:207:47: P002 found "hasattr", consider replacing it
plone/app/linkintegrity/handlers.py:210:47: P002 found "hasattr", consider replacing it
plone/app/linkintegrity/interfaces.py:0:1: C101 Coding magic comment not found
plone/app/linkintegrity/__init__.py:0:1: C101 Coding magic comment not found
plone/app/linkintegrity/info.py:0:1: C101 Coding magic comment not found
plone/app/linkintegrity/info.py:3:1: I003 isort expected 1 blank line in imports, found 0
plone/app/linkintegrity/info.py:3:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/info.py:4:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/info.py:5:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/info.py:13:12: P002 found "hasattr", consider replacing it
plone/app/linkintegrity/info.py:22:5: D001 found implements( replace it with zope.interface.implementer
plone/app/linkintegrity/info.py:36:80: E501 line too long (82 > 79 characters)
plone/app/linkintegrity/info.py:120:16: Q000 Remove bad quotes.
plone/app/linkintegrity/utils.py:0:1: C101 Coding magic comment not found
plone/app/linkintegrity/utils.py:2:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/utils.py:3:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/utils.py:21:19: S001 found module formatter
plone/app/linkintegrity/parser.py:0:1: C101 Coding magic comment not found
plone/app/linkintegrity/parser.py:1:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/monkey.py:0:1: C101 Coding magic comment not found
plone/app/linkintegrity/monkey.py:5:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/monkey.py:7:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/monkey.py:8:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/monkey.py:21:80: E501 line too long (81 > 79 characters)
plone/app/linkintegrity/monkey.py:27:80: E501 line too long (83 > 79 characters)
plone/app/linkintegrity/monkey.py:53:1: E302 expected 2 blank lines, found 1
plone/app/linkintegrity/monkey.py:75:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/linkintegrity/monkey.py:75:1: E402 module level import not at top of file
plone/app/linkintegrity/monkey.py:75:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/browser/confirmation.py:0:1: C101 Coding magic comment not found
plone/app/linkintegrity/browser/confirmation.py:1:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/browser/confirmation.py:2:1: I004 isort found an unexpected blank line in imports
plone/app/linkintegrity/browser/confirmation.py:4:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/browser/confirmation.py:5:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/browser/confirmation.py:6:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/browser/confirmation.py:7:1: I004 isort found an unexpected blank line in imports
plone/app/linkintegrity/browser/confirmation.py:52:9: E731 do not assign a lambda expression, use a def
plone/app/linkintegrity/browser/confirmation.py:52:80: E501 line too long (82 > 79 characters)
plone/app/linkintegrity/browser/confirmation.py:73:56: Q000 Remove bad quotes.
plone/app/linkintegrity/browser/confirmation.py:79:57: Q000 Remove bad quotes.
plone/app/linkintegrity/browser/remove.py:0:1: C101 Coding magic comment not found
plone/app/linkintegrity/browser/remove.py:3:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/browser/remove.py:4:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/browser/remove.py:5:1: I004 isort found an unexpected blank line in imports
plone/app/linkintegrity/browser/remove.py:9:1: I004 isort found an unexpected blank line in imports
plone/app/linkintegrity/browser/remove.py:10:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/browser/remove.py:11:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/browser/remove.py:39:39: S001 found module formatter
plone/app/linkintegrity/browser/remove.py:40:45: S001 found module formatter
plone/app/linkintegrity/browser/__init__.py:0:1: C101 Coding magic comment not found
plone/app/linkintegrity/browser/update.py:0:1: C101 Coding magic comment not found
plone/app/linkintegrity/browser/update.py:7:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/browser/update.py:19:17: E128 continuation line under-indented for visual indent
plone/app/linkintegrity/browser/update.py:19:80: E501 line too long (84 > 79 characters)
plone/app/linkintegrity/browser/update.py:20:17: E128 continuation line under-indented for visual indent
plone/app/linkintegrity/tests/test_info.py:0:1: C101 Coding magic comment not found
plone/app/linkintegrity/tests/test_info.py:9:17: S001 found module formatter
plone/app/linkintegrity/tests/test_dexterity_doctests.py:0:1: C101 Coding magic comment not found
plone/app/linkintegrity/tests/test_dexterity_doctests.py:3:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/test_dexterity_doctests.py:4:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/test_dexterity_doctests.py:6:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/test_dexterity_doctests.py:7:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/test_dexterity_doctests.py:8:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/test_dexterity_doctests.py:10:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/test_dexterity_doctests.py:11:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/test_dexterity_doctests.py:12:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/test_dexterity_doctests.py:15:1: I003 isort expected 1 blank line in imports, found 0
plone/app/linkintegrity/tests/test_dexterity_doctests.py:26:5: F401 'plone.app.textfield.value.RichTextValue' imported but unused
plone/app/linkintegrity/tests/test_dexterity_doctests.py:27:5: E301 expected 1 blank line, found 0
plone/app/linkintegrity/tests/test_dexterity_doctests.py:32:1: E402 module level import not at top of file
plone/app/linkintegrity/tests/test_dexterity_doctests.py:32:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/test_dexterity_doctests.py:35:1: E402 module level import not at top of file
plone/app/linkintegrity/tests/test_dexterity_doctests.py:35:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/test_dexterity_doctests.py:56:80: E501 line too long (84 > 79 characters)
plone/app/linkintegrity/tests/test_dexterity_doctests.py:57:80: E501 line too long (89 > 79 characters)
plone/app/linkintegrity/tests/test_dexterity_doctests.py:59:80: E501 line too long (84 > 79 characters)
plone/app/linkintegrity/tests/test_dexterity_doctests.py:61:80: E501 line too long (84 > 79 characters)
plone/app/linkintegrity/tests/test_dexterity_doctests.py:67:30: E128 continuation line under-indented for visual indent
plone/app/linkintegrity/tests/test_dexterity_doctests.py:68:30: E128 continuation line under-indented for visual indent
plone/app/linkintegrity/tests/test_dexterity_doctests.py:70:30: E128 continuation line under-indented for visual indent
plone/app/linkintegrity/tests/test_dexterity_doctests.py:71:30: E128 continuation line under-indented for visual indent
plone/app/linkintegrity/tests/test_dexterity_doctests.py:72:1: W293 blank line contains whitespace
plone/app/linkintegrity/tests/test_dexterity_doctests.py:82:22: S001 found module formatter
plone/app/linkintegrity/tests/test_dexterity_doctests.py:103:80: E501 line too long (103 > 79 characters)
plone/app/linkintegrity/tests/test_dexterity_doctests.py:117:22: W291 trailing whitespace
plone/app/linkintegrity/tests/test_dexterity_doctests.py:122:20: E713 test for membership should be 'not in'
plone/app/linkintegrity/tests/test_dexterity_doctests.py:124:25: E128 continuation line under-indented for visual indent
plone/app/linkintegrity/tests/test_dexterity_doctests.py:125:25: E128 continuation line under-indented for visual indent
plone/app/linkintegrity/tests/test_dexterity_doctests.py:126:25: E128 continuation line under-indented for visual indent
plone/app/linkintegrity/tests/__init__.py:0:1: C101 Coding magic comment not found
plone/app/linkintegrity/tests/__init__.py:6:1: I003 isort expected 1 blank line in imports, found 0
plone/app/linkintegrity/tests/__init__.py:6:1: I003 isort expected 1 blank line in imports, found 0
plone/app/linkintegrity/tests/__init__.py:6:25: Q000 Remove bad quotes.
plone/app/linkintegrity/tests/__init__.py:6:35: Q000 Remove bad quotes.
plone/app/linkintegrity/tests/test_references.py:0:1: C101 Coding magic comment not found
plone/app/linkintegrity/tests/test_references.py:2:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/test_references.py:17:13: E128 continuation line under-indented for visual indent
plone/app/linkintegrity/tests/test_references.py:34:13: E128 continuation line under-indented for visual indent
plone/app/linkintegrity/tests/test_references.py:45:80: E501 line too long (80 > 79 characters)
plone/app/linkintegrity/tests/test_references.py:50:80: E501 line too long (80 > 79 characters)
plone/app/linkintegrity/tests/test_references.py:53:13: E128 continuation line under-indented for visual indent
plone/app/linkintegrity/tests/test_references.py:53:18: S001 found module formatter
plone/app/linkintegrity/tests/test_references.py:54:13: E128 continuation line under-indented for visual indent
plone/app/linkintegrity/tests/utils.py:0:1: C101 Coding magic comment not found
plone/app/linkintegrity/tests/utils.py:2:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/utils.py:12:44: S001 found module formatter
plone/app/linkintegrity/tests/test_doctests.py:5:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/test_doctests.py:7:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/test_doctests.py:9:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/test_doctests.py:10:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/test_doctests.py:11:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/test_doctests.py:14:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/test_doctests.py:15:1: I003 isort expected 1 blank line in imports, found 0
plone/app/linkintegrity/tests/test_doctests.py:18:1: E402 module level import not at top of file
plone/app/linkintegrity/tests/test_doctests.py:18:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/test_doctests.py:21:1: E402 module level import not at top of file
plone/app/linkintegrity/tests/test_doctests.py:21:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/test_doctests.py:55:22: S001 found module formatter
plone/app/linkintegrity/tests/test_doctests.py:102:16: E713 test for membership should be 'not in'
plone/app/linkintegrity/tests/test_doctests.py:104:21: E128 continuation line under-indented for visual indent
plone/app/linkintegrity/tests/test_doctests.py:105:21: E128 continuation line under-indented for visual indent
plone/app/linkintegrity/tests/test_doctests.py:106:21: E128 continuation line under-indented for visual indent
plone/app/linkintegrity/tests/test_dexterity.py:3:1: F401 'unittest' imported but unused
plone/app/linkintegrity/tests/test_dexterity.py:3:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/test_dexterity.py:4:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/test_dexterity.py:5:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/test_dexterity.py:6:1: F401 'zExceptions.BadRequest' imported but unused
plone/app/linkintegrity/tests/test_dexterity.py:6:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/test_dexterity.py:7:1: F401 'Acquisition.aq_base' imported but unused
plone/app/linkintegrity/tests/test_dexterity.py:8:1: F401 'zope.interface.alsoProvides' imported but unused
plone/app/linkintegrity/tests/test_dexterity.py:8:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/test_dexterity.py:9:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/test_dexterity.py:10:1: F401 'plone.uuid.interfaces.IMutableUUID' imported but unused
plone/app/linkintegrity/tests/test_dexterity.py:11:1: F401 'plone.uuid.interfaces.IUUIDGenerator' imported but unused
plone/app/linkintegrity/tests/test_dexterity.py:12:1: F401 'zope.component.getUtility' imported but unused
plone/app/linkintegrity/tests/test_dexterity.py:13:1: F401 'OFS.CopySupport.CopyError' imported but unused
plone/app/linkintegrity/tests/test_dexterity.py:13:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/test_dexterity.py:14:1: F401 'plone.app.linkintegrity.tests.utils' imported but unused
plone/app/linkintegrity/tests/test_dexterity.py:14:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/test_dexterity.py:15:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/test_dexterity.py:16:1: I003 isort expected 1 blank line in imports, found 0
plone/app/linkintegrity/tests/test_dexterity.py:28:5: E301 expected 1 blank line, found 0
plone/app/linkintegrity/tests/test_dexterity.py:47:80: E501 line too long (84 > 79 characters)
plone/app/linkintegrity/tests/test_dexterity.py:48:80: E501 line too long (89 > 79 characters)
plone/app/linkintegrity/tests/test_dexterity.py:50:80: E501 line too long (84 > 79 characters)
plone/app/linkintegrity/tests/test_dexterity.py:52:80: E501 line too long (84 > 79 characters)
plone/app/linkintegrity/tests/test_dexterity.py:53:1: W293 blank line contains whitespace
plone/app/linkintegrity/tests/test_dexterity.py:64:80: E501 line too long (106 > 79 characters)
plone/app/linkintegrity/tests/test_dexterity.py:67:80: E501 line too long (122 > 79 characters)
plone/app/linkintegrity/tests/test_dexterity.py:69:80: E501 line too long (96 > 79 characters)
plone/app/linkintegrity/tests/test_dexterity.py:71:80: E501 line too long (122 > 79 characters)
plone/app/linkintegrity/tests/test_dexterity.py:83:80: E501 line too long (123 > 79 characters)
plone/app/linkintegrity/tests/test_dexterity.py:84:80: E501 line too long (90 > 79 characters)
plone/app/linkintegrity/tests/test_dexterity.py:85:80: E501 line too long (87 > 79 characters)
plone/app/linkintegrity/tests/test_dexterity.py:86:80: E501 line too long (107 > 79 characters)
plone/app/linkintegrity/tests/test_can_paste.py:0:1: C101 Coding magic comment not found
plone/app/linkintegrity/tests/test_can_paste.py:2:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/layer.py:0:1: C101 Coding magic comment not found
plone/app/linkintegrity/tests/layer.py:2:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/layer.py:3:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/layer.py:4:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/layer.py:5:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/layer.py:25:13: E128 continuation line under-indented for visual indent
plone/app/linkintegrity/tests/layer.py:27:13: E128 continuation line under-indented for visual indent
plone/app/linkintegrity/tests/layer.py:28:80: E501 line too long (83 > 79 characters)
plone/app/linkintegrity/tests/layer.py:29:80: E501 line too long (83 > 79 characters)
plone/app/linkintegrity/tests/layer.py:30:80: E501 line too long (83 > 79 characters)
plone/app/linkintegrity/tests/layer.py:33:80: E501 line too long (80 > 79 characters)
plone/app/linkintegrity/tests/layer.py:34:13: E128 continuation line under-indented for visual indent
plone/app/linkintegrity/tests/layer.py:35:80: E501 line too long (80 > 79 characters)
plone/app/linkintegrity/tests/layer.py:36:13: E128 continuation line under-indented for visual indent
plone/app/linkintegrity/tests/layer.py:37:80: E501 line too long (80 > 79 characters)
plone/app/linkintegrity/tests/layer.py:38:13: E128 continuation line under-indented for visual indent
plone/app/linkintegrity/tests/dexterity_docs/__init__.py:0:1: C101 Coding magic comment not found
```
Follow [these instructions](https://github.com/plone/jenkins.plone.org/blob/master/docs/source/run-qa-on-package.rst) to reproduce it locally.


@keul Jenkins CI reporting about code analysis
See the full report here: http://jenkins.plone.org/job/package-plone.app.linkintegrity/3/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/linkintegrity/exceptions.py:0:1: C101 Coding magic comment not found
plone/app/linkintegrity/exceptions.py:1:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/exceptions.py:8:5: D001 found implements( replace it with zope.interface.implementer
plone/app/linkintegrity/handlers.py:0:1: C101 Coding magic comment not found
plone/app/linkintegrity/handlers.py:1:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/handlers.py:5:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/handlers.py:6:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/handlers.py:7:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/handlers.py:8:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/handlers.py:10:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/handlers.py:12:1: I003 isort expected 1 blank line in imports, found 0
plone/app/linkintegrity/handlers.py:12:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/handlers.py:13:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/handlers.py:14:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/handlers.py:15:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/handlers.py:16:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/handlers.py:34:1: E302 expected 2 blank lines, found 1
plone/app/linkintegrity/handlers.py:85:80: E501 line too long (87 > 79 characters)
plone/app/linkintegrity/handlers.py:89:80: E501 line too long (82 > 79 characters)
plone/app/linkintegrity/handlers.py:94:1: C901 'modifiedArchetype' is too complex (15)
plone/app/linkintegrity/handlers.py:124:80: E501 line too long (89 > 79 characters)
plone/app/linkintegrity/handlers.py:130:13: B901 blind except: statement
plone/app/linkintegrity/handlers.py:132:21: E128 continuation line under-indented for visual indent
plone/app/linkintegrity/handlers.py:149:80: E501 line too long (80 > 79 characters)
plone/app/linkintegrity/interfaces.py:0:1: C101 Coding magic comment not found
plone/app/linkintegrity/__init__.py:0:1: C101 Coding magic comment not found
plone/app/linkintegrity/info.py:0:1: C101 Coding magic comment not found
plone/app/linkintegrity/info.py:3:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/info.py:4:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/info.py:10:5: D001 found implements( replace it with zope.interface.implementer
plone/app/linkintegrity/info.py:24:80: E501 line too long (82 > 79 characters)
plone/app/linkintegrity/info.py:41:80: E501 line too long (82 > 79 characters)
plone/app/linkintegrity/info.py:45:80: E501 line too long (81 > 79 characters)
plone/app/linkintegrity/info.py:93:16: Q000 Remove bad quotes.
plone/app/linkintegrity/utils.py:0:1: C101 Coding magic comment not found
plone/app/linkintegrity/utils.py:1:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/utils.py:2:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/utils.py:9:19: S001 found module formatter
plone/app/linkintegrity/parser.py:0:1: C101 Coding magic comment not found
plone/app/linkintegrity/parser.py:1:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/monkey.py:0:1: C101 Coding magic comment not found
plone/app/linkintegrity/monkey.py:5:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/monkey.py:7:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/monkey.py:8:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/monkey.py:21:80: E501 line too long (81 > 79 characters)
plone/app/linkintegrity/monkey.py:27:80: E501 line too long (83 > 79 characters)
plone/app/linkintegrity/monkey.py:71:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/linkintegrity/monkey.py:71:1: E402 module level import not at top of file
plone/app/linkintegrity/monkey.py:71:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/browser/confirmation.py:0:1: C101 Coding magic comment not found
plone/app/linkintegrity/browser/confirmation.py:2:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/browser/confirmation.py:3:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/browser/confirmation.py:4:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/browser/confirmation.py:5:1: I004 isort found an unexpected blank line in imports
plone/app/linkintegrity/browser/confirmation.py:38:9: E731 do not assign a lambda expression, use a def
plone/app/linkintegrity/browser/confirmation.py:58:56: Q000 Remove bad quotes.
plone/app/linkintegrity/browser/confirmation.py:64:57: Q000 Remove bad quotes.
plone/app/linkintegrity/browser/remove.py:0:1: C101 Coding magic comment not found
plone/app/linkintegrity/browser/remove.py:3:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/browser/remove.py:4:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/browser/remove.py:5:1: I004 isort found an unexpected blank line in imports
plone/app/linkintegrity/browser/remove.py:9:1: I004 isort found an unexpected blank line in imports
plone/app/linkintegrity/browser/remove.py:10:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/browser/remove.py:11:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/browser/remove.py:39:39: S001 found module formatter
plone/app/linkintegrity/browser/remove.py:40:45: S001 found module formatter
plone/app/linkintegrity/browser/__init__.py:0:1: C101 Coding magic comment not found
plone/app/linkintegrity/browser/update.py:0:1: C101 Coding magic comment not found
plone/app/linkintegrity/browser/update.py:7:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/browser/update.py:19:17: E128 continuation line under-indented for visual indent
plone/app/linkintegrity/browser/update.py:19:80: E501 line too long (84 > 79 characters)
plone/app/linkintegrity/browser/update.py:20:17: E128 continuation line under-indented for visual indent
plone/app/linkintegrity/tests/test_info.py:0:1: C101 Coding magic comment not found
plone/app/linkintegrity/tests/test_info.py:5:1: W293 blank line contains whitespace
plone/app/linkintegrity/tests/test_info.py:9:17: S001 found module formatter
plone/app/linkintegrity/tests/test_info.py:10:9: E306 expected 1 blank line before a nested definition, found 0
plone/app/linkintegrity/tests/test_info.py:12:1: W293 blank line contains whitespace
plone/app/linkintegrity/tests/testDocTests.py:0:1: C101 Coding magic comment not found
plone/app/linkintegrity/tests/testDocTests.py:5:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/testDocTests.py:6:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/testDocTests.py:8:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/testDocTests.py:9:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/testDocTests.py:10:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/testDocTests.py:11:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/testDocTests.py:18:1: E402 module level import not at top of file
plone/app/linkintegrity/tests/testDocTests.py:18:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/testDocTests.py:21:1: E402 module level import not at top of file
plone/app/linkintegrity/tests/testDocTests.py:21:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/testDocTests.py:46:48: S001 found module formatter
plone/app/linkintegrity/tests/testDocTests.py:54:22: S001 found module formatter
plone/app/linkintegrity/tests/testDocTests.py:75:80: E501 line too long (103 > 79 characters)
plone/app/linkintegrity/tests/testDocTests.py:93:16: E713 test for membership should be 'not in'
plone/app/linkintegrity/tests/testDocTests.py:95:21: E128 continuation line under-indented for visual indent
plone/app/linkintegrity/tests/testDocTests.py:96:21: E128 continuation line under-indented for visual indent
plone/app/linkintegrity/tests/testDocTests.py:97:21: E128 continuation line under-indented for visual indent
plone/app/linkintegrity/tests/__init__.py:0:1: C101 Coding magic comment not found
plone/app/linkintegrity/tests/__init__.py:6:1: I003 isort expected 1 blank line in imports, found 0
plone/app/linkintegrity/tests/__init__.py:6:1: I003 isort expected 1 blank line in imports, found 0
plone/app/linkintegrity/tests/__init__.py:6:25: Q000 Remove bad quotes.
plone/app/linkintegrity/tests/__init__.py:6:35: Q000 Remove bad quotes.
plone/app/linkintegrity/tests/layer.py:0:1: C101 Coding magic comment not found
plone/app/linkintegrity/tests/layer.py:2:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/layer.py:3:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/layer.py:4:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/layer.py:5:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/layer.py:25:13: E128 continuation line under-indented for visual indent
plone/app/linkintegrity/tests/layer.py:27:13: E128 continuation line under-indented for visual indent
plone/app/linkintegrity/tests/layer.py:28:80: E501 line too long (83 > 79 characters)
plone/app/linkintegrity/tests/layer.py:29:80: E501 line too long (83 > 79 characters)
plone/app/linkintegrity/tests/layer.py:30:80: E501 line too long (83 > 79 characters)
plone/app/linkintegrity/tests/layer.py:33:80: E501 line too long (80 > 79 characters)
plone/app/linkintegrity/tests/layer.py:34:13: E128 continuation line under-indented for visual indent
plone/app/linkintegrity/tests/layer.py:35:80: E501 line too long (80 > 79 characters)
plone/app/linkintegrity/tests/layer.py:36:13: E128 continuation line under-indented for visual indent
plone/app/linkintegrity/tests/layer.py:37:80: E501 line too long (80 > 79 characters)
plone/app/linkintegrity/tests/layer.py:38:13: E128 continuation line under-indented for visual indent
```
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.linkintegrity/4/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/linkintegrity/exceptions.py:0:1: C101 Coding magic comment not found
plone/app/linkintegrity/exceptions.py:1:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/exceptions.py:8:5: D001 found implements( replace it with zope.interface.implementer
plone/app/linkintegrity/references.py:0:1: C101 Coding magic comment not found
plone/app/linkintegrity/references.py:9:1: E265 block comment should start with '# '
plone/app/linkintegrity/references.py:15:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/references.py:17:1: F401 'Products.Archetypes.config' imported but unused
plone/app/linkintegrity/references.py:17:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/references.py:18:1: F401 'Products.Archetypes.interfaces.IReferenceable' imported but unused
plone/app/linkintegrity/references.py:18:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/references.py:19:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/references.py:27:35: E231 missing whitespace after ','
plone/app/linkintegrity/references.py:44:48: P002 found "hasattr", consider replacing it
plone/app/linkintegrity/references.py:55:5: B901 blind except: statement
plone/app/linkintegrity/references.py:57:13: E128 continuation line under-indented for visual indent
plone/app/linkintegrity/handlers.py:0:1: C101 Coding magic comment not found
plone/app/linkintegrity/handlers.py:1:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/handlers.py:2:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/handlers.py:3:1: I004 isort found an unexpected blank line in imports
plone/app/linkintegrity/handlers.py:6:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/handlers.py:7:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/handlers.py:9:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/handlers.py:10:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/handlers.py:11:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/handlers.py:17:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/handlers.py:18:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/handlers.py:19:1: I004 isort found an unexpected blank line in imports
plone/app/linkintegrity/handlers.py:20:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/handlers.py:21:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/handlers.py:22:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/handlers.py:23:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/handlers.py:24:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/handlers.py:45:1: B901 blind except: statement
plone/app/linkintegrity/handlers.py:62:1: C901 'findObject' is too complex (12)
plone/app/linkintegrity/handlers.py:122:21: B901 blind except: statement
plone/app/linkintegrity/handlers.py:207:47: P002 found "hasattr", consider replacing it
plone/app/linkintegrity/handlers.py:210:47: P002 found "hasattr", consider replacing it
plone/app/linkintegrity/interfaces.py:0:1: C101 Coding magic comment not found
plone/app/linkintegrity/__init__.py:0:1: C101 Coding magic comment not found
plone/app/linkintegrity/info.py:0:1: C101 Coding magic comment not found
plone/app/linkintegrity/info.py:3:1: I003 isort expected 1 blank line in imports, found 0
plone/app/linkintegrity/info.py:3:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/info.py:4:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/info.py:5:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/info.py:13:12: P002 found "hasattr", consider replacing it
plone/app/linkintegrity/info.py:22:5: D001 found implements( replace it with zope.interface.implementer
plone/app/linkintegrity/info.py:36:80: E501 line too long (82 > 79 characters)
plone/app/linkintegrity/info.py:120:16: Q000 Remove bad quotes.
plone/app/linkintegrity/utils.py:0:1: C101 Coding magic comment not found
plone/app/linkintegrity/utils.py:2:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/utils.py:3:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/utils.py:21:19: S001 found module formatter
plone/app/linkintegrity/parser.py:0:1: C101 Coding magic comment not found
plone/app/linkintegrity/parser.py:1:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/monkey.py:0:1: C101 Coding magic comment not found
plone/app/linkintegrity/monkey.py:5:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/monkey.py:7:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/monkey.py:8:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/monkey.py:21:80: E501 line too long (81 > 79 characters)
plone/app/linkintegrity/monkey.py:27:80: E501 line too long (83 > 79 characters)
plone/app/linkintegrity/monkey.py:53:1: E302 expected 2 blank lines, found 1
plone/app/linkintegrity/monkey.py:75:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/linkintegrity/monkey.py:75:1: E402 module level import not at top of file
plone/app/linkintegrity/monkey.py:75:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/browser/confirmation.py:0:1: C101 Coding magic comment not found
plone/app/linkintegrity/browser/confirmation.py:1:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/browser/confirmation.py:2:1: I004 isort found an unexpected blank line in imports
plone/app/linkintegrity/browser/confirmation.py:4:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/browser/confirmation.py:5:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/browser/confirmation.py:6:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/browser/confirmation.py:7:1: I004 isort found an unexpected blank line in imports
plone/app/linkintegrity/browser/confirmation.py:52:9: E731 do not assign a lambda expression, use a def
plone/app/linkintegrity/browser/confirmation.py:52:80: E501 line too long (82 > 79 characters)
plone/app/linkintegrity/browser/confirmation.py:73:56: Q000 Remove bad quotes.
plone/app/linkintegrity/browser/confirmation.py:79:57: Q000 Remove bad quotes.
plone/app/linkintegrity/browser/remove.py:0:1: C101 Coding magic comment not found
plone/app/linkintegrity/browser/remove.py:3:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/browser/remove.py:4:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/browser/remove.py:5:1: I004 isort found an unexpected blank line in imports
plone/app/linkintegrity/browser/remove.py:9:1: I004 isort found an unexpected blank line in imports
plone/app/linkintegrity/browser/remove.py:10:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/browser/remove.py:11:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/browser/remove.py:39:39: S001 found module formatter
plone/app/linkintegrity/browser/remove.py:40:45: S001 found module formatter
plone/app/linkintegrity/browser/__init__.py:0:1: C101 Coding magic comment not found
plone/app/linkintegrity/browser/update.py:8:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/browser/update.py:9:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/browser/update.py:10:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/browser/update.py:11:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/browser/update.py:13:1: I003 isort expected 1 blank line in imports, found 0
plone/app/linkintegrity/browser/update.py:15:1: I003 isort expected 1 blank line in imports, found 0
plone/app/linkintegrity/browser/update.py:60:80: E501 line too long (81 > 79 characters)
plone/app/linkintegrity/browser/update.py:81:23: Q000 Remove bad quotes.
plone/app/linkintegrity/browser/update.py:81:23: P103 other string does contain unindexed parameters
plone/app/linkintegrity/browser/update.py:94:27: Q000 Remove bad quotes.
plone/app/linkintegrity/browser/update.py:94:27: P103 other string does contain unindexed parameters
plone/app/linkintegrity/tests/test_handlers.py:0:1: C101 Coding magic comment not found
plone/app/linkintegrity/tests/test_handlers.py:2:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/test_handlers.py:3:1: I003 isort expected 1 blank line in imports, found 0
plone/app/linkintegrity/tests/test_handlers.py:9:1: W293 blank line contains whitespace
plone/app/linkintegrity/tests/test_handlers.py:22:80: E501 line too long (90 > 79 characters)
plone/app/linkintegrity/tests/test_handlers.py:28:80: E501 line too long (84 > 79 characters)
plone/app/linkintegrity/tests/test_handlers.py:29:80: E501 line too long (146 > 79 characters)
plone/app/linkintegrity/tests/test_handlers.py:34:52: E231 missing whitespace after ','
plone/app/linkintegrity/tests/test_handlers.py:36:1: W391 blank line at end of file
plone/app/linkintegrity/tests/test_info.py:0:1: C101 Coding magic comment not found
plone/app/linkintegrity/tests/test_info.py:9:17: S001 found module formatter
plone/app/linkintegrity/tests/test_dexterity_doctests.py:0:1: C101 Coding magic comment not found
plone/app/linkintegrity/tests/test_dexterity_doctests.py:3:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/test_dexterity_doctests.py:4:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/test_dexterity_doctests.py:6:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/test_dexterity_doctests.py:7:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/test_dexterity_doctests.py:8:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/test_dexterity_doctests.py:10:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/test_dexterity_doctests.py:11:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/test_dexterity_doctests.py:12:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/test_dexterity_doctests.py:15:1: I003 isort expected 1 blank line in imports, found 0
plone/app/linkintegrity/tests/test_dexterity_doctests.py:26:5: F401 'plone.app.textfield.value.RichTextValue' imported but unused
plone/app/linkintegrity/tests/test_dexterity_doctests.py:27:5: E301 expected 1 blank line, found 0
plone/app/linkintegrity/tests/test_dexterity_doctests.py:32:1: E402 module level import not at top of file
plone/app/linkintegrity/tests/test_dexterity_doctests.py:32:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/test_dexterity_doctests.py:35:1: E402 module level import not at top of file
plone/app/linkintegrity/tests/test_dexterity_doctests.py:35:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/test_dexterity_doctests.py:56:80: E501 line too long (84 > 79 characters)
plone/app/linkintegrity/tests/test_dexterity_doctests.py:57:80: E501 line too long (89 > 79 characters)
plone/app/linkintegrity/tests/test_dexterity_doctests.py:59:80: E501 line too long (84 > 79 characters)
plone/app/linkintegrity/tests/test_dexterity_doctests.py:61:80: E501 line too long (84 > 79 characters)
plone/app/linkintegrity/tests/test_dexterity_doctests.py:67:30: E128 continuation line under-indented for visual indent
plone/app/linkintegrity/tests/test_dexterity_doctests.py:68:30: E128 continuation line under-indented for visual indent
plone/app/linkintegrity/tests/test_dexterity_doctests.py:70:30: E128 continuation line under-indented for visual indent
plone/app/linkintegrity/tests/test_dexterity_doctests.py:71:30: E128 continuation line under-indented for visual indent
plone/app/linkintegrity/tests/test_dexterity_doctests.py:72:1: W293 blank line contains whitespace
plone/app/linkintegrity/tests/test_dexterity_doctests.py:82:22: S001 found module formatter
plone/app/linkintegrity/tests/test_dexterity_doctests.py:103:80: E501 line too long (103 > 79 characters)
plone/app/linkintegrity/tests/test_dexterity_doctests.py:117:22: W291 trailing whitespace
plone/app/linkintegrity/tests/test_dexterity_doctests.py:122:20: E713 test for membership should be 'not in'
plone/app/linkintegrity/tests/test_dexterity_doctests.py:124:25: E128 continuation line under-indented for visual indent
plone/app/linkintegrity/tests/test_dexterity_doctests.py:125:25: E128 continuation line under-indented for visual indent
plone/app/linkintegrity/tests/test_dexterity_doctests.py:126:25: E128 continuation line under-indented for visual indent
plone/app/linkintegrity/tests/__init__.py:0:1: C101 Coding magic comment not found
plone/app/linkintegrity/tests/__init__.py:6:1: I003 isort expected 1 blank line in imports, found 0
plone/app/linkintegrity/tests/__init__.py:6:1: I003 isort expected 1 blank line in imports, found 0
plone/app/linkintegrity/tests/__init__.py:6:25: Q000 Remove bad quotes.
plone/app/linkintegrity/tests/__init__.py:6:35: Q000 Remove bad quotes.
plone/app/linkintegrity/tests/test_references.py:0:1: C101 Coding magic comment not found
plone/app/linkintegrity/tests/test_references.py:1:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/test_references.py:9:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/test_references.py:10:1: I003 isort expected 1 blank line in imports, found 0
plone/app/linkintegrity/tests/test_references.py:17:24: W291 trailing whitespace
plone/app/linkintegrity/tests/test_references.py:21:16: P002 found "hasattr", consider replacing it
plone/app/linkintegrity/tests/test_references.py:28:1: W293 blank line contains whitespace
plone/app/linkintegrity/tests/test_references.py:35:18: E131 continuation line unaligned for hanging indent
plone/app/linkintegrity/tests/test_references.py:46:13: E128 continuation line under-indented for visual indent
plone/app/linkintegrity/tests/test_references.py:63:13: E128 continuation line under-indented for visual indent
plone/app/linkintegrity/tests/test_references.py:74:80: E501 line too long (80 > 79 characters)
plone/app/linkintegrity/tests/test_references.py:79:80: E501 line too long (80 > 79 characters)
plone/app/linkintegrity/tests/test_references.py:82:13: E128 continuation line under-indented for visual indent
plone/app/linkintegrity/tests/test_references.py:82:18: S001 found module formatter
plone/app/linkintegrity/tests/test_references.py:83:13: E128 continuation line under-indented for visual indent
plone/app/linkintegrity/tests/test_references.py:90:80: E501 line too long (98 > 79 characters)
plone/app/linkintegrity/tests/test_references.py:91:80: E501 line too long (83 > 79 characters)
plone/app/linkintegrity/tests/test_references.py:97:80: E501 line too long (98 > 79 characters)
plone/app/linkintegrity/tests/test_references.py:98:80: E501 line too long (83 > 79 characters)
plone/app/linkintegrity/tests/utils.py:0:1: C101 Coding magic comment not found
plone/app/linkintegrity/tests/utils.py:2:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/utils.py:12:44: S001 found module formatter
plone/app/linkintegrity/tests/test_doctests.py:5:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/test_doctests.py:7:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/test_doctests.py:9:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/test_doctests.py:10:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/test_doctests.py:11:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/test_doctests.py:18:1: E402 module level import not at top of file
plone/app/linkintegrity/tests/test_doctests.py:18:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/test_doctests.py:21:1: E402 module level import not at top of file
plone/app/linkintegrity/tests/test_doctests.py:21:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/test_doctests.py:55:22: S001 found module formatter
plone/app/linkintegrity/tests/test_doctests.py:99:16: E713 test for membership should be 'not in'
plone/app/linkintegrity/tests/test_doctests.py:101:21: E128 continuation line under-indented for visual indent
plone/app/linkintegrity/tests/test_doctests.py:102:21: E128 continuation line under-indented for visual indent
plone/app/linkintegrity/tests/test_doctests.py:103:21: E128 continuation line under-indented for visual indent
plone/app/linkintegrity/tests/test_dexterity.py:3:1: F401 'unittest' imported but unused
plone/app/linkintegrity/tests/test_dexterity.py:3:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/test_dexterity.py:4:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/test_dexterity.py:5:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/test_dexterity.py:6:1: F401 'zExceptions.BadRequest' imported but unused
plone/app/linkintegrity/tests/test_dexterity.py:6:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/test_dexterity.py:7:1: F401 'Acquisition.aq_base' imported but unused
plone/app/linkintegrity/tests/test_dexterity.py:8:1: F401 'zope.interface.alsoProvides' imported but unused
plone/app/linkintegrity/tests/test_dexterity.py:8:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/test_dexterity.py:9:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/test_dexterity.py:10:1: F401 'plone.uuid.interfaces.IMutableUUID' imported but unused
plone/app/linkintegrity/tests/test_dexterity.py:11:1: F401 'plone.uuid.interfaces.IUUIDGenerator' imported but unused
plone/app/linkintegrity/tests/test_dexterity.py:12:1: F401 'zope.component.getUtility' imported but unused
plone/app/linkintegrity/tests/test_dexterity.py:13:1: F401 'OFS.CopySupport.CopyError' imported but unused
plone/app/linkintegrity/tests/test_dexterity.py:13:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/test_dexterity.py:14:1: F401 'plone.app.linkintegrity.tests.utils' imported but unused
plone/app/linkintegrity/tests/test_dexterity.py:14:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/test_dexterity.py:15:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/test_dexterity.py:16:1: I003 isort expected 1 blank line in imports, found 0
plone/app/linkintegrity/tests/test_dexterity.py:28:5: E301 expected 1 blank line, found 0
plone/app/linkintegrity/tests/test_dexterity.py:47:80: E501 line too long (84 > 79 characters)
plone/app/linkintegrity/tests/test_dexterity.py:48:80: E501 line too long (89 > 79 characters)
plone/app/linkintegrity/tests/test_dexterity.py:50:80: E501 line too long (84 > 79 characters)
plone/app/linkintegrity/tests/test_dexterity.py:52:80: E501 line too long (84 > 79 characters)
plone/app/linkintegrity/tests/test_dexterity.py:53:1: W293 blank line contains whitespace
plone/app/linkintegrity/tests/test_dexterity.py:64:80: E501 line too long (106 > 79 characters)
plone/app/linkintegrity/tests/test_dexterity.py:67:80: E501 line too long (122 > 79 characters)
plone/app/linkintegrity/tests/test_dexterity.py:69:80: E501 line too long (96 > 79 characters)
plone/app/linkintegrity/tests/test_dexterity.py:71:80: E501 line too long (122 > 79 characters)
plone/app/linkintegrity/tests/test_dexterity.py:83:80: E501 line too long (123 > 79 characters)
plone/app/linkintegrity/tests/test_dexterity.py:84:80: E501 line too long (90 > 79 characters)
plone/app/linkintegrity/tests/test_dexterity.py:85:80: E501 line too long (87 > 79 characters)
plone/app/linkintegrity/tests/test_dexterity.py:86:80: E501 line too long (107 > 79 characters)
plone/app/linkintegrity/tests/test_can_paste.py:0:1: C101 Coding magic comment not found
plone/app/linkintegrity/tests/test_can_paste.py:2:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/layer.py:0:1: C101 Coding magic comment not found
plone/app/linkintegrity/tests/layer.py:2:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/layer.py:3:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/layer.py:4:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/layer.py:5:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/layer.py:25:13: E128 continuation line under-indented for visual indent
plone/app/linkintegrity/tests/layer.py:27:13: E128 continuation line under-indented for visual indent
plone/app/linkintegrity/tests/layer.py:28:80: E501 line too long (83 > 79 characters)
plone/app/linkintegrity/tests/layer.py:29:80: E501 line too long (83 > 79 characters)
plone/app/linkintegrity/tests/layer.py:30:80: E501 line too long (83 > 79 characters)
plone/app/linkintegrity/tests/layer.py:33:80: E501 line too long (80 > 79 characters)
plone/app/linkintegrity/tests/layer.py:34:13: E128 continuation line under-indented for visual indent
plone/app/linkintegrity/tests/layer.py:35:80: E501 line too long (80 > 79 characters)
plone/app/linkintegrity/tests/layer.py:36:13: E128 continuation line under-indented for visual indent
plone/app/linkintegrity/tests/layer.py:37:80: E501 line too long (80 > 79 characters)
plone/app/linkintegrity/tests/layer.py:38:13: E128 continuation line under-indented for visual indent
plone/app/linkintegrity/tests/dexterity_docs/__init__.py:0:1: C101 Coding magic comment not found
```
Follow [these instructions](https://github.com/plone/jenkins.plone.org/blob/master/docs/source/run-qa-on-package.rst) to reproduce it locally.


TeamCity OTA+ :: libats :: ci [Build 54](http://teamcity.prod01.internal.advancedtelematic.com:8111/viewLog.html?buildId=29268&buildTypeId=libats_Ci) outcome was **FAILURE**
Summary: Exit code 1 (new) Build time: 00:04:48


@dentearl  should there be one line break between (description) and (param and return tags) also?


@thet Jenkins CI reporting about code analysis
See the full report here: http://jenkins.plone.org/job/package-plone.app.linkintegrity/5/violations
```
plone/app/linkintegrity/compat.py:0:1: C101 Coding magic comment not found
plone/app/linkintegrity/testing.py:59:9: D001 found xmlconfig.file( replace it with self.loadZCML(
plone/app/linkintegrity/handlers.py:30:1: C901 'findObject' is too complex (12)
plone/app/linkintegrity/tests/test_circular.py:6:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/test_circular.py:7:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/test_references.py:135:80: E501 line too long (85 > 79 characters)
plone/app/linkintegrity/tests/test_references.py:197:80: E501 line too long (81 > 79 characters)
plone/app/linkintegrity/tests/test_references.py:201:80: E501 line too long (81 > 79 characters)
plone/app/linkintegrity/tests/test_upgrade.py:2:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/test_imagescales.py:5:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/test_imagescales.py:21:80: E501 line too long (81 > 79 characters)
plone/app/linkintegrity/tests/test_imagescales.py:24:80: E501 line too long (81 > 79 characters)
plone/app/linkintegrity/tests/test_imagescales.py:33:80: E501 line too long (81 > 79 characters)
plone/app/linkintegrity/tests/test_imagescales.py:34:80: E501 line too long (83 > 79 characters)
plone/app/linkintegrity/tests/test_imagescales.py:43:80: E501 line too long (81 > 79 characters)
plone/app/linkintegrity/tests/test_imagescales.py:44:80: E501 line too long (83 > 79 characters)
plone/app/linkintegrity/tests/test_functional.py:2:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/test_functional.py:3:1: I004 isort found an unexpected blank line in imports
plone/app/linkintegrity/tests/test_functional.py:4:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/test_functional.py:7:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/test_functional.py:10:1: I004 isort found an unexpected blank line in imports
plone/app/linkintegrity/tests/test_functional.py:11:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/test_functional.py:12:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/test_functional.py:16:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/test_functional.py:149:80: E501 line too long (82 > 79 characters)
plone/app/linkintegrity/tests/test_functional.py:210:80: E501 line too long (82 > 79 characters)
plone/app/linkintegrity/tests/test_functional.py:256:80: E501 line too long (81 > 79 characters)
plone/app/linkintegrity/tests/test_functional.py:257:80: E501 line too long (81 > 79 characters)
plone/app/linkintegrity/tests/test_functional.py:284:80: E501 line too long (82 > 79 characters)
plone/app/linkintegrity/tests/test_functional.py:321:80: E501 line too long (82 > 79 characters)
plone/app/linkintegrity/tests/test_functional.py:357:9: F841 local variable 'doc1' is assigned to but never used
plone/app/linkintegrity/tests/test_functional.py:358:80: E501 line too long (82 > 79 characters)
plone/app/linkintegrity/tests/test_handlers.py:4:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/test_handlers.py:9:1: W293 blank line contains whitespace
plone/app/linkintegrity/tests/test_handlers.py:16:80: E501 line too long (90 > 79 characters)
plone/app/linkintegrity/tests/test_handlers.py:22:80: E501 line too long (84 > 79 characters)
plone/app/linkintegrity/tests/test_handlers.py:23:80: E501 line too long (146 > 79 characters)
plone/app/linkintegrity/tests/test_handlers.py:28:52: E231 missing whitespace after ','
plone/app/linkintegrity/tests/test_handlers.py:31:1: E302 expected 2 blank lines, found 1
plone/app/linkintegrity/tests/__init__.py:7:1: I003 isort expected 1 blank line in imports, found 0
plone/app/linkintegrity/tests/__init__.py:7:1: I003 isort expected 1 blank line in imports, found 0
plone/app/linkintegrity/tests/__init__.py:7:25: Q000 Remove bad quotes.
plone/app/linkintegrity/tests/__init__.py:7:35: Q000 Remove bad quotes.
plone/app/linkintegrity/browser/update.py:55:19: P101 format string does contain unindexed parameters
plone/app/linkintegrity/browser/update.py:76:23: Q000 Remove bad quotes.
plone/app/linkintegrity/browser/update.py:76:23: P103 other string does contain unindexed parameters
plone/app/linkintegrity/browser/update.py:83:23: Q000 Remove bad quotes.
plone/app/linkintegrity/browser/update.py:83:23: P103 other string does contain unindexed parameters
plone/app/linkintegrity/browser/info.py:43:1: C901 'DeleteConfirmationInfo.get_breaches' is too complex (16)
```
Follow [these instructions](https://github.com/plone/jenkins.plone.org/blob/master/docs/source/run-qa-on-package.rst) to reproduce it locally.


It should also set status to ABORT as well no?


I meant otherwise it's a typo here then: "launched" ;-)


TeamCity OTA+ :: libats :: ci [Build 55](http://teamcity.prod01.internal.advancedtelematic.com:8111/viewLog.html?buildId=29270&buildTypeId=libats_Ci) is now running


Why is this protected? It should be private.


Well, this one was the WIP commit... ;-)


комент


Если определили equals -- не забудьте про hashCode


реплай


Hello, latest source.

root@streamer10:~# curl http://192.168.100.64:20119/ch001/playlist.m3u8
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=2048000
encoder/0/playlist.m3u8
root@streamer10:~#


Bluemix [toolchain](https://console.ng.bluemix.net/devops/toolchains/fd3152c6-137a-4142-a944-1e8a55a999c6 "pipeline-1491975326"): [Delivery Pipeline](https://console.ng.bluemix.net/devops/pipelines/fb49c690-29bd-41e4-a174-a76c8d965645 "pipeline-1491975326") deployed [phpfordemo](https://github.com/vasavaashwin/phpfordemo/releases/tag/deploy-ibm-yp-us-south-beehive-demo-demophp-20170419-081632 "deploy-ibm-yp-us-south-beehive-demo-demophp-20170419-081632") to [demophp](https://console.ng.bluemix.net/apps/e3c10837-aa67-4ffc-b24e-ca8f3c6564fb "ibm:yp:us-south:beehive demo:demophp"), including this commit


@amjayee Is there a reason for "_" prefix in "id" field?


Hi,
I think this is not correct, see https://wiki.egi.eu/wiki/Fedcloud-tf:WorkGroups:Federated_AAI:per-user_sub-proxy#Requirements and https://wiki.egi.eu/wiki/Usage_of_the_per_user_sub_proxy_in_EGI#Requirements
Your regexp would also match e.g. CN=Robots which is not valid.
The PUSP_REGEXP has the same issue.


Why is the expected execution time a multiple of CLIENT_REPLY_TIMEOUT, its huge, it should be a little less than CLIENT_REPLY_TIMEOUT


TeamCity OTA+ :: libats :: ci [Build 55](http://teamcity.prod01.internal.advancedtelematic.com:8111/viewLog.html?buildId=29270&buildTypeId=libats_Ci) outcome was **SUCCESS**
Summary: Running Build time: 00:04:51


🎉 Those numbers look awesome!


Hi,
I am using this release version of .Net Core on all platforms: https://www.microsoft.com/net/core#macos. You can see on my branch that all project.json definitions were converted to .csproj as this version of .Net Core no longer supports project.json. Also note that bootstrap.csproj and test.csproj reference Edge.Js.csproj directly rather than referencing nuget package.
Unlike the errors you getting I have no problems building and partially running on .Net Core, you can see the results here: https://travis-ci.org/agracio/edge/jobs/223456502. Also take a look at travis.yml to see how it runs both `mono` and `.Net Core` builds https://github.com/agracio/edge/blob/master/.travis.yml.
Everything that uses pre-compiled dll works, but anything with C# code fails as it cannot load Edge.Js.CSharp library.
I think this is related to conditional edge-cs.js code it executes when it runs in EDGE_USE_CORECLR=1 mode.
I did not have enough time to fully investigate it yet, will do it later today.


Already done with PR 5883


What is a "errors from ft5406 "?


Советую ввести маленький класс "Стакан" или "Бочка". В котором хранился бы максимум этого стакана, текущее значение в этом стакане и, возможно, начальное значение в этом стакане. Тогда внутри "игры" у вас был бы просто массив стаканов (один). Это убирает всякие странные вопросы "А что будет, если массивы окажутся разного размера" и добавляет программе понятности


xD no seas botón


Du bist schlecht


@amjayee ActivityMetricServiceImpl should not extend from BaseTenantDao as it is not a dao class. Autowire MongoTemplate if that was the reason to extend from BaseTenantDao.


[concept paper GORLYAN ISAAC.docx](https://github.com/gorlyanisaac/Concept-paper/files/932678/concept.paper.GORLYAN.ISAAC.docx)


@amjayee This should be private field.


@dentearl  I am not sure how can the encryptPassword be null? Every time a n user is created, there will always be an salt that is connected to the user password and thus there will always be encrypted password stored in database


Здесь можно было бы использовать функции стакана вроде "узнать, сколько свободного места" и "взять воду не более заданного объёма".


Такие вещи лучше делать через toString(). Заодно при отладке пригодится


@amjayee What is the second argument "directly execute script"?


This is why we can't have nice things :(


Download them to your computer and tell me how it is.


Is this equivalent to `pullup = PULLUPS[PinPullup.OFF]` ??


Здесь и далее в качестве типа нужно использовать интерфейс -- `List<...>`


@amjayee Please check for indentation, spacing and placement of commas.


Petite erreur de typo :wink:


example


TeamCity OTA+ :: rvi_sota_server :: ci [Build 2407](http://teamcity.prod01.internal.advancedtelematic.com:8111/viewLog.html?buildId=29271&buildTypeId=ota_plus_RviSotaServer_Ci) is now running


could you explain what the problem was?

otherwise, ok


@amjayee All autowired fields should be private.


How do i do that?


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


Здесь тоже забыли hashCode


TeamCity OTA+ :: rvi_sota_server :: ci [Build 2406](http://teamcity.prod01.internal.advancedtelematic.com:8111/viewLog.html?buildId=29269&buildTypeId=ota_plus_RviSotaServer_Ci) outcome was **SUCCESS**
Summary: Tests passed: 290, ignored: 3 Build time: 00:14:49


В чём физический смысл этого массива? Ответьте пожалуйста здесь же в комментарии.


> However, I don't think we should go to extreme lengths in order to support hacks of this kind.

I agree. But until we have a better way of hiding implicit arguments in the LaTeX backend (for the prenex ones it's easy: put the definition in a section!) or beautifying some expressions (a [similar sed-based hack](http://wiki.portal.chalmers.se/agda/pmwiki.php?n=Main.LiterateAgda) is mentioned on the wiki in the "Making up for the lack of lhs2TeX’s %format rules" section) it is indeed quite convenient to be able to postprocess the file line by line.


@amjayee This should be private.


I don't see where it is defined?

also, it should be camelcased: handleLoadData


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


There is no such file as scan_lists.h in Nmap. I guess you forgot to commit the newly created scan_lists.h file @bonsaiviking .


Yes, the format function used in field_utils is a momentjs function: https://github.com/odoo/odoo/blob/master/addons/web/static/src/js/fields/field_utils.js#L71


good change


delete cname


@amjayee "hm-chart" class was for heatmap. We should introduce a new class for tabular report.


expandAll returns a deferred, no? the update should be done afterward I guess


is this because these fields are handled by devise gem?


How does it make sure that all retries for reply are done?


penis


Fixed


@amjayee columns should be part of report definition in the options. The tabular report directive can be used for other reports as well.


Что будет с этим полем, если `maxNoD > 0`?


not sure it is useful. you could use directly this.data instead of record


That's because when using `haxelib run travix`, haxelib will use the location of the library as CWD and append the actual CWD to the command args. Therefore [travix will cd back to that directory](https://github.com/back2dos/travix/blob/master/src/travix/Travix.hx#L70 ) and the trailing "." works around that. We should do something about it though ^^


Также, все поля, которые можно сделать `final`, следует сделать `final`.


잇츠미


Объясни зачем в данном случае второй параметр this.categoriesList[id]  ?


ㅁㅁ


Repository per gli esercizi svolti e i progetti assegnati durante il corso di Sistemi Informativi sul Web (Università Roma Tre - AA 2016/2017)


Bluemix [toolchain](https://console.ng.bluemix.net/devops/toolchains/fd3152c6-137a-4142-a944-1e8a55a999c6 "pipeline-1491975326"): [Delivery Pipeline](https://console.ng.bluemix.net/devops/pipelines/fb49c690-29bd-41e4-a174-a76c8d965645 "pipeline-1491975326") deployed [phpfordemo](https://github.com/vasavaashwin/phpfordemo/releases/tag/deploy-ibm-yp-us-south-beehive-demo-demophp-20170419-083142 "deploy-ibm-yp-us-south-beehive-demo-demophp-20170419-083142") to [demophp](https://console.ng.bluemix.net/apps/e3c10837-aa67-4ffc-b24e-ca8f3c6564fb "ibm:yp:us-south:beehive demo:demophp"), including this commit


TeamCity OTA+ :: libats :: ci [Build 56](http://teamcity.prod01.internal.advancedtelematic.com:8111/viewLog.html?buildId=29273&buildTypeId=libats_Ci) is now running


return


Каков физический смысл этого графа? Верно ли, что каждая вершина соответствует определённому состоянию стаканов, а каждая дуга соответствует переходу из одного состояния в другое?


You replaced docs/features/tuple-names.md with proposals/target-typed-default.md which is different feature


Hello @matoelorriaga,

Don't worry, I'm here to help ;)

Ok so there are 2 possible version of the MVP implementation:
- Before 2.2: The `onStart` method has a parameter named `firstStart` that was true only on the very first start of the presenter. So it means when you rotate, it will be `false`.
- [2.2](https://github.com/benoitletondor/Android-Studio-MVP-template/releases/tag/2.2) (the last one): I made a change about how the `onStart` method of the presenter behaves: it now has a parameter named `viewCreated` which is true when the view (an `Activity` or a `Fragment`) is created, so it will be true on rotation.

I made this change cause you may want to know when your view is created to update its state according to the presenter state (you don't have to do so if the view isn't created since it's already up-to-date).

So my guess is that if your `firstStart` parameter is true on rotation, you probably have the last version of the MVP implementation and you should rename this parameter `viewCreated` so that it makes more sense.

That being said, you can easily recreate a `firstStart` parameter, here's how to do it:

```kotlin
private var mFirstStart = true

override fun onStart(viewCreated: Boolean) {
    // Load the content via a network call only on firstStart
    if( mFirstStart ) {
        interactor.getPokemonList(this)
    }

    // You should update your view every time viewCreated is true since it means the view has just been created
    if ( viewCreated ) {
        if (interactor.networkRequestInProgress) {
            view?.showLoadingIndicator()
        }
        view?.showPokemonList(pokemonList)
    }

    mFirstStart = false
}
```

Let me know if something's not clear.


@amjayee Should it be called MetricStats instead of ReportStats?


I guess @yuyuyu101  will give the best answer.
I think that closing immediately after sending an ack is not a good idea because the TCP reset might get before the ack to the server.
Anyway this patch doesn't change anything in this logic.

Amir


@amjayee Is there a reason for not following the Java Bean naming convention? Setter/getter are not same as the field name.


defined __linux__ && !defined __ANDROID__


Здесь лучше поставить фигурные скобки


I think `DelegatingValidatorTests` is missing isn't it? That got lost in the rename/move apparently


**[unitTests_js_branches run failed](http://jenkins.wikia-prod:8080/job/unitTests_js_branches/40247/testReport/) for this commit**


```
$ cat test.pileup | filtertool -i stdin --verbose --trial
........................................................................................................................................................................................................100000
FOUND: 53
```


你好


Does that really work? I always forget the order of things. It's okay if inner classes are processed _after_ bean definitions of the class itself.


@amjayee Can we move this to a utility service? I believe similar code exists for the audit screen as well.


Это поле я бы убрал и использовал просто 0


That should require a infrastructure role probably.


@amjayee Are these options used? Or is it just a copy-paste leftover? I think, options should have column definition only.


opts have been removed?


Please separate out integration-test and verify phases.


Yeah, I knew that. (and that make us unable to distinguish `haxelib run` and `haxe --run` or `haxe --interp`)
But I tried to make `npm run travix`  = `haxelib run travix` and it complained `travix lib not found`, that's what "no idea" means


TeamCity OTA+ :: rvi_sota_server :: ci [Build 2407](http://teamcity.prod01.internal.advancedtelematic.com:8111/viewLog.html?buildId=29271&buildTypeId=ota_plus_RviSotaServer_Ci) outcome was **FAILURE**
Summary: Tests failed: 2, passed: 158 Build time: 00:14:07
### Failed tests
```
APIFunTests.test adding packages: <no details avaliable>

APIFunTests.test searching packages: <no details avaliable>

```


какая мне разница вызывать strlen для const char * или просто length( ) для std::string

я по совету оптимизатора уже добавил const к std::string тут, и этого достаточно.


Will do ASAP. Apologies


Why are you doing this here rather than in `mvcValidator`?


strlen будет медленнее чем length( ) ведь в строке размер уже прописан а тут еще узнать его нужно будет, так что можно поспорить на счет производительности.


looks like an oversight.


Здесь и во многих других местах, я вам советую учить английский :). Программы с названиями вроде `mojnoPerelit` выглядят уродливо. Чем раньше вы начнёте писать в программах по-английски, тем лучше для вас самой.


Why don't you use $class:findOne($id)?

You can write `public function actionEdit(ActiveRecordInterface $class, $id)


Wow


Кроме этого, вы злоупотребляете использованием целых массивов везде, где только можно. В этом месте тоже лучше было бы иметь дело со стаканами.


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


I meant, in the commit message!


Remember to change your closing tags as well!


I don't understand why it cannot find istio.VERSION


Здесь можно было бы использовать функции стаканов `isFull` и `isEmpty`.


I think it means to open the port from the server side of pacemaker_remote daemon, right?  We don't need this in this senario  "guests as remote nodes",  since we already do it the section "3.2 Configuring the KVM Guests".


I did that in Eclipse, so yes it does.
Anyway, I would advocate against using unicode chars in code files...


removed


А здесь стоит использовать функцию стакана `fill` (заполнить) или `fillFrom` (заполнить из другого стакана)


Why did you write this `['view-cart', 'model','id' => $cart->id]`?
I mean empty parameter 'model'


Oh, right... ^^'


very good for ensuring that ActiveRecord validations have a translation in place.


Лучше избегать написания подобных методов, и работать с имеющимся представлением (в вашем случае, набором стаканов), напрямую


It obviously works but I don't get why we use `getclass()` here.


Лучше опять-таки через `toString`


```
>>> "/a/b/c".lstrip("/")
'a/b/c'
```


don't commit .project file in git commit.
Add following things into git ignore so git will commit those.
1. .project
2. .class
3. /target folder


Oversight probably.


Мне кажется, в этом классе у вас смешались граф состояний (дуги + вершины) и решатель (занимающийся поиском решения). Введите два отдельных класса


i thougth this was som ekind of serious , what is this??


Has missing array ever been populated? As far as I remember, any string enclosed within _("") will not produce error even if it's not defined in the the .pot file.


why using JDBC connection as planning to use hibernate ?


Don't commit such code.


Because it was a vanilla feature, and u changed it.


It works for me on Windows. I cannot currently test this on OS X.


Follow camel-casing naming convention.


empty file ??


n


There should be separate method `read_no_touch` with const qualifier


The blog is not part of platform anymore so not sure what this fixes exactly.


Yes, sending me (ivmai@mail.ru) these patches would be good. I will consider merging them to upstream master. Thank you


il y a `{% debug %}` et peut-être une variable également.


Please create pull request :)


Test Comment


No it's outside of the whole parallel context now. It used to be in the for loop above, which is parallelized, but this new for loop is not paralellized.


The idea was that there are cases (for example, user signup in eikaiwa_content) where it is not appropriate to specify an explicit ID in records marked as new, or where putting in such an ID might break code not prepared for it. So I used `allow_id` to force the consumer of the hash to consider this case. Naming this parameter was awkward in the context of `is_update_hash?`, so I switched it to `is_new_hash?` instead.

That being said, looking at it now, this is a pretty bad solution to the problem. What could we do instead? The consumer could, of course, write `!is_update_hash?(h) && !h.has_key?(ViewModel::ID_ATTRIBUTE)`, but I think this case is too easy to forget about.


Thanks your reply.

Sorry for bothering you, since I don't know where can I ask some questions about the code, I just ask here.


TeamCity OTA+ :: rvi_sota_server :: ci [Build 2408](http://teamcity.prod01.internal.advancedtelematic.com:8111/viewLog.html?buildId=29276&buildTypeId=ota_plus_RviSotaServer_Ci) is now running


CI failed since lua.org is down again...


Hi @jodosha , Thanks for responding. I am pretty much impressed by the architectural decisions you've made in Hanami. I am focusing on developing the Hanami framework in [Crystal](https://crystal-lang.org/) language.


If you release 8.4.x or 9.1.x, it is still useful.


What if BPEntry exists in cache already? This code will create another one, I suppose.


Учитывая, как "Стакан" используется в дальнейшем, советую сделать его immutable (сделать `final` все поля). Это позволит проще использовать эти стаканы в вашем графе. Исходя опять-таки из использований, советую ввести в стакан методы `isEmpty`, `isFull` и метод(ы) для переливания воды из одного стакана в другой.


add file


I tried to do it in the next commit (9bb2b66e95160baaf6b95440af0f7adea713f8a4). Maybe there is no use for two functions (ie gf_mpd_parse_other_descriptors and gf_mpd_is_known_descriptor) but I think it improves code readability.


@niranjan94 We need only one of `npm install -g bower` and `npm install` as `package.json` contains no dependency but bower. Let's go with `npm install -g bower` and remove `bower` from `package.json` .


Because we handle all support meshes at once. If we would use the per-object settings of the first support mesh then all support meshes would be handled with the settings of the first mesh - which is confusing. I think it's better to always use the extruder settings in that case.

I'm not 100% sure why we handle all support meshes at once. It's partly because it will be more efficient; because all polygons on each layer will be combined into a single area; rather than handling support separately for each support mesh. It's also easier to implement in the engine that way: we have a single Polygons object to keep the support mesh areas on a layer.

I'm adding a comment in the code..