@witsch Jenkins CI reporting about code analysis
See the full report here: http://jenkins.plone.org/job/package-plone.app.linkintegrity/8/violations
```
plone/__init__.py:0:1: C101 Coding magic comment not found
plone/app/__init__.py:0:1: C101 Coding magic comment not found
plone/app/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:34:1: E402 module level import not at top of file
plone/app/linkintegrity/monkey.py:34:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/monkey.py:35:1: E302 expected 2 blank lines, found 0
plone/app/linkintegrity/monkey.py:64:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/linkintegrity/monkey.py:64:1: E402 module level import not at top of file
plone/app/linkintegrity/monkey.py:64:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/monkey.py:66:1: W391 blank line at end of file
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/utils.py:50:1: W391 blank line at end of file
plone/app/linkintegrity/handlers.py:0:1: C101 Coding magic comment not found
plone/app/linkintegrity/handlers.py:2:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/handlers.py:3:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/handlers.py:4: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:9:1: I003 isort expected 1 blank line in imports, found 0
plone/app/linkintegrity/handlers.py:18:12: E701 multiple statements on one line (colon)
plone/app/linkintegrity/handlers.py:19:9: B901 blind except: statement
plone/app/linkintegrity/handlers.py:19:15: E701 multiple statements on one line (colon)
plone/app/linkintegrity/handlers.py:28:80: E501 line too long (81 > 79 characters)
plone/app/linkintegrity/handlers.py:32:5: F841 local variable 'site' is assigned to but never used
plone/app/linkintegrity/handlers.py:35:80: E501 line too long (87 > 79 characters)
plone/app/linkintegrity/handlers.py:74:12: P002 found "hasattr", consider replacing it
plone/app/linkintegrity/handlers.py:78:80: E501 line too long (80 > 79 characters)
plone/app/linkintegrity/handlers.py:88:12: P002 found "hasattr", consider replacing it
plone/app/linkintegrity/handlers.py:118:78: W291 trailing whitespace
plone/app/linkintegrity/handlers.py:127:45: W602 deprecated form of raising exception
plone/app/linkintegrity/handlers.py:128:1: W391 blank line at end of file
plone/app/linkintegrity/interfaces.py:0:1: C101 Coding magic comment not found
plone/app/linkintegrity/interfaces.py:42:1: W391 blank line at end of file
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/parser.py:40:1: W391 blank line at end of file
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/exceptions.py:10:1: W391 blank line at end of file
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:5:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/info.py:6:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/info.py:7:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/info.py:13:5: D001 found implements( replace it with zope.interface.implementer
plone/app/linkintegrity/info.py:27:80: E501 line too long (82 > 79 characters)
plone/app/linkintegrity/info.py:44:80: E501 line too long (82 > 79 characters)
plone/app/linkintegrity/info.py:48:80: E501 line too long (81 > 79 characters)
plone/app/linkintegrity/info.py:102:1: W391 blank line at end of file
plone/app/linkintegrity/__init__.py:0:1: C101 Coding magic comment not found
plone/app/linkintegrity/__init__.py:6:1: W391 blank line at end of file
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:6:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/layer.py:26:13: E128 continuation line under-indented for visual indent
plone/app/linkintegrity/tests/layer.py:28:13: E128 continuation line under-indented for visual indent
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:31: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/layer.py:45:80: E501 line too long (89 > 79 characters)
plone/app/linkintegrity/tests/layer.py:69:1: W391 blank line at end of file
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/__init__.py:7:1: W391 blank line at end of file
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:26:1: E302 expected 2 blank lines, found 1
plone/app/linkintegrity/tests/testDocTests.py:44:48: S001 found module formatter
plone/app/linkintegrity/tests/testDocTests.py:69:80: E501 line too long (103 > 79 characters)
plone/app/linkintegrity/tests/testDocTests.py:78:1: E302 expected 2 blank lines, found 1
plone/app/linkintegrity/tests/testDocTests.py:86:16: E713 test for membership should be 'not in'
plone/app/linkintegrity/tests/testDocTests.py:88:21: E128 continuation line under-indented for visual indent
plone/app/linkintegrity/tests/testDocTests.py:89:21: E128 continuation line under-indented for visual indent
plone/app/linkintegrity/tests/testDocTests.py:90:21: E128 continuation line under-indented for visual indent
plone/app/linkintegrity/tests/testDocTests.py:92:1: W391 blank line at end of file
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:24:9: F841 local variable 'context' is assigned to but never used
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/remove.py:51:1: W391 blank line at end of file
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:32:19: W601 .has_key() is deprecated, use 'in'
plone/app/linkintegrity/browser/confirmation.py:38:9: E731 do not assign a lambda expression, use a def
plone/app/linkintegrity/browser/confirmation.py:38:27: E231 missing whitespace after ','
plone/app/linkintegrity/browser/confirmation.py:47:41: E231 missing whitespace after ','
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/confirmation.py:66:1: W391 blank line at end of file
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/browser/update.py:39:1: W391 blank line at end of file
```
Follow [these instructions](https://github.com/plone/jenkins.plone.org/blob/master/docs/source/run-qa-on-package.rst) to reproduce it locally.


@witsch Jenkins CI reporting about code analysis
See the full report here: http://jenkins.plone.org/job/package-plone.app.linkintegrity/10/violations
```
plone/__init__.py:0:1: C101 Coding magic comment not found
plone/app/__init__.py:0:1: C101 Coding magic comment not found
plone/app/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/exceptions.py:10:1: W391 blank line at end of file
plone/app/linkintegrity/handlers.py:0:1: C101 Coding magic comment not found
plone/app/linkintegrity/handlers.py:2:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/handlers.py:3:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/handlers.py:4: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:9:1: I003 isort expected 1 blank line in imports, found 0
plone/app/linkintegrity/handlers.py:18:12: E701 multiple statements on one line (colon)
plone/app/linkintegrity/handlers.py:19:9: B901 blind except: statement
plone/app/linkintegrity/handlers.py:19:15: E701 multiple statements on one line (colon)
plone/app/linkintegrity/handlers.py:28:80: E501 line too long (81 > 79 characters)
plone/app/linkintegrity/handlers.py:32:5: F841 local variable 'site' is assigned to but never used
plone/app/linkintegrity/handlers.py:35:80: E501 line too long (87 > 79 characters)
plone/app/linkintegrity/handlers.py:75:12: P002 found "hasattr", consider replacing it
plone/app/linkintegrity/handlers.py:79:80: E501 line too long (80 > 79 characters)
plone/app/linkintegrity/handlers.py:89:12: P002 found "hasattr", consider replacing it
plone/app/linkintegrity/handlers.py:119:78: W291 trailing whitespace
plone/app/linkintegrity/handlers.py:128:45: W602 deprecated form of raising exception
plone/app/linkintegrity/handlers.py:129:1: W391 blank line at end of file
plone/app/linkintegrity/interfaces.py:0:1: C101 Coding magic comment not found
plone/app/linkintegrity/interfaces.py:42:1: W391 blank line at end of file
plone/app/linkintegrity/__init__.py:0:1: C101 Coding magic comment not found
plone/app/linkintegrity/__init__.py:6:1: W391 blank line at end of file
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:5:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/info.py:6:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/info.py:7:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/info.py:13:5: D001 found implements( replace it with zope.interface.implementer
plone/app/linkintegrity/info.py:27:80: E501 line too long (82 > 79 characters)
plone/app/linkintegrity/info.py:44:80: E501 line too long (82 > 79 characters)
plone/app/linkintegrity/info.py:48:80: E501 line too long (81 > 79 characters)
plone/app/linkintegrity/info.py:102:1: W391 blank line at end of file
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/utils.py:50:1: W391 blank line at end of file
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/parser.py:40:1: W391 blank line at end of file
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:34:1: E402 module level import not at top of file
plone/app/linkintegrity/monkey.py:34:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/monkey.py:35:1: E302 expected 2 blank lines, found 0
plone/app/linkintegrity/monkey.py:64:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/linkintegrity/monkey.py:64:1: E402 module level import not at top of file
plone/app/linkintegrity/monkey.py:64:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/monkey.py:66:1: W391 blank line at end of file
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:32:19: W601 .has_key() is deprecated, use 'in'
plone/app/linkintegrity/browser/confirmation.py:38:9: E731 do not assign a lambda expression, use a def
plone/app/linkintegrity/browser/confirmation.py:38:27: E231 missing whitespace after ','
plone/app/linkintegrity/browser/confirmation.py:47:41: E231 missing whitespace after ','
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/confirmation.py:66:1: W391 blank line at end of file
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:24:9: F841 local variable 'context' is assigned to but never used
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/remove.py:51:1: W391 blank line at end of file
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/browser/update.py:39:1: W391 blank line at end of file
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:26:1: E302 expected 2 blank lines, found 1
plone/app/linkintegrity/tests/testDocTests.py:44:48: S001 found module formatter
plone/app/linkintegrity/tests/testDocTests.py:69:80: E501 line too long (103 > 79 characters)
plone/app/linkintegrity/tests/testDocTests.py:78:1: E302 expected 2 blank lines, found 1
plone/app/linkintegrity/tests/testDocTests.py:86:16: E713 test for membership should be 'not in'
plone/app/linkintegrity/tests/testDocTests.py:88:21: E128 continuation line under-indented for visual indent
plone/app/linkintegrity/tests/testDocTests.py:89:21: E128 continuation line under-indented for visual indent
plone/app/linkintegrity/tests/testDocTests.py:90:21: E128 continuation line under-indented for visual indent
plone/app/linkintegrity/tests/testDocTests.py:92:1: W391 blank line at end of file
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/__init__.py:7:1: W391 blank line at end of file
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:6:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/layer.py:26:13: E128 continuation line under-indented for visual indent
plone/app/linkintegrity/tests/layer.py:28:13: E128 continuation line under-indented for visual indent
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:31: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/layer.py:45:80: E501 line too long (89 > 79 characters)
plone/app/linkintegrity/tests/layer.py:69:1: W391 blank line at end of file
```
Follow [these instructions](https://github.com/plone/jenkins.plone.org/blob/master/docs/source/run-qa-on-package.rst) to reproduce it locally.


@witsch Jenkins CI reporting about code analysis
See the full report here: http://jenkins.plone.org/job/package-plone.app.linkintegrity/11/violations
```
plone/__init__.py:0:1: C101 Coding magic comment not found
plone/app/__init__.py:0:1: C101 Coding magic comment not found
plone/app/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/exceptions.py:10:1: W391 blank line at end of file
plone/app/linkintegrity/handlers.py:0:1: C101 Coding magic comment not found
plone/app/linkintegrity/handlers.py:2:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/handlers.py:3:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/handlers.py:4: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:9:1: I003 isort expected 1 blank line in imports, found 0
plone/app/linkintegrity/handlers.py:18:12: E701 multiple statements on one line (colon)
plone/app/linkintegrity/handlers.py:19:9: B901 blind except: statement
plone/app/linkintegrity/handlers.py:19:15: E701 multiple statements on one line (colon)
plone/app/linkintegrity/handlers.py:28:80: E501 line too long (81 > 79 characters)
plone/app/linkintegrity/handlers.py:32:5: F841 local variable 'site' is assigned to but never used
plone/app/linkintegrity/handlers.py:35:80: E501 line too long (87 > 79 characters)
plone/app/linkintegrity/handlers.py:75:12: P002 found "hasattr", consider replacing it
plone/app/linkintegrity/handlers.py:79:80: E501 line too long (80 > 79 characters)
plone/app/linkintegrity/handlers.py:89:12: P002 found "hasattr", consider replacing it
plone/app/linkintegrity/handlers.py:119:78: W291 trailing whitespace
plone/app/linkintegrity/handlers.py:128:45: W602 deprecated form of raising exception
plone/app/linkintegrity/handlers.py:129:1: W391 blank line at end of file
plone/app/linkintegrity/interfaces.py:0:1: C101 Coding magic comment not found
plone/app/linkintegrity/interfaces.py:42:1: W391 blank line at end of file
plone/app/linkintegrity/__init__.py:0:1: C101 Coding magic comment not found
plone/app/linkintegrity/__init__.py:6:1: W391 blank line at end of file
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:5:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/info.py:6:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/info.py:7:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/info.py:13:5: D001 found implements( replace it with zope.interface.implementer
plone/app/linkintegrity/info.py:27:80: E501 line too long (82 > 79 characters)
plone/app/linkintegrity/info.py:44:80: E501 line too long (82 > 79 characters)
plone/app/linkintegrity/info.py:48:80: E501 line too long (81 > 79 characters)
plone/app/linkintegrity/info.py:102:1: W391 blank line at end of file
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/utils.py:50:1: W391 blank line at end of file
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/parser.py:40:1: W391 blank line at end of file
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:34:1: E402 module level import not at top of file
plone/app/linkintegrity/monkey.py:34:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/monkey.py:35:1: E302 expected 2 blank lines, found 0
plone/app/linkintegrity/monkey.py:64:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/linkintegrity/monkey.py:64:1: E402 module level import not at top of file
plone/app/linkintegrity/monkey.py:64:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/monkey.py:66:1: W391 blank line at end of file
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:32:19: W601 .has_key() is deprecated, use 'in'
plone/app/linkintegrity/browser/confirmation.py:38:9: E731 do not assign a lambda expression, use a def
plone/app/linkintegrity/browser/confirmation.py:38:27: E231 missing whitespace after ','
plone/app/linkintegrity/browser/confirmation.py:47:41: E231 missing whitespace after ','
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/confirmation.py:66:1: W391 blank line at end of file
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:24:9: F841 local variable 'context' is assigned to but never used
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/remove.py:51:1: W391 blank line at end of file
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/browser/update.py:39:1: W391 blank line at end of file
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:26:1: E302 expected 2 blank lines, found 1
plone/app/linkintegrity/tests/testDocTests.py:44:48: S001 found module formatter
plone/app/linkintegrity/tests/testDocTests.py:69:80: E501 line too long (103 > 79 characters)
plone/app/linkintegrity/tests/testDocTests.py:78:1: E302 expected 2 blank lines, found 1
plone/app/linkintegrity/tests/testDocTests.py:86:16: E713 test for membership should be 'not in'
plone/app/linkintegrity/tests/testDocTests.py:88:21: E128 continuation line under-indented for visual indent
plone/app/linkintegrity/tests/testDocTests.py:89:21: E128 continuation line under-indented for visual indent
plone/app/linkintegrity/tests/testDocTests.py:90:21: E128 continuation line under-indented for visual indent
plone/app/linkintegrity/tests/testDocTests.py:92:1: W391 blank line at end of file
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/__init__.py:7:1: W391 blank line at end of file
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:6:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/layer.py:26:13: E128 continuation line under-indented for visual indent
plone/app/linkintegrity/tests/layer.py:28:13: E128 continuation line under-indented for visual indent
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:31: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/layer.py:45:80: E501 line too long (89 > 79 characters)
plone/app/linkintegrity/tests/layer.py:69:1: W391 blank line at end of file
```
Follow [these instructions](https://github.com/plone/jenkins.plone.org/blob/master/docs/source/run-qa-on-package.rst) to reproduce it locally.


@mwetter Just to make sure - I looked at https://github.com/lbl-srg/modelica-buildings/pull/722 and QuinticHermite.mos does not have the tolerance set to 1e-6. I assumed that you haven't added it yet right?


Yes. I totally agree with you. It shouldn't be compare with tostring output function.  I will push another one to fix it.I don't know much about the system behavior. So I did question myself that if the system have 2 or 3 events having the same name, what should be returned here? As your explanation , seems that we expect the first matched eventTypeId will be returned.
Thanks for making the requirement clearer with me.


We decided a while ago to consider all desired state configuration for a node it's policy (singular)


сделать все в пределах одного футера. можно внутри сделать два div b назвать их top-row && bottom-row


@witsch Jenkins CI reporting about code analysis
See the full report here: http://jenkins.plone.org/job/package-plone.app.linkintegrity/13/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/exceptions.py:10:1: W391 blank line at end of file
plone/app/linkintegrity/handlers.py:0:1: C101 Coding magic comment not found
plone/app/linkintegrity/handlers.py:3:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/handlers.py:4: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:9:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/handlers.py:10:1: I003 isort expected 1 blank line in imports, found 0
plone/app/linkintegrity/handlers.py:22:12: E701 multiple statements on one line (colon)
plone/app/linkintegrity/handlers.py:23:9: B901 blind except: statement
plone/app/linkintegrity/handlers.py:23:15: E701 multiple statements on one line (colon)
plone/app/linkintegrity/handlers.py:36:5: F841 local variable 'site' is assigned to but never used
plone/app/linkintegrity/handlers.py:39:80: E501 line too long (87 > 79 characters)
plone/app/linkintegrity/handlers.py:43:80: E501 line too long (82 > 79 characters)
plone/app/linkintegrity/handlers.py:78:12: P002 found "hasattr", consider replacing it
plone/app/linkintegrity/handlers.py:82:80: E501 line too long (80 > 79 characters)
plone/app/linkintegrity/handlers.py:92:12: P002 found "hasattr", consider replacing it
plone/app/linkintegrity/handlers.py:122:78: W291 trailing whitespace
plone/app/linkintegrity/handlers.py:131:45: W602 deprecated form of raising exception
plone/app/linkintegrity/handlers.py:132:1: W391 blank line at end of file
plone/app/linkintegrity/interfaces.py:0:1: C101 Coding magic comment not found
plone/app/linkintegrity/interfaces.py:42:1: W391 blank line at end of file
plone/app/linkintegrity/__init__.py:0:1: C101 Coding magic comment not found
plone/app/linkintegrity/__init__.py:6:1: W391 blank line at end of file
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:5:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/info.py:6:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/info.py:7:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/info.py:13:5: D001 found implements( replace it with zope.interface.implementer
plone/app/linkintegrity/info.py:27:80: E501 line too long (82 > 79 characters)
plone/app/linkintegrity/info.py:44:80: E501 line too long (82 > 79 characters)
plone/app/linkintegrity/info.py:48:80: E501 line too long (81 > 79 characters)
plone/app/linkintegrity/info.py:102:1: W391 blank line at end of file
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/utils.py:50:1: W391 blank line at end of file
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/parser.py:40:1: W391 blank line at end of file
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:34:1: E402 module level import not at top of file
plone/app/linkintegrity/monkey.py:34:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/monkey.py:35:1: E302 expected 2 blank lines, found 0
plone/app/linkintegrity/monkey.py:64:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/linkintegrity/monkey.py:64:1: E402 module level import not at top of file
plone/app/linkintegrity/monkey.py:64:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/monkey.py:66:1: W391 blank line at end of file
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:32:19: W601 .has_key() is deprecated, use 'in'
plone/app/linkintegrity/browser/confirmation.py:38:9: E731 do not assign a lambda expression, use a def
plone/app/linkintegrity/browser/confirmation.py:38:27: E231 missing whitespace after ','
plone/app/linkintegrity/browser/confirmation.py:47:41: E231 missing whitespace after ','
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/confirmation.py:66:1: W391 blank line at end of file
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:24:9: F841 local variable 'context' is assigned to but never used
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/remove.py:51:1: W391 blank line at end of file
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/browser/update.py:39:1: W391 blank line at end of file
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:26:1: E302 expected 2 blank lines, found 1
plone/app/linkintegrity/tests/testDocTests.py:44:48: S001 found module formatter
plone/app/linkintegrity/tests/testDocTests.py:69:80: E501 line too long (103 > 79 characters)
plone/app/linkintegrity/tests/testDocTests.py:78:1: E302 expected 2 blank lines, found 1
plone/app/linkintegrity/tests/testDocTests.py:86:16: E713 test for membership should be 'not in'
plone/app/linkintegrity/tests/testDocTests.py:88:21: E128 continuation line under-indented for visual indent
plone/app/linkintegrity/tests/testDocTests.py:89:21: E128 continuation line under-indented for visual indent
plone/app/linkintegrity/tests/testDocTests.py:90:21: E128 continuation line under-indented for visual indent
plone/app/linkintegrity/tests/testDocTests.py:92:1: W391 blank line at end of file
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/__init__.py:7:1: W391 blank line at end of file
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:6:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/layer.py:26:13: E128 continuation line under-indented for visual indent
plone/app/linkintegrity/tests/layer.py:28:13: E128 continuation line under-indented for visual indent
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:31:80: E501 line too long (83 > 79 characters)
plone/app/linkintegrity/tests/layer.py:34:80: E501 line too long (80 > 79 characters)
plone/app/linkintegrity/tests/layer.py:35:13: E128 continuation line under-indented for visual indent
plone/app/linkintegrity/tests/layer.py:36:80: E501 line too long (80 > 79 characters)
plone/app/linkintegrity/tests/layer.py:37:13: E128 continuation line under-indented for visual indent
plone/app/linkintegrity/tests/layer.py:38:80: E501 line too long (80 > 79 characters)
plone/app/linkintegrity/tests/layer.py:39:13: E128 continuation line under-indented for visual indent
plone/app/linkintegrity/tests/layer.py:60:80: E501 line too long (89 > 79 characters)
plone/app/linkintegrity/tests/layer.py:84:1: W391 blank line at end of file
```
Follow [these instructions](https://github.com/plone/jenkins.plone.org/blob/master/docs/source/run-qa-on-package.rst) to reproduce it locally.


@witsch Jenkins CI reporting about code analysis
See the full report here: http://jenkins.plone.org/job/package-plone.app.linkintegrity/14/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/exceptions.py:10:1: W391 blank line at end of file
plone/app/linkintegrity/handlers.py:0:1: C101 Coding magic comment not found
plone/app/linkintegrity/handlers.py:2:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/handlers.py:4: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: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: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:29:9: B901 blind except: statement
plone/app/linkintegrity/handlers.py:43:5: F841 local variable 'site' is assigned to but never used
plone/app/linkintegrity/handlers.py:46:80: E501 line too long (87 > 79 characters)
plone/app/linkintegrity/handlers.py:50:80: E501 line too long (82 > 79 characters)
plone/app/linkintegrity/handlers.py:55:1: C901 'modifiedArchetype' is too complex (15)
plone/app/linkintegrity/handlers.py:85:80: E501 line too long (89 > 79 characters)
plone/app/linkintegrity/handlers.py:91:13: B901 blind except: statement
plone/app/linkintegrity/handlers.py:93:21: E128 continuation line under-indented for visual indent
plone/app/linkintegrity/handlers.py:105:12: P002 found "hasattr", consider replacing it
plone/app/linkintegrity/handlers.py:109:80: E501 line too long (80 > 79 characters)
plone/app/linkintegrity/handlers.py:119:12: P002 found "hasattr", consider replacing it
plone/app/linkintegrity/handlers.py:149:78: W291 trailing whitespace
plone/app/linkintegrity/handlers.py:158:45: W602 deprecated form of raising exception
plone/app/linkintegrity/handlers.py:159:1: W391 blank line at end of file
plone/app/linkintegrity/interfaces.py:0:1: C101 Coding magic comment not found
plone/app/linkintegrity/interfaces.py:42:1: W391 blank line at end of file
plone/app/linkintegrity/__init__.py:0:1: C101 Coding magic comment not found
plone/app/linkintegrity/__init__.py:6:1: W391 blank line at end of file
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:5:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/info.py:6:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/info.py:7:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/info.py:13:5: D001 found implements( replace it with zope.interface.implementer
plone/app/linkintegrity/info.py:27:80: E501 line too long (82 > 79 characters)
plone/app/linkintegrity/info.py:44:80: E501 line too long (82 > 79 characters)
plone/app/linkintegrity/info.py:48:80: E501 line too long (81 > 79 characters)
plone/app/linkintegrity/info.py:102:1: W391 blank line at end of file
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/utils.py:50:1: W391 blank line at end of file
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/parser.py:40:1: W391 blank line at end of file
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:34:1: E402 module level import not at top of file
plone/app/linkintegrity/monkey.py:34:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/monkey.py:35:1: E302 expected 2 blank lines, found 0
plone/app/linkintegrity/monkey.py:64:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/linkintegrity/monkey.py:64:1: E402 module level import not at top of file
plone/app/linkintegrity/monkey.py:64:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/monkey.py:66:1: W391 blank line at end of file
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:32:19: W601 .has_key() is deprecated, use 'in'
plone/app/linkintegrity/browser/confirmation.py:38:9: E731 do not assign a lambda expression, use a def
plone/app/linkintegrity/browser/confirmation.py:38:27: E231 missing whitespace after ','
plone/app/linkintegrity/browser/confirmation.py:47:41: E231 missing whitespace after ','
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/confirmation.py:66:1: W391 blank line at end of file
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:24:9: F841 local variable 'context' is assigned to but never used
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/remove.py:51:1: W391 blank line at end of file
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/browser/update.py:39:1: W391 blank line at end of file
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:26:1: E302 expected 2 blank lines, found 1
plone/app/linkintegrity/tests/testDocTests.py:44:48: S001 found module formatter
plone/app/linkintegrity/tests/testDocTests.py:69:80: E501 line too long (103 > 79 characters)
plone/app/linkintegrity/tests/testDocTests.py:78:1: E302 expected 2 blank lines, found 1
plone/app/linkintegrity/tests/testDocTests.py:86:16: E713 test for membership should be 'not in'
plone/app/linkintegrity/tests/testDocTests.py:88:21: E128 continuation line under-indented for visual indent
plone/app/linkintegrity/tests/testDocTests.py:89:21: E128 continuation line under-indented for visual indent
plone/app/linkintegrity/tests/testDocTests.py:90:21: E128 continuation line under-indented for visual indent
plone/app/linkintegrity/tests/testDocTests.py:92:1: W391 blank line at end of file
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/__init__.py:7:1: W391 blank line at end of file
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:6:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/layer.py:26:13: E128 continuation line under-indented for visual indent
plone/app/linkintegrity/tests/layer.py:28:13: E128 continuation line under-indented for visual indent
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:31:80: E501 line too long (83 > 79 characters)
plone/app/linkintegrity/tests/layer.py:34:80: E501 line too long (80 > 79 characters)
plone/app/linkintegrity/tests/layer.py:35:13: E128 continuation line under-indented for visual indent
plone/app/linkintegrity/tests/layer.py:36:80: E501 line too long (80 > 79 characters)
plone/app/linkintegrity/tests/layer.py:37:13: E128 continuation line under-indented for visual indent
plone/app/linkintegrity/tests/layer.py:38:80: E501 line too long (80 > 79 characters)
plone/app/linkintegrity/tests/layer.py:39:13: E128 continuation line under-indented for visual indent
plone/app/linkintegrity/tests/layer.py:60:80: E501 line too long (89 > 79 characters)
plone/app/linkintegrity/tests/layer.py:84:1: W391 blank line at end of file
```
Follow [these instructions](https://github.com/plone/jenkins.plone.org/blob/master/docs/source/run-qa-on-package.rst) to reproduce it locally.


The old setMaskFromFootprint list also looped in order to set the mask, and was only called a few places. It was deemed not worth having a separate function for just that functionality when an explicit loop in a small number of places would do the same thing.


@witsch Jenkins CI reporting about code analysis
See the full report here: http://jenkins.plone.org/job/package-plone.app.linkintegrity/15/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/exceptions.py:10:1: W391 blank line at end of file
plone/app/linkintegrity/handlers.py:0:1: C101 Coding magic comment not found
plone/app/linkintegrity/handlers.py:2:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/handlers.py:4: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: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: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:29:9: B901 blind except: statement
plone/app/linkintegrity/handlers.py:43:5: F841 local variable 'site' is assigned to but never used
plone/app/linkintegrity/handlers.py:46:80: E501 line too long (87 > 79 characters)
plone/app/linkintegrity/handlers.py:50:80: E501 line too long (82 > 79 characters)
plone/app/linkintegrity/handlers.py:55:1: C901 'modifiedArchetype' is too complex (15)
plone/app/linkintegrity/handlers.py:85:80: E501 line too long (89 > 79 characters)
plone/app/linkintegrity/handlers.py:91:13: B901 blind except: statement
plone/app/linkintegrity/handlers.py:93:21: E128 continuation line under-indented for visual indent
plone/app/linkintegrity/handlers.py:105:12: P002 found "hasattr", consider replacing it
plone/app/linkintegrity/handlers.py:109:80: E501 line too long (80 > 79 characters)
plone/app/linkintegrity/handlers.py:119:12: P002 found "hasattr", consider replacing it
plone/app/linkintegrity/handlers.py:149:78: W291 trailing whitespace
plone/app/linkintegrity/handlers.py:158:45: W602 deprecated form of raising exception
plone/app/linkintegrity/handlers.py:159:1: W391 blank line at end of file
plone/app/linkintegrity/interfaces.py:0:1: C101 Coding magic comment not found
plone/app/linkintegrity/interfaces.py:42:1: W391 blank line at end of file
plone/app/linkintegrity/__init__.py:0:1: C101 Coding magic comment not found
plone/app/linkintegrity/__init__.py:6:1: W391 blank line at end of file
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:5:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/info.py:6:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/info.py:7:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/info.py:13:5: D001 found implements( replace it with zope.interface.implementer
plone/app/linkintegrity/info.py:27:80: E501 line too long (82 > 79 characters)
plone/app/linkintegrity/info.py:44:80: E501 line too long (82 > 79 characters)
plone/app/linkintegrity/info.py:48:80: E501 line too long (81 > 79 characters)
plone/app/linkintegrity/info.py:102:1: W391 blank line at end of file
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/utils.py:50:1: W391 blank line at end of file
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/parser.py:40:1: W391 blank line at end of file
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:34:1: E402 module level import not at top of file
plone/app/linkintegrity/monkey.py:34:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/monkey.py:35:1: E302 expected 2 blank lines, found 0
plone/app/linkintegrity/monkey.py:64:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/linkintegrity/monkey.py:64:1: E402 module level import not at top of file
plone/app/linkintegrity/monkey.py:64:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/monkey.py:66:1: W391 blank line at end of file
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:32:19: W601 .has_key() is deprecated, use 'in'
plone/app/linkintegrity/browser/confirmation.py:38:9: E731 do not assign a lambda expression, use a def
plone/app/linkintegrity/browser/confirmation.py:38:27: E231 missing whitespace after ','
plone/app/linkintegrity/browser/confirmation.py:47:41: E231 missing whitespace after ','
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/confirmation.py:66:1: W391 blank line at end of file
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:24:9: F841 local variable 'context' is assigned to but never used
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/remove.py:51:1: W391 blank line at end of file
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/browser/update.py:39:1: W391 blank line at end of file
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:26:1: E302 expected 2 blank lines, found 1
plone/app/linkintegrity/tests/testDocTests.py:44:48: S001 found module formatter
plone/app/linkintegrity/tests/testDocTests.py:69:80: E501 line too long (103 > 79 characters)
plone/app/linkintegrity/tests/testDocTests.py:78:1: E302 expected 2 blank lines, found 1
plone/app/linkintegrity/tests/testDocTests.py:86:16: E713 test for membership should be 'not in'
plone/app/linkintegrity/tests/testDocTests.py:88:21: E128 continuation line under-indented for visual indent
plone/app/linkintegrity/tests/testDocTests.py:89:21: E128 continuation line under-indented for visual indent
plone/app/linkintegrity/tests/testDocTests.py:90:21: E128 continuation line under-indented for visual indent
plone/app/linkintegrity/tests/testDocTests.py:92:1: W391 blank line at end of file
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/__init__.py:7:1: W391 blank line at end of file
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:6:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/layer.py:26:13: E128 continuation line under-indented for visual indent
plone/app/linkintegrity/tests/layer.py:28:13: E128 continuation line under-indented for visual indent
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:31:80: E501 line too long (83 > 79 characters)
plone/app/linkintegrity/tests/layer.py:34:80: E501 line too long (80 > 79 characters)
plone/app/linkintegrity/tests/layer.py:35:13: E128 continuation line under-indented for visual indent
plone/app/linkintegrity/tests/layer.py:36:80: E501 line too long (80 > 79 characters)
plone/app/linkintegrity/tests/layer.py:37:13: E128 continuation line under-indented for visual indent
plone/app/linkintegrity/tests/layer.py:38:80: E501 line too long (80 > 79 characters)
plone/app/linkintegrity/tests/layer.py:39:13: E128 continuation line under-indented for visual indent
plone/app/linkintegrity/tests/layer.py:60:80: E501 line too long (89 > 79 characters)
plone/app/linkintegrity/tests/layer.py:84:1: W391 blank line at end of file
```
Follow [these instructions](https://github.com/plone/jenkins.plone.org/blob/master/docs/source/run-qa-on-package.rst) to reproduce it locally.


@witsch Jenkins CI reporting about code analysis
See the full report here: http://jenkins.plone.org/job/package-plone.app.linkintegrity/16/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/exceptions.py:10:1: W391 blank line at end of file
plone/app/linkintegrity/handlers.py:0:1: C101 Coding magic comment not found
plone/app/linkintegrity/handlers.py:2:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/handlers.py:4: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: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: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:46:5: F841 local variable 'site' is assigned to but never used
plone/app/linkintegrity/handlers.py:49:80: E501 line too long (87 > 79 characters)
plone/app/linkintegrity/handlers.py:53:80: E501 line too long (82 > 79 characters)
plone/app/linkintegrity/handlers.py:58:1: C901 'modifiedArchetype' is too complex (15)
plone/app/linkintegrity/handlers.py:88:80: E501 line too long (89 > 79 characters)
plone/app/linkintegrity/handlers.py:94:13: B901 blind except: statement
plone/app/linkintegrity/handlers.py:96:21: E128 continuation line under-indented for visual indent
plone/app/linkintegrity/handlers.py:108:12: P002 found "hasattr", consider replacing it
plone/app/linkintegrity/handlers.py:112:80: E501 line too long (80 > 79 characters)
plone/app/linkintegrity/handlers.py:122:12: P002 found "hasattr", consider replacing it
plone/app/linkintegrity/handlers.py:152:78: W291 trailing whitespace
plone/app/linkintegrity/handlers.py:161:45: W602 deprecated form of raising exception
plone/app/linkintegrity/handlers.py:162:1: W391 blank line at end of file
plone/app/linkintegrity/interfaces.py:0:1: C101 Coding magic comment not found
plone/app/linkintegrity/interfaces.py:42:1: W391 blank line at end of file
plone/app/linkintegrity/__init__.py:0:1: C101 Coding magic comment not found
plone/app/linkintegrity/__init__.py:3:5: F401 'Products.Five.bbb.AcquisitionBBB' imported but unused
plone/app/linkintegrity/__init__.py:8:1: E302 expected 2 blank lines, found 1
plone/app/linkintegrity/__init__.py:16:78: W291 trailing whitespace
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:77:58: Q000 Remove bad quotes.
plone/app/linkintegrity/info.py:91:16: Q000 Remove bad quotes.
plone/app/linkintegrity/info.py:99:1: W391 blank line at end of file
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/parser.py:40:1: W391 blank line at end of file
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:34:1: E402 module level import not at top of file
plone/app/linkintegrity/monkey.py:34:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/monkey.py:35:1: E302 expected 2 blank lines, found 0
plone/app/linkintegrity/monkey.py:64:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/linkintegrity/monkey.py:64:1: E402 module level import not at top of file
plone/app/linkintegrity/monkey.py:64:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/monkey.py:66:1: W391 blank line at end of file
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:32:19: W601 .has_key() is deprecated, use 'in'
plone/app/linkintegrity/browser/confirmation.py:38:9: E731 do not assign a lambda expression, use a def
plone/app/linkintegrity/browser/confirmation.py:38:27: E231 missing whitespace after ','
plone/app/linkintegrity/browser/confirmation.py:47:41: E231 missing whitespace after ','
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/confirmation.py:66:1: W391 blank line at end of file
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:24:9: F841 local variable 'context' is assigned to but never used
plone/app/linkintegrity/browser/remove.py:32:1: W293 blank line contains whitespace
plone/app/linkintegrity/browser/remove.py:40:39: S001 found module formatter
plone/app/linkintegrity/browser/remove.py:41:45: S001 found module formatter
plone/app/linkintegrity/browser/remove.py:43:1: W293 blank line contains whitespace
plone/app/linkintegrity/browser/remove.py:49:1: W293 blank line contains whitespace
plone/app/linkintegrity/browser/remove.py:55:1: W293 blank line contains whitespace
plone/app/linkintegrity/browser/remove.py:63:1: W391 blank line at end of file
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/browser/update.py:39:1: W391 blank line at end of file
plone/app/linkintegrity/tests/testDocTests.py:0:1: C101 Coding magic comment not found
plone/app/linkintegrity/tests/testDocTests.py:3:1: I001 isort found an import in the wrong position
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:26:1: E302 expected 2 blank lines, found 1
plone/app/linkintegrity/tests/testDocTests.py:45:48: S001 found module formatter
plone/app/linkintegrity/tests/testDocTests.py:53:22: S001 found module formatter
plone/app/linkintegrity/tests/testDocTests.py:74:80: E501 line too long (103 > 79 characters)
plone/app/linkintegrity/tests/testDocTests.py:83:1: E302 expected 2 blank lines, found 1
plone/app/linkintegrity/tests/testDocTests.py:91:16: E713 test for membership should be 'not in'
plone/app/linkintegrity/tests/testDocTests.py:93:21: E128 continuation line under-indented for visual indent
plone/app/linkintegrity/tests/testDocTests.py:94:21: E128 continuation line under-indented for visual indent
plone/app/linkintegrity/tests/testDocTests.py:95:21: E128 continuation line under-indented for visual indent
plone/app/linkintegrity/tests/testDocTests.py:97:1: W391 blank line at end of file
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/__init__.py:7:1: W391 blank line at end of file
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:6:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/layer.py:26:13: E128 continuation line under-indented for visual indent
plone/app/linkintegrity/tests/layer.py:28:13: E128 continuation line under-indented for visual indent
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:31:80: E501 line too long (83 > 79 characters)
plone/app/linkintegrity/tests/layer.py:34:80: E501 line too long (80 > 79 characters)
plone/app/linkintegrity/tests/layer.py:35:13: E128 continuation line under-indented for visual indent
plone/app/linkintegrity/tests/layer.py:36:80: E501 line too long (80 > 79 characters)
plone/app/linkintegrity/tests/layer.py:37:13: E128 continuation line under-indented for visual indent
plone/app/linkintegrity/tests/layer.py:38:80: E501 line too long (80 > 79 characters)
plone/app/linkintegrity/tests/layer.py:39:13: E128 continuation line under-indented for visual indent
plone/app/linkintegrity/tests/layer.py:60:80: E501 line too long (89 > 79 characters)
plone/app/linkintegrity/tests/layer.py:84:1: W391 blank line at end of file
```
Follow [these instructions](https://github.com/plone/jenkins.plone.org/blob/master/docs/source/run-qa-on-package.rst) to reproduce it locally.


![](https://github.trello.services/images/mini-trello-icon.png) [SI Ajustes - Assinatura CTPS](https://trello.com/c/2Thnd0Xg/97-si-ajustes-assinatura-ctps)


@witsch Jenkins CI reporting about code analysis
See the full report here: http://jenkins.plone.org/job/package-plone.app.linkintegrity/12/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/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:34:1: E402 module level import not at top of file
plone/app/linkintegrity/monkey.py:34:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/monkey.py:35:1: E302 expected 2 blank lines, found 0
plone/app/linkintegrity/monkey.py:64:1: E305 expected 2 blank lines after class or function definition, found 1
plone/app/linkintegrity/monkey.py:64:1: E402 module level import not at top of file
plone/app/linkintegrity/monkey.py:64:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/monkey.py:66:1: W391 blank line at end of file
plone/app/linkintegrity/interfaces.py:0:1: C101 Coding magic comment not found
plone/app/linkintegrity/interfaces.py:42:1: W391 blank line at end of file
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/utils.py:50:1: W391 blank line at end of file
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:5:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/info.py:6:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/info.py:7:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/info.py:13:5: D001 found implements( replace it with zope.interface.implementer
plone/app/linkintegrity/info.py:27:80: E501 line too long (82 > 79 characters)
plone/app/linkintegrity/info.py:44:80: E501 line too long (82 > 79 characters)
plone/app/linkintegrity/info.py:48:80: E501 line too long (81 > 79 characters)
plone/app/linkintegrity/info.py:102:1: W391 blank line at end of file
plone/app/linkintegrity/handlers.py:0:1: C101 Coding magic comment not found
plone/app/linkintegrity/handlers.py:3:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/handlers.py:4: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:9:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/handlers.py:10:1: I003 isort expected 1 blank line in imports, found 0
plone/app/linkintegrity/handlers.py:19:12: E701 multiple statements on one line (colon)
plone/app/linkintegrity/handlers.py:20:9: B901 blind except: statement
plone/app/linkintegrity/handlers.py:20:15: E701 multiple statements on one line (colon)
plone/app/linkintegrity/handlers.py:33:5: F841 local variable 'site' is assigned to but never used
plone/app/linkintegrity/handlers.py:36:80: E501 line too long (87 > 79 characters)
plone/app/linkintegrity/handlers.py:40:80: E501 line too long (82 > 79 characters)
plone/app/linkintegrity/handlers.py:75:12: P002 found "hasattr", consider replacing it
plone/app/linkintegrity/handlers.py:79:80: E501 line too long (80 > 79 characters)
plone/app/linkintegrity/handlers.py:89:12: P002 found "hasattr", consider replacing it
plone/app/linkintegrity/handlers.py:119:78: W291 trailing whitespace
plone/app/linkintegrity/handlers.py:128:45: W602 deprecated form of raising exception
plone/app/linkintegrity/handlers.py:129:1: W391 blank line at end of file
plone/app/linkintegrity/__init__.py:0:1: C101 Coding magic comment not found
plone/app/linkintegrity/__init__.py:6:1: W391 blank line at end of file
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/exceptions.py:10:1: W391 blank line at end of file
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/parser.py:40:1: W391 blank line at end of file
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/__init__.py:7:1: W391 blank line at end of file
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:26:1: E302 expected 2 blank lines, found 1
plone/app/linkintegrity/tests/testDocTests.py:44:48: S001 found module formatter
plone/app/linkintegrity/tests/testDocTests.py:69:80: E501 line too long (103 > 79 characters)
plone/app/linkintegrity/tests/testDocTests.py:78:1: E302 expected 2 blank lines, found 1
plone/app/linkintegrity/tests/testDocTests.py:86:16: E713 test for membership should be 'not in'
plone/app/linkintegrity/tests/testDocTests.py:88:21: E128 continuation line under-indented for visual indent
plone/app/linkintegrity/tests/testDocTests.py:89:21: E128 continuation line under-indented for visual indent
plone/app/linkintegrity/tests/testDocTests.py:90:21: E128 continuation line under-indented for visual indent
plone/app/linkintegrity/tests/testDocTests.py:92:1: W391 blank line at end of file
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:6:1: I001 isort found an import in the wrong position
plone/app/linkintegrity/tests/layer.py:26:13: E128 continuation line under-indented for visual indent
plone/app/linkintegrity/tests/layer.py:28:13: E128 continuation line under-indented for visual indent
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:31: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/layer.py:45:80: E501 line too long (89 > 79 characters)
plone/app/linkintegrity/tests/layer.py:69:1: W391 blank line at end of file
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:24:9: F841 local variable 'context' is assigned to but never used
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/remove.py:51:1: W391 blank line at end of file
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/browser/update.py:39:1: W391 blank line at end of file
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:32:19: W601 .has_key() is deprecated, use 'in'
plone/app/linkintegrity/browser/confirmation.py:38:9: E731 do not assign a lambda expression, use a def
plone/app/linkintegrity/browser/confirmation.py:38:27: E231 missing whitespace after ','
plone/app/linkintegrity/browser/confirmation.py:47:41: E231 missing whitespace after ','
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/confirmation.py:66:1: W391 blank line at end of file
plone/app/linkintegrity/browser/__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.


Any suggestions for improvement are most welcome.


задать дополнительный уточняющий класс для каждого итема, типо material, tools и т.д.