@witsch Jenkins CI reporting about code analysis
See the full report here: http://jenkins.plone.org/job/package-plone.app.blob/12/violations
```
src/plone/__init__.py:0:1: C101 Coding magic comment not found
src/plone/__init__.py:6:36: E261 at least two spaces before inline comment
src/plone/app/__init__.py:0:1: C101 Coding magic comment not found
src/plone/app/__init__.py:6:36: E261 at least two spaces before inline comment
src/plone/app/blob/config.py:0:1: C101 Coding magic comment not found
src/plone/app/blob/config.py:9:1: W391 blank line at end of file
src/plone/app/blob/iterators.py:0:1: C101 Coding magic comment not found
src/plone/app/blob/iterators.py:4:1: I001 isort found an import in the wrong position
src/plone/app/blob/iterators.py:11:9: D001 found implements( replace it with zope.interface.implementer
src/plone/app/blob/iterators.py:15:52: E227 missing whitespace around bitwise or shift operator
src/plone/app/blob/scale.py:0:1: C101 Coding magic comment not found
src/plone/app/blob/scale.py:3:1: I001 isort found an import in the wrong position
src/plone/app/blob/scale.py:4:1: I001 isort found an import in the wrong position
src/plone/app/blob/scale.py:5:1: I001 isort found an import in the wrong position
src/plone/app/blob/scale.py:6:1: I001 isort found an import in the wrong position
src/plone/app/blob/scale.py:7:1: I001 isort found an import in the wrong position
src/plone/app/blob/scale.py:12:5: D001 found implements( replace it with zope.interface.implementer
src/plone/app/blob/scale.py:13:5: D001 found adapts( replace it with zope.component.adapter
src/plone/app/blob/scale.py:25:17: E128 continuation line under-indented for visual indent
src/plone/app/blob/scale.py:35:1: W391 blank line at end of file
src/plone/app/blob/content.py:0:1: C101 Coding magic comment not found
src/plone/app/blob/content.py:1:1: I001 isort found an import in the wrong position
src/plone/app/blob/content.py:2:1: I001 isort found an import in the wrong position
src/plone/app/blob/content.py:3:1: I001 isort found an import in the wrong position
src/plone/app/blob/content.py:4:1: I001 isort found an import in the wrong position
src/plone/app/blob/content.py:5:1: I004 isort found an unexpected blank line in imports
src/plone/app/blob/content.py:8:1: I001 isort found an import in the wrong position
src/plone/app/blob/content.py:12:1: I001 isort found an import in the wrong position
src/plone/app/blob/content.py:13:1: I001 isort found an import in the wrong position
src/plone/app/blob/content.py:18:1: I004 isort found an unexpected blank line in imports
src/plone/app/blob/content.py:19:1: I001 isort found an import in the wrong position
src/plone/app/blob/content.py:20:1: I001 isort found an import in the wrong position
src/plone/app/blob/content.py:21:1: I001 isort found an import in the wrong position
src/plone/app/blob/content.py:22:1: I001 isort found an import in the wrong position
src/plone/app/blob/content.py:23:1: I001 isort found an import in the wrong position
src/plone/app/blob/content.py:45:1: E302 expected 2 blank lines, found 1
src/plone/app/blob/content.py:48:1: E302 expected 2 blank lines, found 1
src/plone/app/blob/content.py:54:5: D001 found implements( replace it with zope.interface.implementer
src/plone/app/blob/content.py:63:13: E221 multiple spaces before operator
src/plone/app/blob/content.py:65:14: D001 found declareProtected( replace it with AccessControl.ClassSecurityInfo.protected
src/plone/app/blob/content.py:66:5: E301 expected 1 blank line, found 0
src/plone/app/blob/content.py:76:14: D001 found declarePrivate( replace it with AccessControl.ClassSecurityInfo.private
src/plone/app/blob/content.py:77:5: E301 expected 1 blank line, found 0
src/plone/app/blob/content.py:82:14: D001 found declareProtected( replace it with AccessControl.ClassSecurityInfo.protected
src/plone/app/blob/content.py:83:5: E301 expected 1 blank line, found 0
src/plone/app/blob/content.py:88:14: D001 found declareProtected( replace it with AccessControl.ClassSecurityInfo.protected
src/plone/app/blob/content.py:89:5: E301 expected 1 blank line, found 0
src/plone/app/blob/content.py:96:14: D001 found declarePrivate( replace it with AccessControl.ClassSecurityInfo.private
src/plone/app/blob/content.py:97:5: E301 expected 1 blank line, found 0
src/plone/app/blob/content.py:112:17: E128 continuation line under-indented for visual indent
src/plone/app/blob/content.py:115:9: B901 blind except: statement
src/plone/app/blob/content.py:117:16: E128 continuation line under-indented for visual indent
src/plone/app/blob/content.py:121:14: D001 found declareProtected( replace it with AccessControl.ClassSecurityInfo.protected
src/plone/app/blob/content.py:122:5: E301 expected 1 blank line, found 0
src/plone/app/blob/content.py:139:14: D001 found declareProtected( replace it with AccessControl.ClassSecurityInfo.protected
src/plone/app/blob/content.py:140:5: E301 expected 1 blank line, found 0
src/plone/app/blob/content.py:144:14: D001 found declareProtected( replace it with AccessControl.ClassSecurityInfo.protected
src/plone/app/blob/content.py:145:5: E301 expected 1 blank line, found 0
src/plone/app/blob/content.py:149:14: D001 found declarePublic( replace it with AccessControl.ClassSecurityInfo.public
src/plone/app/blob/content.py:150:5: E301 expected 1 blank line, found 0
src/plone/app/blob/content.py:156:35: F841 local variable 'msg' is assigned to but never used
src/plone/app/blob/content.py:162:35: E201 whitespace after '('
src/plone/app/blob/content.py:162:54: E202 whitespace before ')'
src/plone/app/blob/content.py:170:1: W391 blank line at end of file
src/plone/app/blob/interfaces.py:0:1: C101 Coding magic comment not found
src/plone/app/blob/interfaces.py:2:1: I001 isort found an import in the wrong position
src/plone/app/blob/interfaces.py:3:1: I001 isort found an import in the wrong position
src/plone/app/blob/interfaces.py:9:34: E251 unexpected spaces around keyword / parameter equals
src/plone/app/blob/interfaces.py:9:36: E251 unexpected spaces around keyword / parameter equals
src/plone/app/blob/interfaces.py:9:39: Q000 Remove bad quotes.
src/plone/app/blob/interfaces.py:11:30: E251 unexpected spaces around keyword / parameter equals
src/plone/app/blob/interfaces.py:11:32: E251 unexpected spaces around keyword / parameter equals
src/plone/app/blob/interfaces.py:11:35: Q000 Remove bad quotes.
src/plone/app/blob/interfaces.py:12:9: E128 continuation line under-indented for visual indent
src/plone/app/blob/interfaces.py:12:20: E251 unexpected spaces around keyword / parameter equals
src/plone/app/blob/interfaces.py:12:22: E251 unexpected spaces around keyword / parameter equals
src/plone/app/blob/interfaces.py:12:25: Q000 Remove bad quotes.
src/plone/app/blob/interfaces.py:13:9: E128 continuation line under-indented for visual indent
src/plone/app/blob/interfaces.py:13:17: E251 unexpected spaces around keyword / parameter equals
src/plone/app/blob/interfaces.py:13:19: E251 unexpected spaces around keyword / parameter equals
src/plone/app/blob/__init__.py:0:1: C101 Coding magic comment not found
src/plone/app/blob/__init__.py:1:1: I001 isort found an import in the wrong position
src/plone/app/blob/__init__.py:26:27: Q000 Remove bad quotes.
src/plone/app/blob/__init__.py:26:27: S001 found module formatter
src/plone/app/blob/__init__.py:27:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/__init__.py:27:26: E221 multiple spaces before operator
src/plone/app/blob/__init__.py:27:26: E251 unexpected spaces around keyword / parameter equals
src/plone/app/blob/__init__.py:27:33: E251 unexpected spaces around keyword / parameter equals
src/plone/app/blob/__init__.py:28:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/__init__.py:28:23: E221 multiple spaces before operator
src/plone/app/blob/__init__.py:28:23: E251 unexpected spaces around keyword / parameter equals
src/plone/app/blob/__init__.py:28:33: E251 unexpected spaces around keyword / parameter equals
src/plone/app/blob/__init__.py:29:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/__init__.py:29:31: E251 unexpected spaces around keyword / parameter equals
src/plone/app/blob/__init__.py:29:33: E251 unexpected spaces around keyword / parameter equals
src/plone/app/blob/__init__.py:30:13: E124 closing bracket does not match visual indentation
src/plone/app/blob/__init__.py:31:1: W391 blank line at end of file
src/plone/app/blob/markings.py:0:1: C101 Coding magic comment not found
src/plone/app/blob/markings.py:4:1: I001 isort found an import in the wrong position
src/plone/app/blob/markings.py:5:1: I001 isort found an import in the wrong position
src/plone/app/blob/markings.py:6:1: I001 isort found an import in the wrong position
src/plone/app/blob/markings.py:7:1: I001 isort found an import in the wrong position
src/plone/app/blob/markings.py:8:1: I004 isort found an unexpected blank line in imports
src/plone/app/blob/markings.py:9:1: I001 isort found an import in the wrong position
src/plone/app/blob/markings.py:15:14: E201 whitespace after '['
src/plone/app/blob/markings.py:15:49: E202 whitespace before ']'
src/plone/app/blob/markings.py:16:14: E201 whitespace after '['
src/plone/app/blob/markings.py:16:49: E202 whitespace before ']'
src/plone/app/blob/markings.py:17:15: E201 whitespace after '['
src/plone/app/blob/markings.py:17:53: E202 whitespace before ']'
src/plone/app/blob/markings.py:21:14: E201 whitespace after '['
src/plone/app/blob/markings.py:21:24: E202 whitespace before ']'
src/plone/app/blob/markings.py:22:14: E201 whitespace after '['
src/plone/app/blob/markings.py:22:24: E202 whitespace before ']'
src/plone/app/blob/markings.py:23:15: E201 whitespace after '['
src/plone/app/blob/markings.py:23:26: E202 whitespace before ']'
src/plone/app/blob/markings.py:26:1: E302 expected 2 blank lines, found 1
src/plone/app/blob/markings.py:34:1: E302 expected 2 blank lines, found 1
src/plone/app/blob/utils.py:0:1: C101 Coding magic comment not found
src/plone/app/blob/utils.py:4:1: I001 isort found an import in the wrong position
src/plone/app/blob/utils.py:5:1: I001 isort found an import in the wrong position
src/plone/app/blob/utils.py:21:80: E501 line too long (82 > 79 characters)
src/plone/app/blob/utils.py:38:1: W391 blank line at end of file
src/plone/app/blob/monkey.py:0:1: C101 Coding magic comment not found
src/plone/app/blob/monkey.py:8:1: I001 isort found an import in the wrong position
src/plone/app/blob/monkey.py:9:1: I001 isort found an import in the wrong position
src/plone/app/blob/monkey.py:10:1: I001 isort found an import in the wrong position
src/plone/app/blob/monkey.py:11:1: I001 isort found an import in the wrong position
src/plone/app/blob/monkey.py:42:1: E302 expected 2 blank lines, found 0
src/plone/app/blob/monkey.py:45:12: P002 found "hasattr", consider replacing it
src/plone/app/blob/monkey.py:77:1: E305 expected 2 blank lines after class or function definition, found 1
src/plone/app/blob/monkey.py:78:1: W391 blank line at end of file
src/plone/app/blob/migrations.py:0:1: C101 Coding magic comment not found
src/plone/app/blob/migrations.py:50:1: E302 expected 2 blank lines, found 1
src/plone/app/blob/migrations.py:62:1: E302 expected 2 blank lines, found 1
src/plone/app/blob/migrations.py:85:1: E302 expected 2 blank lines, found 1
src/plone/app/blob/migrations.py:87:1: W391 blank line at end of file
src/plone/app/blob/field.py:0:1: C101 Coding magic comment not found
src/plone/app/blob/field.py:1:1: I001 isort found an import in the wrong position
src/plone/app/blob/field.py:2:1: I001 isort found an import in the wrong position
src/plone/app/blob/field.py:3:1: I001 isort found an import in the wrong position
src/plone/app/blob/field.py:5:1: I001 isort found an import in the wrong position
src/plone/app/blob/field.py:8:1: I001 isort found an import in the wrong position
src/plone/app/blob/field.py:9:1: I001 isort found an import in the wrong position
src/plone/app/blob/field.py:11:1: I001 isort found an import in the wrong position
src/plone/app/blob/field.py:12:1: I001 isort found an import in the wrong position
src/plone/app/blob/field.py:13:1: I004 isort found an unexpected blank line in imports
src/plone/app/blob/field.py:14:1: I001 isort found an import in the wrong position
src/plone/app/blob/field.py:15:1: I001 isort found an import in the wrong position
src/plone/app/blob/field.py:19:1: I004 isort found an unexpected blank line in imports
src/plone/app/blob/field.py:20:1: I001 isort found an import in the wrong position
src/plone/app/blob/field.py:21:1: I001 isort found an import in the wrong position
src/plone/app/blob/field.py:22:1: I001 isort found an import in the wrong position
src/plone/app/blob/field.py:23:1: I001 isort found an import in the wrong position
src/plone/app/blob/field.py:24:1: I001 isort found an import in the wrong position
src/plone/app/blob/field.py:30:5: D001 found implements( replace it with zope.interface.implementer
src/plone/app/blob/field.py:33:10: E111 indentation is not a multiple of four
src/plone/app/blob/field.py:34:10: E111 indentation is not a multiple of four
src/plone/app/blob/field.py:35:10: E111 indentation is not a multiple of four
src/plone/app/blob/field.py:36:10: E111 indentation is not a multiple of four
src/plone/app/blob/field.py:41:6: E111 indentation is not a multiple of four
src/plone/app/blob/field.py:42:10: E111 indentation is not a multiple of four
src/plone/app/blob/field.py:43:10: E111 indentation is not a multiple of four
src/plone/app/blob/field.py:44:10: E111 indentation is not a multiple of four
src/plone/app/blob/field.py:49:5: D001 found implements( replace it with zope.interface.implementer
src/plone/app/blob/field.py:58:14: D001 found declarePrivate( replace it with AccessControl.ClassSecurityInfo.private
src/plone/app/blob/field.py:59:5: E301 expected 1 blank line, found 0
src/plone/app/blob/field.py:63:14: D001 found declarePrivate( replace it with AccessControl.ClassSecurityInfo.private
src/plone/app/blob/field.py:64:5: E301 expected 1 blank line, found 0
src/plone/app/blob/field.py:68:14: D001 found declarePrivate( replace it with AccessControl.ClassSecurityInfo.private
src/plone/app/blob/field.py:69:5: E301 expected 1 blank line, found 0
src/plone/app/blob/field.py:73:14: D001 found declareProtected( replace it with AccessControl.ClassSecurityInfo.protected
src/plone/app/blob/field.py:74:5: E301 expected 1 blank line, found 0
src/plone/app/blob/field.py:86:14: D001 found declareProtected( replace it with AccessControl.ClassSecurityInfo.protected
src/plone/app/blob/field.py:87:5: E301 expected 1 blank line, found 0
src/plone/app/blob/field.py:95:14: D001 found declareProtected( replace it with AccessControl.ClassSecurityInfo.protected
src/plone/app/blob/field.py:96:5: E301 expected 1 blank line, found 0
src/plone/app/blob/field.py:102:14: D001 found declareProtected( replace it with AccessControl.ClassSecurityInfo.protected
src/plone/app/blob/field.py:103:5: E301 expected 1 blank line, found 0
src/plone/app/blob/field.py:109:14: D001 found declarePrivate( replace it with AccessControl.ClassSecurityInfo.private
src/plone/app/blob/field.py:110:5: E301 expected 1 blank line, found 0
src/plone/app/blob/field.py:112:80: E501 line too long (96 > 79 characters)
src/plone/app/blob/field.py:115:14: D001 found declarePublic( replace it with AccessControl.ClassSecurityInfo.public
src/plone/app/blob/field.py:116:5: E301 expected 1 blank line, found 0
src/plone/app/blob/field.py:120:14: D001 found declarePrivate( replace it with AccessControl.ClassSecurityInfo.private
src/plone/app/blob/field.py:121:5: E301 expected 1 blank line, found 0
src/plone/app/blob/field.py:129:14: D001 found declarePrivate( replace it with AccessControl.ClassSecurityInfo.private
src/plone/app/blob/field.py:130:5: E301 expected 1 blank line, found 0
src/plone/app/blob/field.py:157:5: D001 found implements( replace it with zope.interface.implementer
src/plone/app/blob/field.py:161:15: E203 whitespace before ':'
src/plone/app/blob/field.py:162:18: E203 whitespace before ':'
src/plone/app/blob/field.py:163:18: E203 whitespace before ':'
src/plone/app/blob/field.py:164:17: E203 whitespace before ':'
src/plone/app/blob/field.py:165:31: E203 whitespace before ':'
src/plone/app/blob/field.py:170:14: D001 found declarePrivate( replace it with AccessControl.ClassSecurityInfo.private
src/plone/app/blob/field.py:171:5: E301 expected 1 blank line, found 0
src/plone/app/blob/field.py:174:14: D001 found declarePrivate( replace it with AccessControl.ClassSecurityInfo.private
src/plone/app/blob/field.py:175:5: E301 expected 1 blank line, found 0
src/plone/app/blob/field.py:182:14: D001 found declarePrivate( replace it with AccessControl.ClassSecurityInfo.private
src/plone/app/blob/field.py:183:5: E301 expected 1 blank line, found 0
src/plone/app/blob/field.py:186:21: Q000 Remove bad quotes.
src/plone/app/blob/field.py:193:80: E501 line too long (85 > 79 characters)
src/plone/app/blob/field.py:205:14: D001 found declarePrivate( replace it with AccessControl.ClassSecurityInfo.private
src/plone/app/blob/field.py:206:5: E301 expected 1 blank line, found 0
src/plone/app/blob/field.py:211:80: E501 line too long (82 > 79 characters)
src/plone/app/blob/field.py:218:80: E501 line too long (84 > 79 characters)
src/plone/app/blob/field.py:226:14: D001 found declareProtected( replace it with AccessControl.ClassSecurityInfo.protected
src/plone/app/blob/field.py:227:5: E301 expected 1 blank line, found 0
src/plone/app/blob/field.py:229:80: E501 line too long (85 > 79 characters)
src/plone/app/blob/field.py:231:14: D001 found declareProtected( replace it with AccessControl.ClassSecurityInfo.protected
src/plone/app/blob/field.py:232:5: E301 expected 1 blank line, found 0
src/plone/app/blob/field.py:232:80: E501 line too long (86 > 79 characters)
src/plone/app/blob/field.py:245:32: Q000 Remove bad quotes.
src/plone/app/blob/field.py:249:28: Q000 Remove bad quotes.
src/plone/app/blob/field.py:252:14: D001 found declarePublic( replace it with AccessControl.ClassSecurityInfo.public
src/plone/app/blob/field.py:253:5: E301 expected 1 blank line, found 0
src/plone/app/blob/field.py:261:14: D001 found declarePublic( replace it with AccessControl.ClassSecurityInfo.public
src/plone/app/blob/field.py:262:5: E301 expected 1 blank line, found 0
src/plone/app/blob/field.py:270:14: D001 found declarePrivate( replace it with AccessControl.ClassSecurityInfo.private
src/plone/app/blob/field.py:271:5: E301 expected 1 blank line, found 0
src/plone/app/blob/mixins.py:0:1: C101 Coding magic comment not found
src/plone/app/blob/mixins.py:3:1: I001 isort found an import in the wrong position
src/plone/app/blob/mixins.py:6:1: I004 isort found an unexpected blank line in imports
src/plone/app/blob/mixins.py:7:1: I001 isort found an import in the wrong position
src/plone/app/blob/mixins.py:13:13: E221 multiple spaces before operator
src/plone/app/blob/mixins.py:15:14: D001 found declareProtected( replace it with AccessControl.ClassSecurityInfo.protected
src/plone/app/blob/mixins.py:16:5: E301 expected 1 blank line, found 0
src/plone/app/blob/mixins.py:27:14: D001 found declareProtected( replace it with AccessControl.ClassSecurityInfo.protected
src/plone/app/blob/mixins.py:28:5: E301 expected 1 blank line, found 0
src/plone/app/blob/mixins.py:45:14: D001 found declareProtected( replace it with AccessControl.ClassSecurityInfo.protected
src/plone/app/blob/mixins.py:46:5: E301 expected 1 blank line, found 0
src/plone/app/blob/mixins.py:51:14: D001 found declareProtected( replace it with AccessControl.ClassSecurityInfo.protected
src/plone/app/blob/mixins.py:52:5: E301 expected 1 blank line, found 0
src/plone/app/blob/mixins.py:59:14: D001 found declareProtected( replace it with AccessControl.ClassSecurityInfo.protected
src/plone/app/blob/mixins.py:60:5: E301 expected 1 blank line, found 0
src/plone/app/blob/mixins.py:64:14: D001 found declareProtected( replace it with AccessControl.ClassSecurityInfo.protected
src/plone/app/blob/mixins.py:65:5: E301 expected 1 blank line, found 0
src/plone/app/blob/mixins.py:69:14: D001 found declareProtected( replace it with AccessControl.ClassSecurityInfo.protected
src/plone/app/blob/mixins.py:70:5: E301 expected 1 blank line, found 0
src/plone/app/blob/mixins.py:73:14: D001 found declareProtected( replace it with AccessControl.ClassSecurityInfo.protected
src/plone/app/blob/mixins.py:74:5: E301 expected 1 blank line, found 0
src/plone/app/blob/mixins.py:80:1: W391 blank line at end of file
src/plone/app/blob/browser/__init__.py:0:1: C101 Coding magic comment not found
src/plone/app/blob/browser/migration.py:0:1: C101 Coding magic comment not found
src/plone/app/blob/browser/migration.py:6:1: I004 isort found an unexpected blank line in imports
src/plone/app/blob/browser/migration.py:7:1: I001 isort found an import in the wrong position
src/plone/app/blob/browser/migration.py:8:1: I001 isort found an import in the wrong position
src/plone/app/blob/browser/migration.py:9:1: I001 isort found an import in the wrong position
src/plone/app/blob/browser/migration.py:10:1: I001 isort found an import in the wrong position
src/plone/app/blob/browser/migration.py:11:1: I001 isort found an import in the wrong position
src/plone/app/blob/browser/migration.py:12:1: I001 isort found an import in the wrong position
src/plone/app/blob/browser/migration.py:13:1: I001 isort found an import in the wrong position
src/plone/app/blob/browser/migration.py:27:80: E501 line too long (88 > 79 characters)
src/plone/app/blob/browser/migration.py:29:24: E201 whitespace after '{'
src/plone/app/blob/browser/migration.py:29:43: E202 whitespace before '}'
src/plone/app/blob/browser/migration.py:34:17: E128 continuation line under-indented for visual indent
src/plone/app/blob/browser/migration.py:35:17: E128 continuation line under-indented for visual indent
src/plone/app/blob/browser/migration.py:37:24: E201 whitespace after '{'
src/plone/app/blob/browser/migration.py:37:57: E202 whitespace before '}'
src/plone/app/blob/browser/migration.py:44:24: E201 whitespace after '{'
src/plone/app/blob/browser/migration.py:44:62: E202 whitespace before '}'
src/plone/app/blob/browser/migration.py:58:1: W391 blank line at end of file
src/plone/app/blob/browser/maintenance.py:0:1: C101 Coding magic comment not found
src/plone/app/blob/browser/maintenance.py:2:1: I001 isort found an import in the wrong position
src/plone/app/blob/browser/maintenance.py:3:1: I001 isort found an import in the wrong position
src/plone/app/blob/browser/maintenance.py:4:1: I001 isort found an import in the wrong position
src/plone/app/blob/browser/maintenance.py:5:1: I001 isort found an import in the wrong position
src/plone/app/blob/browser/maintenance.py:6:1: I001 isort found an import in the wrong position
src/plone/app/blob/browser/maintenance.py:7:1: I004 isort found an unexpected blank line in imports
src/plone/app/blob/browser/maintenance.py:18:19: S001 found module formatter
src/plone/app/blob/browser/maintenance.py:38:9: E306 expected 1 blank line before a nested definition, found 0
src/plone/app/blob/browser/maintenance.py:51:9: E306 expected 1 blank line before a nested definition, found 0
src/plone/app/blob/browser/maintenance.py:52:17: S001 found module formatter
src/plone/app/blob/browser/maintenance.py:63:17: S001 found module formatter
src/plone/app/blob/browser/maintenance.py:67:15: S001 found module formatter
src/plone/app/blob/adapters/blobwrapper.py:0:1: C101 Coding magic comment not found
src/plone/app/blob/adapters/blobwrapper.py:2:1: I001 isort found an import in the wrong position
src/plone/app/blob/adapters/blobwrapper.py:3:1: I004 isort found an unexpected blank line in imports
src/plone/app/blob/adapters/blobwrapper.py:4:1: I001 isort found an import in the wrong position
src/plone/app/blob/adapters/blobwrapper.py:5:1: I001 isort found an import in the wrong position
src/plone/app/blob/adapters/blobwrapper.py:10:5: D001 found implements( replace it with zope.interface.implementer
src/plone/app/blob/adapters/blobwrapper.py:11:5: D001 found adapts( replace it with zope.component.adapter
src/plone/app/blob/adapters/blobwrapper.py:18:24: W602 deprecated form of raising exception
src/plone/app/blob/adapters/blobwrapper.py:27:1: W391 blank line at end of file
src/plone/app/blob/adapters/atimage.py:0:1: C101 Coding magic comment not found
src/plone/app/blob/adapters/atimage.py:2:1: I004 isort found an unexpected blank line in imports
src/plone/app/blob/adapters/atimage.py:3:1: I001 isort found an import in the wrong position
src/plone/app/blob/adapters/atimage.py:4:1: I001 isort found an import in the wrong position
src/plone/app/blob/adapters/atimage.py:9:5: D001 found adapts( replace it with zope.component.adapter
src/plone/app/blob/adapters/atimage.py:16:1: W391 blank line at end of file
src/plone/app/blob/adapters/webdav.py:0:1: C101 Coding magic comment not found
src/plone/app/blob/adapters/webdav.py:1:1: I001 isort found an import in the wrong position
src/plone/app/blob/adapters/webdav.py:2:1: I001 isort found an import in the wrong position
src/plone/app/blob/adapters/webdav.py:3:1: I004 isort found an unexpected blank line in imports
src/plone/app/blob/adapters/webdav.py:11:5: D001 found implements( replace it with zope.interface.implementer
src/plone/app/blob/adapters/webdav.py:12:5: D001 found adapts( replace it with zope.component.adapter
src/plone/app/blob/adapters/webdav.py:34:1: W391 blank line at end of file
src/plone/app/blob/adapters/__init__.py:0:1: C101 Coding magic comment not found
src/plone/app/blob/adapters/atfile.py:0:1: C101 Coding magic comment not found
src/plone/app/blob/adapters/atfile.py:2:1: I001 isort found an import in the wrong position
src/plone/app/blob/adapters/atfile.py:3:1: I004 isort found an unexpected blank line in imports
src/plone/app/blob/adapters/atfile.py:4:1: I001 isort found an import in the wrong position
src/plone/app/blob/adapters/atfile.py:5:1: I004 isort found an unexpected blank line in imports
src/plone/app/blob/adapters/atfile.py:6:1: I001 isort found an import in the wrong position
src/plone/app/blob/adapters/atfile.py:11:5: D001 found implements( replace it with zope.interface.implementer
src/plone/app/blob/adapters/atfile.py:12:5: D001 found adapts( replace it with zope.component.adapter
src/plone/app/blob/adapters/atfile.py:28:1: W391 blank line at end of file
src/plone/app/blob/adapters/stringio.py:0:1: C101 Coding magic comment not found
src/plone/app/blob/adapters/stringio.py:1:1: I001 isort found an import in the wrong position
src/plone/app/blob/adapters/stringio.py:2:1: I001 isort found an import in the wrong position
src/plone/app/blob/adapters/stringio.py:3:1: I004 isort found an unexpected blank line in imports
src/plone/app/blob/adapters/stringio.py:4:1: I001 isort found an import in the wrong position
src/plone/app/blob/adapters/stringio.py:5:1: I004 isort found an unexpected blank line in imports
src/plone/app/blob/adapters/stringio.py:12:5: D001 found implements( replace it with zope.interface.implementer
src/plone/app/blob/adapters/stringio.py:13:5: D001 found adapts( replace it with zope.component.adapter
src/plone/app/blob/adapters/stringio.py:32:1: W391 blank line at end of file
src/plone/app/blob/adapters/fileupload.py:0:1: C101 Coding magic comment not found
src/plone/app/blob/adapters/fileupload.py:2:1: I001 isort found an import in the wrong position
src/plone/app/blob/adapters/fileupload.py:3:1: I001 isort found an import in the wrong position
src/plone/app/blob/adapters/fileupload.py:4:1: I004 isort found an unexpected blank line in imports
src/plone/app/blob/adapters/fileupload.py:5:1: I001 isort found an import in the wrong position
src/plone/app/blob/adapters/fileupload.py:6:1: I001 isort found an import in the wrong position
src/plone/app/blob/adapters/fileupload.py:7:1: I001 isort found an import in the wrong position
src/plone/app/blob/adapters/fileupload.py:8:1: I004 isort found an unexpected blank line in imports
src/plone/app/blob/adapters/fileupload.py:12:1: I001 isort found an import in the wrong position
src/plone/app/blob/adapters/fileupload.py:17:5: D001 found implements( replace it with zope.interface.implementer
src/plone/app/blob/adapters/fileupload.py:18:5: D001 found adapts( replace it with zope.component.adapter
src/plone/app/blob/adapters/fileupload.py:28:28: W602 deprecated form of raising exception
src/plone/app/blob/adapters/fileupload.py:34:38: W291 trailing whitespace
src/plone/app/blob/adapters/fileupload.py:38:38: S001 found module formatter
src/plone/app/blob/adapters/fileupload.py:51:1: W391 blank line at end of file
src/plone/app/blob/tests/test_maintenance.py:0:1: C101 Coding magic comment not found
src/plone/app/blob/tests/test_maintenance.py:1:1: I001 isort found an import in the wrong position
src/plone/app/blob/tests/test_maintenance.py:2:1: I004 isort found an unexpected blank line in imports
src/plone/app/blob/tests/test_maintenance.py:3:1: I001 isort found an import in the wrong position
src/plone/app/blob/tests/test_maintenance.py:6:1: I001 isort found an import in the wrong position
src/plone/app/blob/tests/test_maintenance.py:21:14: D001 found failIf( replace it with assertFalse
src/plone/app/blob/tests/test_maintenance.py:22:14: D001 found failIf( replace it with assertFalse
src/plone/app/blob/tests/test_maintenance.py:23:14: D001 found failIf( replace it with assertFalse
src/plone/app/blob/tests/test_maintenance.py:24:14: D001 found failIf( replace it with assertFalse
src/plone/app/blob/tests/test_maintenance.py:28:14: D001 found failUnless( replace it with assertTrue
src/plone/app/blob/tests/test_maintenance.py:29:14: D001 found failUnless( replace it with assertTrue
src/plone/app/blob/tests/test_maintenance.py:30:14: D001 found failUnless( replace it with assertTrue
src/plone/app/blob/tests/test_maintenance.py:31:14: D001 found failUnless( replace it with assertTrue
src/plone/app/blob/tests/test_scaling.py:0:1: C101 Coding magic comment not found
src/plone/app/blob/tests/test_scaling.py:1:1: I001 isort found an import in the wrong position
src/plone/app/blob/tests/test_scaling.py:3:1: I001 isort found an import in the wrong position
src/plone/app/blob/tests/test_scaling.py:6:1: I001 isort found an import in the wrong position
src/plone/app/blob/tests/test_scaling.py:8:1: I001 isort found an import in the wrong position
src/plone/app/blob/tests/test_scaling.py:16:9: E306 expected 1 blank line before a nested definition, found 0
src/plone/app/blob/tests/test_scaling.py:35:14: D001 found failUnless( replace it with assertTrue
src/plone/app/blob/tests/test_scaling.py:79:80: E501 line too long (83 > 79 characters)
src/plone/app/blob/tests/test_scaling.py:84:9: F841 local variable 'image' is assigned to but never used
src/plone/app/blob/tests/test_scaling.py:109:9: F841 local variable 'image' is assigned to but never used
src/plone/app/blob/tests/test_scaling.py:130:80: E501 line too long (80 > 79 characters)
src/plone/app/blob/tests/test_scaling.py:175:9: E306 expected 1 blank line before a nested definition, found 0
src/plone/app/blob/tests/test_scaling.py:181:9: F841 local variable 'image' is assigned to but never used
src/plone/app/blob/tests/test_scaling.py:201:1: W391 blank line at end of file
src/plone/app/blob/tests/test_integration.py:0:1: C101 Coding magic comment not found
src/plone/app/blob/tests/test_integration.py:1:1: I001 isort found an import in the wrong position
src/plone/app/blob/tests/test_integration.py:2:1: I001 isort found an import in the wrong position
src/plone/app/blob/tests/test_integration.py:3:1: I004 isort found an unexpected blank line in imports
src/plone/app/blob/tests/test_integration.py:5:1: I001 isort found an import in the wrong position
src/plone/app/blob/tests/test_integration.py:8:1: I001 isort found an import in the wrong position
src/plone/app/blob/tests/test_integration.py:9:1: I001 isort found an import in the wrong position
src/plone/app/blob/tests/test_integration.py:21:14: D001 found assert_( replace it with assertTrue
src/plone/app/blob/tests/test_integration.py:34:14: D001 found failUnless( replace it with assertTrue
src/plone/app/blob/tests/test_integration.py:37:14: D001 found failUnless( replace it with assertTrue
src/plone/app/blob/tests/test_integration.py:40:14: D001 found failIf( replace it with assertFalse
src/plone/app/blob/tests/test_integration.py:106:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/tests/test_integration.py:111:14: D001 found failUnless( replace it with assertTrue
src/plone/app/blob/tests/test_integration.py:112:14: D001 found failIf( replace it with assertFalse
src/plone/app/blob/tests/test_integration.py:116:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/tests/test_integration.py:118:14: D001 found failUnless( replace it with assertTrue
src/plone/app/blob/tests/test_integration.py:119:14: D001 found failUnless( replace it with assertTrue
src/plone/app/blob/tests/test_integration.py:120:14: D001 found failUnless( replace it with assertTrue
src/plone/app/blob/tests/test_integration.py:121:14: D001 found failIf( replace it with assertFalse
src/plone/app/blob/tests/test_integration.py:166:9: F841 local variable 'data' is assigned to but never used
src/plone/app/blob/tests/test_integration.py:177:80: E501 line too long (81 > 79 characters)
src/plone/app/blob/tests/test_integration.py:181:14: D001 found failUnless( replace it with assertTrue
src/plone/app/blob/tests/test_integration.py:182:14: D001 found failUnless( replace it with assertTrue
src/plone/app/blob/tests/test_integration.py:183:14: D001 found failIf( replace it with assertFalse
src/plone/app/blob/tests/test_integration.py:183:80: E501 line too long (81 > 79 characters)
src/plone/app/blob/tests/bbb.py:0:1: C101 Coding magic comment not found
src/plone/app/blob/tests/bbb.py:5:1: I001 isort found an import in the wrong position
src/plone/app/blob/tests/bbb.py:6:1: I001 isort found an import in the wrong position
src/plone/app/blob/tests/test_replacements.py:0:1: C101 Coding magic comment not found
src/plone/app/blob/tests/test_replacements.py:1:1: I001 isort found an import in the wrong position
src/plone/app/blob/tests/test_replacements.py:2:1: I004 isort found an unexpected blank line in imports
src/plone/app/blob/tests/test_replacements.py:3:1: I001 isort found an import in the wrong position
src/plone/app/blob/tests/test_replacements.py:4:1: I001 isort found an import in the wrong position
src/plone/app/blob/tests/test_replacements.py:5:1: I001 isort found an import in the wrong position
src/plone/app/blob/tests/test_replacements.py:8:1: I001 isort found an import in the wrong position
src/plone/app/blob/tests/test_replacements.py:9:1: I001 isort found an import in the wrong position
src/plone/app/blob/tests/test_replacements.py:10:1: I001 isort found an import in the wrong position
src/plone/app/blob/tests/test_replacements.py:11:1: I001 isort found an import in the wrong position
src/plone/app/blob/tests/test_replacements.py:12:1: I001 isort found an import in the wrong position
src/plone/app/blob/tests/test_replacements.py:13:1: I001 isort found an import in the wrong position
src/plone/app/blob/tests/test_replacements.py:14:1: I001 isort found an import in the wrong position
src/plone/app/blob/tests/test_replacements.py:27:14: D001 found failUnless( replace it with assertTrue
src/plone/app/blob/tests/test_replacements.py:28:14: D001 found failUnless( replace it with assertTrue
src/plone/app/blob/tests/test_replacements.py:28:80: E501 line too long (80 > 79 characters)
src/plone/app/blob/tests/test_replacements.py:36:80: E501 line too long (80 > 79 characters)
src/plone/app/blob/tests/test_replacements.py:37:9: F841 local variable 'headers' is assigned to but never used
src/plone/app/blob/tests/test_replacements.py:44:14: D001 found failUnless( replace it with assertTrue
src/plone/app/blob/tests/test_replacements.py:45:14: D001 found failUnless( replace it with assertTrue
src/plone/app/blob/tests/test_replacements.py:46:14: D001 found failUnless( replace it with assertTrue
src/plone/app/blob/tests/test_replacements.py:47:14: D001 found failUnless( replace it with assertTrue
src/plone/app/blob/tests/test_replacements.py:48:14: D001 found failIf( replace it with assertFalse
src/plone/app/blob/tests/test_replacements.py:52:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/tests/test_replacements.py:53:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/tests/test_replacements.py:58:14: D001 found failUnless( replace it with assertTrue
src/plone/app/blob/tests/test_replacements.py:66:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/tests/test_replacements.py:68:14: D001 found failUnless( replace it with assertTrue
src/plone/app/blob/tests/test_replacements.py:69:14: D001 found failUnless( replace it with assertTrue
src/plone/app/blob/tests/test_replacements.py:69:80: E501 line too long (80 > 79 characters)
src/plone/app/blob/tests/test_replacements.py:78:46: E251 unexpected spaces around keyword / parameter equals
src/plone/app/blob/tests/test_replacements.py:78:48: E251 unexpected spaces around keyword / parameter equals
src/plone/app/blob/tests/test_replacements.py:84:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/tests/test_replacements.py:89:14: D001 found failUnless( replace it with assertTrue
src/plone/app/blob/tests/test_replacements.py:90:14: D001 found failIf( replace it with assertFalse
src/plone/app/blob/tests/test_replacements.py:94:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/tests/test_replacements.py:96:14: D001 found failUnless( replace it with assertTrue
src/plone/app/blob/tests/test_replacements.py:97:14: D001 found failUnless( replace it with assertTrue
src/plone/app/blob/tests/test_replacements.py:98:14: D001 found failIf( replace it with assertFalse
src/plone/app/blob/tests/test_replacements.py:112:14: D001 found failUnless( replace it with assertTrue
src/plone/app/blob/tests/test_replacements.py:113:14: D001 found failUnless( replace it with assertTrue
src/plone/app/blob/tests/test_replacements.py:113:80: E501 line too long (81 > 79 characters)
src/plone/app/blob/tests/test_replacements.py:121:14: D001 found failUnless( replace it with assertTrue
src/plone/app/blob/tests/test_replacements.py:126:9: F841 local variable 'headers' is assigned to but never used
src/plone/app/blob/tests/test_replacements.py:133:14: D001 found failUnless( replace it with assertTrue
src/plone/app/blob/tests/test_replacements.py:134:14: D001 found failUnless( replace it with assertTrue
src/plone/app/blob/tests/test_replacements.py:135:14: D001 found failUnless( replace it with assertTrue
src/plone/app/blob/tests/test_replacements.py:136:14: D001 found failUnless( replace it with assertTrue
src/plone/app/blob/tests/test_replacements.py:137:14: D001 found failIf( replace it with assertFalse
src/plone/app/blob/tests/test_replacements.py:142:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/tests/test_replacements.py:148:14: D001 found failUnless( replace it with assertTrue
src/plone/app/blob/tests/test_replacements.py:156:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/tests/test_replacements.py:158:14: D001 found failUnless( replace it with assertTrue
src/plone/app/blob/tests/test_replacements.py:159:14: D001 found failUnless( replace it with assertTrue
src/plone/app/blob/tests/test_replacements.py:159:80: E501 line too long (81 > 79 characters)
src/plone/app/blob/tests/test_replacements.py:168:46: E251 unexpected spaces around keyword / parameter equals
src/plone/app/blob/tests/test_replacements.py:168:48: E251 unexpected spaces around keyword / parameter equals
src/plone/app/blob/tests/test_replacements.py:175:1: W391 blank line at end of file
src/plone/app/blob/tests/base.py:0:1: C101 Coding magic comment not found
src/plone/app/blob/tests/base.py:1:1: I001 isort found an import in the wrong position
src/plone/app/blob/tests/base.py:4:1: I001 isort found an import in the wrong position
src/plone/app/blob/tests/base.py:5:1: I001 isort found an import in the wrong position
src/plone/app/blob/tests/base.py:6:1: I003 isort expected 1 blank line in imports, found 0
src/plone/app/blob/tests/base.py:30:16: S001 found module formatter
src/plone/app/blob/tests/base.py:31:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/tests/base.py:37:20: S001 found module formatter
src/plone/app/blob/tests/base.py:64:1: W391 blank line at end of file
src/plone/app/blob/tests/__init__.py:0:1: C101 Coding magic comment not found
src/plone/app/blob/tests/__init__.py:4:1: I003 isort expected 1 blank line in imports, found 0
src/plone/app/blob/tests/__init__.py:4:1: I003 isort expected 1 blank line in imports, found 0
src/plone/app/blob/tests/patches.py:0:1: C101 Coding magic comment not found
src/plone/app/blob/tests/utils.py:0:1: C101 Coding magic comment not found
src/plone/app/blob/tests/utils.py:2:1: I001 isort found an import in the wrong position
src/plone/app/blob/tests/utils.py:3:1: I001 isort found an import in the wrong position
src/plone/app/blob/tests/utils.py:4:1: I001 isort found an import in the wrong position
src/plone/app/blob/tests/utils.py:5:1: I001 isort found an import in the wrong position
src/plone/app/blob/tests/utils.py:25:1: E302 expected 2 blank lines, found 1
src/plone/app/blob/tests/utils.py:56:9: T001 print statement found.
src/plone/app/blob/tests/utils.py:57:9: T001 print statement found.
src/plone/app/blob/tests/utils.py:58:9: T001 print statement found.
src/plone/app/blob/tests/utils.py:60:1: W391 blank line at end of file
src/plone/app/blob/tests/test_utils.py:0:1: C101 Coding magic comment not found
src/plone/app/blob/tests/test_utils.py:1:1: I001 isort found an import in the wrong position
src/plone/app/blob/tests/test_utils.py:2:1: I004 isort found an unexpected blank line in imports
src/plone/app/blob/tests/test_utils.py:5:1: I001 isort found an import in the wrong position
src/plone/app/blob/tests/test_utils.py:27:1: W391 blank line at end of file
src/plone/app/blob/tests/lingua.py:0:1: C101 Coding magic comment not found
src/plone/app/blob/tests/lingua.py:3:1: I004 isort found an unexpected blank line in imports
src/plone/app/blob/tests/lingua.py:5:1: I001 isort found an import in the wrong position
src/plone/app/blob/tests/lingua.py:6:1: I001 isort found an import in the wrong position
src/plone/app/blob/tests/lingua.py:13:13: E251 unexpected spaces around keyword / parameter equals
src/plone/app/blob/tests/lingua.py:13:15: E251 unexpected spaces around keyword / parameter equals
src/plone/app/blob/tests/lingua.py:14:16: E251 unexpected spaces around keyword / parameter equals
src/plone/app/blob/tests/lingua.py:14:18: E251 unexpected spaces around keyword / parameter equals
src/plone/app/blob/tests/lingua.py:15:28: E251 unexpected spaces around keyword / parameter equals
src/plone/app/blob/tests/lingua.py:15:30: E251 unexpected spaces around keyword / parameter equals
src/plone/app/blob/tests/lingua.py:16:15: E251 unexpected spaces around keyword / parameter equals
src/plone/app/blob/tests/lingua.py:16:17: E251 unexpected spaces around keyword / parameter equals
src/plone/app/blob/tests/lingua.py:16:34: E251 unexpected spaces around keyword / parameter equals
src/plone/app/blob/tests/lingua.py:16:36: E251 unexpected spaces around keyword / parameter equals
src/plone/app/blob/tests/lingua.py:30:1: W391 blank line at end of file
src/plone/app/blob/tests/test_doctests.py:0:1: C101 Coding magic comment not found
src/plone/app/blob/tests/test_doctests.py:3:1: I001 isort found an import in the wrong position
src/plone/app/blob/tests/test_doctests.py:4:1: I001 isort found an import in the wrong position
src/plone/app/blob/tests/test_doctests.py:5:1: I001 isort found an import in the wrong position
src/plone/app/blob/tests/test_doctests.py:6:1: I001 isort found an import in the wrong position
src/plone/app/blob/tests/test_doctests.py:7:1: I001 isort found an import in the wrong position
src/plone/app/blob/tests/test_doctests.py:27:80: E501 line too long (81 > 79 characters)
src/plone/app/blob/tests/test_doctests.py:30:1: W391 blank line at end of file
src/plone/app/blob/tests/test_linguaplone.py:0:1: C101 Coding magic comment not found
src/plone/app/blob/tests/test_linguaplone.py:1:1: I001 isort found an import in the wrong position
src/plone/app/blob/tests/test_linguaplone.py:3:1: I004 isort found an unexpected blank line in imports
src/plone/app/blob/tests/test_linguaplone.py:5:1: I001 isort found an import in the wrong position
src/plone/app/blob/tests/test_linguaplone.py:6:1: I001 isort found an import in the wrong position
src/plone/app/blob/tests/test_linguaplone.py:15:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/tests/test_linguaplone.py:76:1: W391 blank line at end of file
src/plone/app/blob/tests/layer.py:0:1: C101 Coding magic comment not found
src/plone/app/blob/tests/layer.py:1:1: I001 isort found an import in the wrong position
src/plone/app/blob/tests/layer.py:3:1: I001 isort found an import in the wrong position
src/plone/app/blob/tests/layer.py:4:1: I001 isort found an import in the wrong position
src/plone/app/blob/tests/layer.py:86:23: S001 found module formatter
src/plone/app/blob/tests/layer.py:130:1: W391 blank line at end of file
src/plone/app/blob/tests/db/__init__.py:0:1: C101 Coding magic comment not found
src/plone/app/blob/tests/db/__init__.py:2:1: I003 isort expected 1 blank line in imports, found 0
src/plone/app/blob/tests/db/__init__.py:2:1: I003 isort expected 1 blank line in imports, found 0
src/plone/app/blob/tests/db/__init__.py:3:15: E702 multiple statements on one line (semicolon)
src/plone/app/blob/tests/db/__init__.py:3:24: E261 at least two spaces before inline comment
src/plone/app/blob/tests/db/__init__.py:4:1: I001 isort found an import in the wrong position
src/plone/app/blob/tests/db/__init__.py:9:1: I001 isort found an import in the wrong position
src/plone/app/blob/tests/db/__init__.py:10:1: E402 module level import not at top of file
src/plone/app/blob/tests/db/__init__.py:10:1: I001 isort found an import in the wrong position
src/plone/app/blob/tests/db/__init__.py:11:1: E402 module level import not at top of file
src/plone/app/blob/tests/db/__init__.py:11:1: I001 isort found an import in the wrong position
src/plone/app/blob/tests/db/__init__.py:12:1: E402 module level import not at top of file
src/plone/app/blob/tests/db/__init__.py:12:1: I001 isort found an import in the wrong position
src/plone/app/blob/tests/db/__init__.py:13:1: E402 module level import not at top of file
src/plone/app/blob/tests/db/__init__.py:13:1: I001 isort found an import in the wrong position
src/plone/app/blob/tests/db/__init__.py:14:1: E402 module level import not at top of file
src/plone/app/blob/tests/db/__init__.py:14:1: I001 isort found an import in the wrong position
src/plone/app/blob/tests/db/__init__.py:15:1: E402 module level import not at top of file
src/plone/app/blob/tests/db/__init__.py:15:1: I001 isort found an import in the wrong position
src/plone/app/blob/tests/db/__init__.py:17:1: E302 expected 2 blank lines, found 1
src/plone/app/blob/tests/db/__init__.py:27:1: E305 expected 2 blank lines after class or function definition, found 1
src/plone/app/blob/tests/db/custom_zodb.py:0:1: C101 Coding magic comment not found
src/plone/app/blob/tests/db/custom_zodb.py:1:12: E702 multiple statements on one line (semicolon)
src/plone/app/blob/tests/db/custom_zodb.py:3:1: I003 isort expected 1 blank line in imports, found 0
src/plone/app/blob/tests/db/custom_zodb.py:3:1: I001 isort found an import in the wrong position
src/plone/app/blob/tests/db/custom_zodb.py:4:1: I001 isort found an import in the wrong position
src/plone/app/blob/tests/db/custom_zodb.py:5:1: I001 isort found an import in the wrong position
src/plone/app/blob/tests/db/custom_zodb.py:6:1: I001 isort found an import in the wrong position
src/plone/app/blob/tests/db/custom_zodb.py:8:1: T001 print statement found.
src/plone/app/blob/subtypes/image.py:0:1: C101 Coding magic comment not found
src/plone/app/blob/subtypes/image.py:1:1: I001 isort found an import in the wrong position
src/plone/app/blob/subtypes/image.py:2:1: I001 isort found an import in the wrong position
src/plone/app/blob/subtypes/image.py:7:1: I001 isort found an import in the wrong position
src/plone/app/blob/subtypes/image.py:8:1: I001 isort found an import in the wrong position
src/plone/app/blob/subtypes/image.py:9:1: I001 isort found an import in the wrong position
src/plone/app/blob/subtypes/image.py:10:1: I001 isort found an import in the wrong position
src/plone/app/blob/subtypes/image.py:11:1: I001 isort found an import in the wrong position
src/plone/app/blob/subtypes/image.py:12:1: I001 isort found an import in the wrong position
src/plone/app/blob/subtypes/image.py:15:80: E501 line too long (85 > 79 characters)
src/plone/app/blob/subtypes/image.py:17:5: D001 found implements( replace it with zope.interface.implementer
src/plone/app/blob/subtypes/image.py:29:5: D001 found implements( replace it with zope.interface.implementer
src/plone/app/blob/subtypes/image.py:37:17: E128 continuation line under-indented for visual indent
src/plone/app/blob/subtypes/image.py:37:25: E251 unexpected spaces around keyword / parameter equals
src/plone/app/blob/subtypes/image.py:37:27: E251 unexpected spaces around keyword / parameter equals
src/plone/app/blob/subtypes/image.py:38:17: E128 continuation line under-indented for visual indent
src/plone/app/blob/subtypes/image.py:38:24: E251 unexpected spaces around keyword / parameter equals
src/plone/app/blob/subtypes/image.py:38:26: E251 unexpected spaces around keyword / parameter equals
src/plone/app/blob/subtypes/image.py:39:17: E128 continuation line under-indented for visual indent
src/plone/app/blob/subtypes/image.py:39:24: E251 unexpected spaces around keyword / parameter equals
src/plone/app/blob/subtypes/image.py:39:26: E251 unexpected spaces around keyword / parameter equals
src/plone/app/blob/subtypes/image.py:40:17: E128 continuation line under-indented for visual indent
src/plone/app/blob/subtypes/image.py:40:25: E251 unexpected spaces around keyword / parameter equals
src/plone/app/blob/subtypes/image.py:40:27: E251 unexpected spaces around keyword / parameter equals
src/plone/app/blob/subtypes/image.py:41:17: E128 continuation line under-indented for visual indent
src/plone/app/blob/subtypes/image.py:41:24: E251 unexpected spaces around keyword / parameter equals
src/plone/app/blob/subtypes/image.py:41:26: E251 unexpected spaces around keyword / parameter equals
src/plone/app/blob/subtypes/image.py:42:17: E128 continuation line under-indented for visual indent
src/plone/app/blob/subtypes/image.py:42:36: E251 unexpected spaces around keyword / parameter equals
src/plone/app/blob/subtypes/image.py:42:38: E251 unexpected spaces around keyword / parameter equals
src/plone/app/blob/subtypes/image.py:43:17: E128 continuation line under-indented for visual indent
src/plone/app/blob/subtypes/image.py:43:24: E251 unexpected spaces around keyword / parameter equals
src/plone/app/blob/subtypes/image.py:43:26: E251 unexpected spaces around keyword / parameter equals
src/plone/app/blob/subtypes/image.py:44:17: E128 continuation line under-indented for visual indent
src/plone/app/blob/subtypes/image.py:44:40: E251 unexpected spaces around keyword / parameter equals
src/plone/app/blob/subtypes/image.py:44:42: E251 unexpected spaces around keyword / parameter equals
src/plone/app/blob/subtypes/image.py:44:80: E501 line too long (84 > 79 characters)
src/plone/app/blob/subtypes/image.py:45:17: E128 continuation line under-indented for visual indent
src/plone/app/blob/subtypes/image.py:45:28: E251 unexpected spaces around keyword / parameter equals
src/plone/app/blob/subtypes/image.py:45:30: E251 unexpected spaces around keyword / parameter equals
src/plone/app/blob/subtypes/image.py:46:17: E128 continuation line under-indented for visual indent
src/plone/app/blob/subtypes/image.py:46:32: E251 unexpected spaces around keyword / parameter equals
src/plone/app/blob/subtypes/image.py:46:34: E251 unexpected spaces around keyword / parameter equals
src/plone/app/blob/subtypes/image.py:47:17: E128 continuation line under-indented for visual indent
src/plone/app/blob/subtypes/image.py:47:25: E251 unexpected spaces around keyword / parameter equals
src/plone/app/blob/subtypes/image.py:47:27: E251 unexpected spaces around keyword / parameter equals
src/plone/app/blob/subtypes/image.py:48:17: E128 continuation line under-indented for visual indent
src/plone/app/blob/subtypes/image.py:48:27: E251 unexpected spaces around keyword / parameter equals
src/plone/app/blob/subtypes/image.py:48:29: E251 unexpected spaces around keyword / parameter equals
src/plone/app/blob/subtypes/image.py:50:23: E251 unexpected spaces around keyword / parameter equals
src/plone/app/blob/subtypes/image.py:50:25: E251 unexpected spaces around keyword / parameter equals
src/plone/app/blob/subtypes/image.py:50:43: E251 unexpected spaces around keyword / parameter equals
src/plone/app/blob/subtypes/image.py:50:45: E251 unexpected spaces around keyword / parameter equals
src/plone/app/blob/subtypes/image.py:50:80: E501 line too long (81 > 79 characters)
src/plone/app/blob/subtypes/image.py:52:55: E251 unexpected spaces around keyword / parameter equals
src/plone/app/blob/subtypes/image.py:52:57: E251 unexpected spaces around keyword / parameter equals
src/plone/app/blob/subtypes/image.py:54:1: W391 blank line at end of file
src/plone/app/blob/subtypes/blob.py:0:1: C101 Coding magic comment not found
src/plone/app/blob/subtypes/blob.py:1:1: I001 isort found an import in the wrong position
src/plone/app/blob/subtypes/blob.py:2:1: I001 isort found an import in the wrong position
src/plone/app/blob/subtypes/blob.py:6:1: I001 isort found an import in the wrong position
src/plone/app/blob/subtypes/blob.py:7:1: I001 isort found an import in the wrong position
src/plone/app/blob/subtypes/blob.py:8:1: I001 isort found an import in the wrong position
src/plone/app/blob/subtypes/blob.py:16:5: D001 found implements( replace it with zope.interface.implementer
src/plone/app/blob/subtypes/blob.py:24:17: E128 continuation line under-indented for visual indent
src/plone/app/blob/subtypes/blob.py:24:25: E251 unexpected spaces around keyword / parameter equals
src/plone/app/blob/subtypes/blob.py:24:27: E251 unexpected spaces around keyword / parameter equals
src/plone/app/blob/subtypes/blob.py:25:17: E128 continuation line under-indented for visual indent
src/plone/app/blob/subtypes/blob.py:25:24: E251 unexpected spaces around keyword / parameter equals
src/plone/app/blob/subtypes/blob.py:25:26: E251 unexpected spaces around keyword / parameter equals
src/plone/app/blob/subtypes/blob.py:26:17: E128 continuation line under-indented for visual indent
src/plone/app/blob/subtypes/blob.py:26:27: E251 unexpected spaces around keyword / parameter equals
src/plone/app/blob/subtypes/blob.py:26:29: E251 unexpected spaces around keyword / parameter equals
src/plone/app/blob/subtypes/blob.py:27:17: E128 continuation line under-indented for visual indent
src/plone/app/blob/subtypes/blob.py:27:24: E251 unexpected spaces around keyword / parameter equals
src/plone/app/blob/subtypes/blob.py:27:26: E251 unexpected spaces around keyword / parameter equals
src/plone/app/blob/subtypes/blob.py:28:17: E128 continuation line under-indented for visual indent
src/plone/app/blob/subtypes/blob.py:28:25: E251 unexpected spaces around keyword / parameter equals
src/plone/app/blob/subtypes/blob.py:28:27: E251 unexpected spaces around keyword / parameter equals
src/plone/app/blob/subtypes/blob.py:29:17: E128 continuation line under-indented for visual indent
src/plone/app/blob/subtypes/blob.py:29:24: E251 unexpected spaces around keyword / parameter equals
src/plone/app/blob/subtypes/blob.py:29:26: E251 unexpected spaces around keyword / parameter equals
src/plone/app/blob/subtypes/blob.py:30:17: E128 continuation line under-indented for visual indent
src/plone/app/blob/subtypes/blob.py:30:29: E251 unexpected spaces around keyword / parameter equals
src/plone/app/blob/subtypes/blob.py:30:31: E251 unexpected spaces around keyword / parameter equals
src/plone/app/blob/subtypes/blob.py:31:17: E128 continuation line under-indented for visual indent
src/plone/app/blob/subtypes/blob.py:31:36: E251 unexpected spaces around keyword / parameter equals
src/plone/app/blob/subtypes/blob.py:31:38: E251 unexpected spaces around keyword / parameter equals
src/plone/app/blob/subtypes/blob.py:32:17: E128 continuation line under-indented for visual indent
src/plone/app/blob/subtypes/blob.py:32:24: E251 unexpected spaces around keyword / parameter equals
src/plone/app/blob/subtypes/blob.py:32:26: E251 unexpected spaces around keyword / parameter equals
src/plone/app/blob/subtypes/blob.py:33:17: E128 continuation line under-indented for visual indent
src/plone/app/blob/subtypes/blob.py:33:27: E251 unexpected spaces around keyword / parameter equals
src/plone/app/blob/subtypes/blob.py:33:29: E251 unexpected spaces around keyword / parameter equals
src/plone/app/blob/subtypes/blob.py:35:23: E251 unexpected spaces around keyword / parameter equals
src/plone/app/blob/subtypes/blob.py:35:25: E251 unexpected spaces around keyword / parameter equals
src/plone/app/blob/subtypes/blob.py:35:42: E251 unexpected spaces around keyword / parameter equals
src/plone/app/blob/subtypes/blob.py:35:44: E251 unexpected spaces around keyword / parameter equals
src/plone/app/blob/subtypes/blob.py:37:54: E251 unexpected spaces around keyword / parameter equals
src/plone/app/blob/subtypes/blob.py:37:56: E251 unexpected spaces around keyword / parameter equals
src/plone/app/blob/subtypes/blob.py:39:1: W391 blank line at end of file
src/plone/app/blob/subtypes/file.py:0:1: C101 Coding magic comment not found
src/plone/app/blob/subtypes/file.py:1:1: I001 isort found an import in the wrong position
src/plone/app/blob/subtypes/file.py:2:1: I001 isort found an import in the wrong position
src/plone/app/blob/subtypes/file.py:6:1: I001 isort found an import in the wrong position
src/plone/app/blob/subtypes/file.py:7:1: I001 isort found an import in the wrong position
src/plone/app/blob/subtypes/file.py:8:1: I001 isort found an import in the wrong position
src/plone/app/blob/subtypes/file.py:20:5: D001 found implements( replace it with zope.interface.implementer
src/plone/app/blob/subtypes/file.py:28:17: E128 continuation line under-indented for visual indent
src/plone/app/blob/subtypes/file.py:28:25: E251 unexpected spaces around keyword / parameter equals
src/plone/app/blob/subtypes/file.py:28:27: E251 unexpected spaces around keyword / parameter equals
src/plone/app/blob/subtypes/file.py:29:17: E128 continuation line under-indented for visual indent
src/plone/app/blob/subtypes/file.py:29:24: E251 unexpected spaces around keyword / parameter equals
src/plone/app/blob/subtypes/file.py:29:26: E251 unexpected spaces around keyword / parameter equals
src/plone/app/blob/subtypes/file.py:30:17: E128 continuation line under-indented for visual indent
src/plone/app/blob/subtypes/file.py:30:27: E251 unexpected spaces around keyword / parameter equals
src/plone/app/blob/subtypes/file.py:30:29: E251 unexpected spaces around keyword / parameter equals
src/plone/app/blob/subtypes/file.py:31:17: E128 continuation line under-indented for visual indent
src/plone/app/blob/subtypes/file.py:31:24: E251 unexpected spaces around keyword / parameter equals
src/plone/app/blob/subtypes/file.py:31:26: E251 unexpected spaces around keyword / parameter equals
src/plone/app/blob/subtypes/file.py:32:17: E128 continuation line under-indented for visual indent
src/plone/app/blob/subtypes/file.py:32:25: E251 unexpected spaces around keyword / parameter equals
src/plone/app/blob/subtypes/file.py:32:27: E251 unexpected spaces around keyword / parameter equals
src/plone/app/blob/subtypes/file.py:33:17: E128 continuation line under-indented for visual indent
src/plone/app/blob/subtypes/file.py:33:24: E251 unexpected spaces around keyword / parameter equals
src/plone/app/blob/subtypes/file.py:33:26: E251 unexpected spaces around keyword / parameter equals
src/plone/app/blob/subtypes/file.py:34:17: E128 continuation line under-indented for visual indent
src/plone/app/blob/subtypes/file.py:34:29: E251 unexpected spaces around keyword / parameter equals
src/plone/app/blob/subtypes/file.py:34:31: E251 unexpected spaces around keyword / parameter equals
src/plone/app/blob/subtypes/file.py:35:17: E128 continuation line under-indented for visual indent
src/plone/app/blob/subtypes/file.py:35:36: E251 unexpected spaces around keyword / parameter equals
src/plone/app/blob/subtypes/file.py:35:38: E251 unexpected spaces around keyword / parameter equals
src/plone/app/blob/subtypes/file.py:36:17: E128 continuation line under-indented for visual indent
src/plone/app/blob/subtypes/file.py:36:24: E251 unexpected spaces around keyword / parameter equals
src/plone/app/blob/subtypes/file.py:36:26: E251 unexpected spaces around keyword / parameter equals
src/plone/app/blob/subtypes/file.py:37:17: E128 continuation line under-indented for visual indent
src/plone/app/blob/subtypes/file.py:37:27: E251 unexpected spaces around keyword / parameter equals
src/plone/app/blob/subtypes/file.py:37:29: E251 unexpected spaces around keyword / parameter equals
src/plone/app/blob/subtypes/file.py:39:23: E251 unexpected spaces around keyword / parameter equals
src/plone/app/blob/subtypes/file.py:39:25: E251 unexpected spaces around keyword / parameter equals
src/plone/app/blob/subtypes/file.py:39:42: E251 unexpected spaces around keyword / parameter equals
src/plone/app/blob/subtypes/file.py:39:44: E251 unexpected spaces around keyword / parameter equals
src/plone/app/blob/subtypes/file.py:41:54: E251 unexpected spaces around keyword / parameter equals
src/plone/app/blob/subtypes/file.py:41:56: E251 unexpected spaces around keyword / parameter equals
src/plone/app/blob/subtypes/file.py:43:1: W391 blank line at end of file
src/plone/app/blob/subtypes/__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.


@vincic Jenkins CI reporting about code analysis
See the full report here: http://jenkins.plone.org/job/package-plone.app.blob/13/violations
```
Traceback (most recent call last):
  File "/home/jenkins/workspace/package-plone.app.blob/bin/flake8", line 34, in <module>
    sys.exit(flake8.main.cli.main())
  File "/home/jenkins/.buildout/eggs/flake8-3.2.1-py2.7.egg/flake8/main/cli.py", line 16, in main
    app.run(argv)
  File "/home/jenkins/.buildout/eggs/flake8-3.2.1-py2.7.egg/flake8/main/application.py", line 322, in run
    self._run(argv)
  File "/home/jenkins/.buildout/eggs/flake8-3.2.1-py2.7.egg/flake8/main/application.py", line 306, in _run
    self.run_checks()
  File "/home/jenkins/.buildout/eggs/flake8-3.2.1-py2.7.egg/flake8/main/application.py", line 243, in run_checks
    self.file_checker_manager.start(files)
  File "/home/jenkins/.buildout/eggs/flake8-3.2.1-py2.7.egg/flake8/checker.py", line 371, in start
    self.make_checkers(paths)
  File "/home/jenkins/.buildout/eggs/flake8-3.2.1-py2.7.egg/flake8/checker.py", line 285, in make_checkers
    if argument == filename or should_create_file_checker(filename)
  File "/home/jenkins/.buildout/eggs/flake8-3.2.1-py2.7.egg/flake8/checker.py", line 412, in __init__
    self.display_name = self.processor.filename
AttributeError: 'NoneType' object has no attribute 'filename'
```
Follow [these instructions](https://github.com/plone/jenkins.plone.org/blob/master/docs/source/run-qa-on-package.rst) to reproduce it locally.


Not at the moment, but it makes sense to add it. I've included it in my backlog.