@esteele Jenkins CI reporting about code analysis
See the full report here: http://jenkins.plone.org/job/package-plone.app.blob/24/violations
```
src/plone/__init__.py:0:1: C101 Coding magic comment not found
src/plone/app/__init__.py:0:1: C101 Coding magic comment not found
src/plone/app/blob/config.py:0:1: C101 Coding magic comment not found
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:5:1: I001 isort found an import in the wrong position
src/plone/app/blob/iterators.py:12:9: D001 found implements( replace it with zope.interface.implementer
src/plone/app/blob/scale.py:0:1: C101 Coding magic comment not found
src/plone/app/blob/scale.py:4:1: I003 isort expected 1 blank line in imports, found 0
src/plone/app/blob/scale.py:4:1: I003 isort expected 1 blank line in imports, found 0
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:8:1: I001 isort found an import in the wrong position
src/plone/app/blob/scale.py:9:1: I001 isort found an import in the wrong position
src/plone/app/blob/scale.py:10:1: I001 isort found an import in the wrong position
src/plone/app/blob/scale.py:11:1: I001 isort found an import in the wrong position
src/plone/app/blob/scale.py:16:17: Q000 Remove bad quotes.
src/plone/app/blob/scale.py:22:5: D001 found implements( replace it with zope.interface.implementer
src/plone/app/blob/scale.py:23:5: D001 found adapts( replace it with zope.component.adapter
src/plone/app/blob/scale.py:31:17: E128 continuation line under-indented for visual indent
src/plone/app/blob/scale.py:32:17: E128 continuation line under-indented for visual indent
src/plone/app/blob/scale.py:44:17: E128 continuation line under-indented for visual indent
src/plone/app/blob/scale.py:65:5: D001 found implements( replace it with zope.interface.implementer
src/plone/app/blob/scale.py:66:5: D001 found adapts( replace it with zope.component.adapter
src/plone/app/blob/scale.py:77:17: E128 continuation line under-indented for visual indent
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:11:1: I003 isort expected 1 blank line in imports, found 0
src/plone/app/blob/content.py:11:1: I003 isort expected 1 blank line in imports, found 0
src/plone/app/blob/content.py:16:1: I001 isort found an import in the wrong position
src/plone/app/blob/content.py:17:1: I001 isort found an import in the wrong position
src/plone/app/blob/content.py:18:1: I001 isort found an import in the wrong position
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:24:1: I001 isort found an import in the wrong position
src/plone/app/blob/content.py:25:1: I001 isort found an import in the wrong position
src/plone/app/blob/content.py:26:1: I001 isort found an import in the wrong position
src/plone/app/blob/content.py:27:1: I001 isort found an import in the wrong position
src/plone/app/blob/content.py:28:1: I001 isort found an import in the wrong position
src/plone/app/blob/content.py:29:1: I001 isort found an import in the wrong position
src/plone/app/blob/content.py:76:5: D001 found implements( replace it with zope.interface.implementer
src/plone/app/blob/content.py:88:14: D001 found declareProtected( replace it with AccessControl.ClassSecurityInfo.protected
src/plone/app/blob/content.py:101:14: D001 found declarePrivate( replace it with AccessControl.ClassSecurityInfo.private
src/plone/app/blob/content.py:108:14: D001 found declareProtected( replace it with AccessControl.ClassSecurityInfo.protected
src/plone/app/blob/content.py:115:14: D001 found declareProtected( replace it with AccessControl.ClassSecurityInfo.protected
src/plone/app/blob/content.py:129:14: D001 found declarePrivate( replace it with AccessControl.ClassSecurityInfo.private
src/plone/app/blob/content.py:146:17: E128 continuation line under-indented for visual indent
src/plone/app/blob/content.py:149:9: B901 blind except: statement
src/plone/app/blob/content.py:151:16: E128 continuation line under-indented for visual indent
src/plone/app/blob/content.py:154:14: D001 found declareProtected( replace it with AccessControl.ClassSecurityInfo.protected
src/plone/app/blob/content.py:183:14: D001 found declareProtected( replace it with AccessControl.ClassSecurityInfo.protected
src/plone/app/blob/content.py:189:14: D001 found declareProtected( replace it with AccessControl.ClassSecurityInfo.protected
src/plone/app/blob/content.py:195:14: D001 found declarePublic( replace it with AccessControl.ClassSecurityInfo.public
src/plone/app/blob/content.py:215:14: D001 found declarePrivate( replace it with AccessControl.ClassSecurityInfo.private
src/plone/app/blob/content.py:248:1: E305 expected 2 blank lines after class or function definition, found 1
src/plone/app/blob/interfaces.py:10:37: Q000 Remove bad quotes.
src/plone/app/blob/interfaces.py:13:17: Q000 Remove bad quotes.
src/plone/app/blob/interfaces.py:14:23: Q000 Remove bad quotes.
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:22:27: Q000 Remove bad quotes.
src/plone/app/blob/__init__.py:22:27: S001 found module formatter
src/plone/app/blob/__init__.py:23:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/__init__.py:24:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/__init__.py:25:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/__init__.py:26:13: E124 closing bracket does not match visual indentation
src/plone/app/blob/__init__.py:33:27: Q000 Remove bad quotes.
src/plone/app/blob/__init__.py:33:27: S001 found module formatter
src/plone/app/blob/__init__.py:34:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/__init__.py:35:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/__init__.py:36:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/__init__.py:37:13: E124 closing bracket does not match visual indentation
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: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:12:1: I003 isort expected 1 blank line in imports, found 0
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:23:80: E501 line too long (85 > 79 characters)
src/plone/app/blob/monkey.py:0:1: C101 Coding magic comment not found
src/plone/app/blob/monkey.py:7:1: I001 isort found an import in the wrong position
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:39:1: E305 expected 2 blank lines after class or function definition, found 1
src/plone/app/blob/monkey.py:45:12: P002 found "hasattr", consider replacing it
src/plone/app/blob/monkey.py:48:1: E305 expected 2 blank lines after class or function definition, found 1
src/plone/app/blob/migrations.py:0:1: C101 Coding magic comment not found
src/plone/app/blob/migrations.py:16:1: I001 isort found an import in the wrong position
src/plone/app/blob/migrations.py:17:1: I001 isort found an import in the wrong position
src/plone/app/blob/migrations.py:42:1: C901 'makeMigrator' is too complex (15)
src/plone/app/blob/migrations.py:54:80: E501 line too long (179 > 79 characters)
src/plone/app/blob/migrations.py:82:20: P002 found "hasattr", consider replacing it
src/plone/app/blob/field.py:5:1: I001 isort found an import in the wrong position
src/plone/app/blob/field.py:7: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:10: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: I001 isort found an import in the wrong position
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:24:1: I001 isort found an import in the wrong position
src/plone/app/blob/field.py:45:12: P002 found "hasattr", consider replacing it
src/plone/app/blob/field.py:95:62: Q000 Remove bad quotes.
src/plone/app/blob/field.py:106:32: Q000 Remove bad quotes.
src/plone/app/blob/field.py:198:1: E305 expected 2 blank lines after class or function definition, found 1
src/plone/app/blob/field.py:278:16: P002 found "hasattr", consider replacing it
src/plone/app/blob/field.py:343:1: E305 expected 2 blank lines after class or function definition, found 1
src/plone/app/blob/field.py:351:1: E302 expected 2 blank lines, found 1
src/plone/app/blob/field.py:359:1: E305 expected 2 blank lines after class or function definition, found 1
src/plone/app/blob/field.py:386:12: P002 found "hasattr", consider replacing it
src/plone/app/blob/field.py:389:1: E305 expected 2 blank lines after class or function definition, found 1
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:8:1: I001 isort found an import in the wrong position
src/plone/app/blob/mixins.py:16:14: D001 found declareProtected( replace it with AccessControl.ClassSecurityInfo.protected
src/plone/app/blob/mixins.py:29:14: D001 found declareProtected( replace it with AccessControl.ClassSecurityInfo.protected
src/plone/app/blob/mixins.py:40:14: D001 found declareProtected( replace it with AccessControl.ClassSecurityInfo.protected
src/plone/app/blob/mixins.py:49:80: E501 line too long (81 > 79 characters)
src/plone/app/blob/mixins.py:61:14: D001 found declareProtected( replace it with AccessControl.ClassSecurityInfo.protected
src/plone/app/blob/mixins.py:68:14: D001 found declareProtected( replace it with AccessControl.ClassSecurityInfo.protected
src/plone/app/blob/mixins.py:76:14: D001 found declareProtected( replace it with AccessControl.ClassSecurityInfo.protected
src/plone/app/blob/mixins.py:84:14: D001 found declareProtected( replace it with AccessControl.ClassSecurityInfo.protected
src/plone/app/blob/mixins.py:91:14: D001 found declareProtected( replace it with AccessControl.ClassSecurityInfo.protected
src/plone/app/blob/mixins.py:98:14: D001 found declareProtected( replace it with AccessControl.ClassSecurityInfo.protected
src/plone/app/blob/mixins.py:109:14: D001 found declarePrivate( replace it with AccessControl.ClassSecurityInfo.private
src/plone/app/blob/download.py:0:1: C101 Coding magic comment not found
src/plone/app/blob/download.py:2:1: I001 isort found an import in the wrong position
src/plone/app/blob/download.py:21:9: B901 blind except: statement
src/plone/app/blob/download.py:33:1: C901 'handleRequestRange' is too complex (12)
src/plone/app/blob/download.py:60:17: B901 blind except: statement
src/plone/app/blob/download.py:79:17: S001 found module formatter
src/plone/app/blob/browser/__init__.py:0:1: C101 Coding magic comment not found
src/plone/app/blob/browser/size.py:0:1: C101 Coding magic comment not found
src/plone/app/blob/browser/size.py:3:1: I001 isort found an import in the wrong position
src/plone/app/blob/browser/size.py:45:9: E731 do not assign a lambda expression, use a def
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:31:19: S001 found module formatter
src/plone/app/blob/browser/migration.py:32:80: E501 line too long (87 > 79 characters)
src/plone/app/blob/browser/migration.py:37:80: E501 line too long (88 > 79 characters)
src/plone/app/blob/browser/migration.py:46:17: E128 continuation line under-indented for visual indent
src/plone/app/blob/browser/migration.py:47:17: E128 continuation line under-indented for visual indent
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:19:19: S001 found module formatter
src/plone/app/blob/browser/maintenance.py:55:17: S001 found module formatter
src/plone/app/blob/browser/maintenance.py:66:17: S001 found module formatter
src/plone/app/blob/browser/maintenance.py:70:15: S001 found module formatter
src/plone/app/blob/browser/maintenance.py:83:17: S001 found module formatter
src/plone/app/blob/browser/maintenance.py:92:17: S001 found module formatter
src/plone/app/blob/browser/maintenance.py:96:15: S001 found module formatter
src/plone/app/blob/adapters/pdata.py:0:1: C101 Coding magic comment not found
src/plone/app/blob/adapters/pdata.py:1:1: I001 isort found an import in the wrong position
src/plone/app/blob/adapters/pdata.py:2:1: I001 isort found an import in the wrong position
src/plone/app/blob/adapters/pdata.py:3:1: I004 isort found an unexpected blank line in imports
src/plone/app/blob/adapters/pdata.py:5:1: I001 isort found an import in the wrong position
src/plone/app/blob/adapters/pdata.py:6:1: I004 isort found an unexpected blank line in imports
src/plone/app/blob/adapters/pdata.py:13:5: D001 found implements( replace it with zope.interface.implementer
src/plone/app/blob/adapters/pdata.py:14:5: D001 found adapts( replace it with zope.component.adapter
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/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/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/file.py:0:1: C101 Coding magic comment not found
src/plone/app/blob/adapters/file.py:1:1: I001 isort found an import in the wrong position
src/plone/app/blob/adapters/file.py:2:1: I001 isort found an import in the wrong position
src/plone/app/blob/adapters/file.py:3:1: I004 isort found an unexpected blank line in imports
src/plone/app/blob/adapters/file.py:10:5: D001 found implements( replace it with zope.interface.implementer
src/plone/app/blob/adapters/file.py:11:5: D001 found adapts( replace it with zope.component.adapter
src/plone/app/blob/adapters/xmlrpc.py:0:1: C101 Coding magic comment not found
src/plone/app/blob/adapters/xmlrpc.py:1:1: I001 isort found an import in the wrong position
src/plone/app/blob/adapters/xmlrpc.py:2:1: I001 isort found an import in the wrong position
src/plone/app/blob/adapters/xmlrpc.py:3:1: I004 isort found an unexpected blank line in imports
src/plone/app/blob/adapters/xmlrpc.py:4:1: I001 isort found an import in the wrong position
src/plone/app/blob/adapters/xmlrpc.py:5:1: I004 isort found an unexpected blank line in imports
src/plone/app/blob/adapters/xmlrpc.py:12:5: D001 found implements( replace it with zope.interface.implementer
src/plone/app/blob/adapters/xmlrpc.py:13:5: D001 found adapts( replace it with zope.component.adapter
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: I001 isort found an import in the wrong position
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/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/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:38:38: S001 found module formatter
src/plone/app/blob/adapters/ofsfile.py:0:1: C101 Coding magic comment not found
src/plone/app/blob/adapters/ofsfile.py:2:1: I001 isort found an import in the wrong position
src/plone/app/blob/adapters/ofsfile.py:3:1: I004 isort found an unexpected blank line in imports
src/plone/app/blob/adapters/ofsfile.py:4:1: I001 isort found an import in the wrong position
src/plone/app/blob/adapters/ofsfile.py:9:5: D001 found implements( replace it with zope.interface.implementer
src/plone/app/blob/adapters/ofsfile.py:10:5: D001 found adapts( replace it with zope.component.adapter
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:5:1: I001 isort found an import in the wrong position
src/plone/app/blob/tests/test_maintenance.py:20:80: E501 line too long (86 > 79 characters)
src/plone/app/blob/tests/test_maintenance.py:21:80: E501 line too long (89 > 79 characters)
src/plone/app/blob/tests/test_maintenance.py:27:80: E501 line too long (80 > 79 characters)
src/plone/app/blob/tests/test_maintenance.py:28:80: E501 line too long (83 > 79 characters)
src/plone/app/blob/tests/test_scaling.py:0:1: C101 Coding magic comment not found
src/plone/app/blob/tests/test_scaling.py:2:1: I001 isort found an import in the wrong position
src/plone/app/blob/tests/test_scaling.py:5: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:9:1: I001 isort found an import in the wrong position
src/plone/app/blob/tests/test_scaling.py:10:1: I001 isort found an import in the wrong position
src/plone/app/blob/tests/test_scaling.py:46:80: E501 line too long (87 > 79 characters)
src/plone/app/blob/tests/test_scaling.py:66:80: E501 line too long (87 > 79 characters)
src/plone/app/blob/tests/test_scaling.py:139:80: E501 line too long (83 > 79 characters)
src/plone/app/blob/tests/test_scaling.py:157:80: E501 line too long (83 > 79 characters)
src/plone/app/blob/tests/test_scaling.py:170:80: E501 line too long (81 > 79 characters)
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: I004 isort found an unexpected blank line in imports
src/plone/app/blob/tests/test_integration.py:4:1: I001 isort found an import in the wrong position
src/plone/app/blob/tests/test_integration.py:6:1: I001 isort found an import in the wrong position
src/plone/app/blob/tests/test_integration.py:7:1: I003 isort expected 1 blank line in imports, found 0
src/plone/app/blob/tests/test_integration.py:23:14: D001 found assert_( replace it with assertTrue
src/plone/app/blob/tests/test_integration.py:201:80: E501 line too long (81 > 79 characters)
src/plone/app/blob/tests/test_integration.py:207:80: E501 line too long (86 > 79 characters)
src/plone/app/blob/tests/test_integration.py:215:37: S001 found module formatter
src/plone/app/blob/tests/test_integration.py:216:17: E128 continuation line under-indented for visual indent
src/plone/app/blob/tests/test_integration.py:221:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/tests/test_integration.py:223:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/tests/test_integration.py:225:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/tests/test_integration.py:227:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/tests/test_integration.py:229:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/tests/bbb.py:0:1: C101 Coding magic comment not found
src/plone/app/blob/tests/bbb.py:5:1: I003 isort expected 1 blank line in imports, found 0
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: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:15:1: I001 isort found an import in the wrong position
src/plone/app/blob/tests/test_replacements.py:16:1: I001 isort found an import in the wrong position
src/plone/app/blob/tests/test_replacements.py:17:1: I001 isort found an import in the wrong position
src/plone/app/blob/tests/test_replacements.py:18:1: I001 isort found an import in the wrong position
src/plone/app/blob/tests/test_replacements.py:20:1: I001 isort found an import in the wrong position
src/plone/app/blob/tests/test_replacements.py:45:80: E501 line too long (80 > 79 characters)
src/plone/app/blob/tests/test_replacements.py:53:80: E501 line too long (80 > 79 characters)
src/plone/app/blob/tests/test_replacements.py:61:80: E501 line too long (80 > 79 characters)
src/plone/app/blob/tests/test_replacements.py:64:80: E501 line too long (80 > 79 characters)
src/plone/app/blob/tests/test_replacements.py:65:80: E501 line too long (80 > 79 characters)
src/plone/app/blob/tests/test_replacements.py:69:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/tests/test_replacements.py:70:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/tests/test_replacements.py:83:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/tests/test_replacements.py:86:80: E501 line too long (80 > 79 characters)
src/plone/app/blob/tests/test_replacements.py:97:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/tests/test_replacements.py:98:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/tests/test_replacements.py:109:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/tests/test_replacements.py:116:80: E501 line too long (85 > 79 characters)
src/plone/app/blob/tests/test_replacements.py:118:16: E713 test for membership should be 'not in'
src/plone/app/blob/tests/test_replacements.py:119:58: S001 found module formatter
src/plone/app/blob/tests/test_replacements.py:122:16: E713 test for membership should be 'not in'
src/plone/app/blob/tests/test_replacements.py:123:57: S001 found module formatter
src/plone/app/blob/tests/test_replacements.py:130:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/tests/test_replacements.py:140:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/tests/test_replacements.py:148:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/tests/test_replacements.py:176:80: E501 line too long (81 > 79 characters)
src/plone/app/blob/tests/test_replacements.py:196:80: E501 line too long (83 > 79 characters)
src/plone/app/blob/tests/test_replacements.py:199:80: E501 line too long (82 > 79 characters)
src/plone/app/blob/tests/test_replacements.py:205:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/tests/test_replacements.py:219:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/tests/test_replacements.py:222:80: E501 line too long (81 > 79 characters)
src/plone/app/blob/tests/test_replacements.py:234:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/tests/test_replacements.py:249:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/tests/test_replacements.py:267:16: E713 test for membership should be 'not in'
src/plone/app/blob/tests/test_replacements.py:271:21: S001 found module formatter
src/plone/app/blob/tests/test_replacements.py:271:80: E501 line too long (81 > 79 characters)
src/plone/app/blob/tests/test_replacements.py:275:16: E713 test for membership should be 'not in'
src/plone/app/blob/tests/test_replacements.py:276:57: S001 found module formatter
src/plone/app/blob/tests/test_replacements.py:297:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/tests/test_replacements.py:302:9: E731 do not assign a lambda expression, use a def
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:2:1: I001 isort found an import in the wrong position
src/plone/app/blob/tests/base.py:7:1: I001 isort found an import in the wrong position
src/plone/app/blob/tests/base.py:8:1: I004 isort found an unexpected blank line in imports
src/plone/app/blob/tests/base.py:9:1: I001 isort found an import in the wrong position
src/plone/app/blob/tests/base.py:18:16: S001 found module formatter
src/plone/app/blob/tests/base.py:24:20: S001 found module formatter
src/plone/app/blob/tests/base.py:28:1: E305 expected 2 blank lines after class or function definition, found 1
src/plone/app/blob/tests/base.py:36:1: E305 expected 2 blank lines after class or function definition, found 1
src/plone/app/blob/tests/base.py:59:65: Q000 Remove bad quotes.
src/plone/app/blob/tests/base.py:59:80: E501 line too long (85 > 79 characters)
src/plone/app/blob/tests/base.py:60:39: W292 no newline at end of file
src/plone/app/blob/tests/test_webdav.py:0:1: C101 Coding magic comment not found
src/plone/app/blob/tests/test_webdav.py:3:1: I001 isort found an import in the wrong position
src/plone/app/blob/tests/test_webdav.py:14:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/tests/test_webdav.py:15:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/tests/test_webdav.py:31:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/tests/test_webdav.py:32:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/tests/test_base_fields.py:0:1: C101 Coding magic comment not found
src/plone/app/blob/tests/test_base_fields.py:2:1: I004 isort found an unexpected blank line in imports
src/plone/app/blob/tests/test_base_fields.py:3:1: I001 isort found an import in the wrong position
src/plone/app/blob/tests/test_base_fields.py:4:1: I001 isort found an import in the wrong position
src/plone/app/blob/tests/test_base_fields.py:6:1: I001 isort found an import in the wrong position
src/plone/app/blob/tests/test_base_fields.py:7:1: I001 isort found an import in the wrong position
src/plone/app/blob/tests/test_base_fields.py:8:1: I001 isort found an import in the wrong position
src/plone/app/blob/tests/test_base_fields.py:9:1: I001 isort found an import in the wrong position
src/plone/app/blob/tests/test_base_fields.py:35:1: E305 expected 2 blank lines after class or function definition, found 1
src/plone/app/blob/tests/__init__.py:0:1: C101 Coding magic comment not found
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: I003 isort expected 1 blank line in imports, found 0
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: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/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_adapters.py:0:1: C101 Coding magic comment not found
src/plone/app/blob/tests/test_adapters.py:1:1: I001 isort found an import in the wrong position
src/plone/app/blob/tests/test_adapters.py:2:1: I001 isort found an import in the wrong position
src/plone/app/blob/tests/test_adapters.py:3:1: I001 isort found an import in the wrong position
src/plone/app/blob/tests/test_adapters.py:4:1: I001 isort found an import in the wrong position
src/plone/app/blob/tests/test_adapters.py:5:1: I001 isort found an import in the wrong position
src/plone/app/blob/tests/test_adapters.py:8:1: I001 isort found an import in the wrong position
src/plone/app/blob/tests/test_adapters.py:11:1: I003 isort expected 1 blank line in imports, found 0
src/plone/app/blob/tests/test_adapters.py:22:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/tests/test_adapters.py:32:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/tests/test_adapters.py:69:18: D001 found assertEquals( replace it with assertEqual
src/plone/app/blob/tests/test_adapters.py:70:18: D001 found assertEquals( replace it with assertEqual
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:6:1: I001 isort found an import in the wrong position
src/plone/app/blob/tests/lingua.py:7:1: I001 isort found an import in the wrong position
src/plone/app/blob/tests/lingua.py:9:1: I003 isort expected 1 blank line in imports, found 0
src/plone/app/blob/tests/lingua.py:17:29: E127 continuation line over-indented for visual indent
src/plone/app/blob/tests/lingua.py:32:1: E305 expected 2 blank lines after class or function definition, found 1
src/plone/app/blob/tests/test_doctests.py:0:1: C101 Coding magic comment not found
src/plone/app/blob/tests/test_doctests.py:1:1: I003 isort expected 1 blank line in imports, found 0
src/plone/app/blob/tests/test_doctests.py:2:1: I001 isort found an import in the wrong position
src/plone/app/blob/tests/test_doctests.py:3:1: I004 isort found an unexpected blank line in imports
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:4:80: E501 line too long (87 > 79 characters)
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: I004 isort found an unexpected blank line in imports
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:17:12: E131 continuation line unaligned for hanging indent
src/plone/app/blob/tests/test_doctests.py:24:16: E131 continuation line unaligned for hanging indent
src/plone/app/blob/tests/test_doctests.py:31:16: E131 continuation line unaligned for hanging indent
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:4: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:7:1: I001 isort found an import in the wrong position
src/plone/app/blob/tests/test_linguaplone.py:16:13: E128 continuation line under-indented for visual indent
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:2:1: I001 isort found an import in the wrong position
src/plone/app/blob/tests/layer.py:6:1: I001 isort found an import in the wrong position
src/plone/app/blob/tests/layer.py:7:1: I001 isort found an import in the wrong position
src/plone/app/blob/tests/layer.py:17:43: Q000 Remove bad quotes.
src/plone/app/blob/tests/layer.py:29:1: E305 expected 2 blank lines after class or function definition, found 1
src/plone/app/blob/tests/layer.py:30:68: Q000 Remove bad quotes.
src/plone/app/blob/tests/layer.py:30:80: E501 line too long (85 > 79 characters)
src/plone/app/blob/tests/layer.py:45:39: S001 found module formatter
src/plone/app/blob/tests/layer.py:57:80: E501 line too long (84 > 79 characters)
src/plone/app/blob/tests/layer.py:66:1: E305 expected 2 blank lines after class or function definition, found 1
src/plone/app/blob/tests/layer.py:68:46: Q000 Remove bad quotes.
src/plone/app/blob/tests/layer.py:99:1: E305 expected 2 blank lines after class or function definition, found 1
src/plone/app/blob/tests/layer.py:101:41: Q000 Remove bad quotes.
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:3: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:13:1: I001 isort found an import in the wrong position
src/plone/app/blob/subtypes/image.py:18:5: D001 found implements( replace it with zope.interface.implementer
src/plone/app/blob/subtypes/image.py:23:12: P002 found "hasattr", consider replacing it
src/plone/app/blob/subtypes/image.py:28:5: D001 found implements( replace it with zope.interface.implementer
src/plone/app/blob/subtypes/image.py:32:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/subtypes/image.py:33:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/subtypes/image.py:34:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/subtypes/image.py:35:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/subtypes/image.py:36:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/subtypes/image.py:37:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/subtypes/image.py:38:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/subtypes/image.py:39:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/subtypes/image.py:40:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/subtypes/image.py:41:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/subtypes/image.py:42:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/subtypes/image.py:43:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/subtypes/image.py:44:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/subtypes/image.py:45:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/subtypes/image.py:46:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/subtypes/image.py:47:27: E127 continuation line over-indented for visual indent
src/plone/app/blob/subtypes/image.py:49:34: E127 continuation line over-indented for visual indent
src/plone/app/blob/subtypes/image.py:50:34: E127 continuation line over-indented for visual indent
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:20:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/subtypes/blob.py:21:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/subtypes/blob.py:22:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/subtypes/blob.py:23:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/subtypes/blob.py:24:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/subtypes/blob.py:25:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/subtypes/blob.py:26:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/subtypes/blob.py:27:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/subtypes/blob.py:28:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/subtypes/blob.py:29:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/subtypes/blob.py:30:27: E127 continuation line over-indented for visual indent
src/plone/app/blob/subtypes/blob.py:32:33: E127 continuation line over-indented for visual indent
src/plone/app/blob/subtypes/blob.py:33:33: E127 continuation line over-indented for visual indent
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:24:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/subtypes/file.py:25:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/subtypes/file.py:26:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/subtypes/file.py:27:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/subtypes/file.py:28:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/subtypes/file.py:29:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/subtypes/file.py:30:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/subtypes/file.py:31:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/subtypes/file.py:32:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/subtypes/file.py:33:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/subtypes/file.py:34:27: E127 continuation line over-indented for visual indent
src/plone/app/blob/subtypes/file.py:36:33: E127 continuation line over-indented for visual indent
src/plone/app/blob/subtypes/file.py:37:33: E127 continuation line over-indented for visual indent
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.


@mauritsvanrees Jenkins CI reporting about code analysis
See the full report here: http://jenkins.plone.org/job/package-plone.app.blob/25/violations
```
src/plone/__init__.py:0:1: C101 Coding magic comment not found
src/plone/app/__init__.py:0:1: C101 Coding magic comment not found
src/plone/app/blob/config.py:0:1: C101 Coding magic comment not found
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:5:1: I001 isort found an import in the wrong position
src/plone/app/blob/iterators.py:12:9: D001 found implements( replace it with zope.interface.implementer
src/plone/app/blob/scale.py:0:1: C101 Coding magic comment not found
src/plone/app/blob/scale.py:4:1: I003 isort expected 1 blank line in imports, found 0
src/plone/app/blob/scale.py:4:1: I003 isort expected 1 blank line in imports, found 0
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:8:1: I001 isort found an import in the wrong position
src/plone/app/blob/scale.py:9:1: I001 isort found an import in the wrong position
src/plone/app/blob/scale.py:10:1: I001 isort found an import in the wrong position
src/plone/app/blob/scale.py:11:1: I001 isort found an import in the wrong position
src/plone/app/blob/scale.py:16:17: Q000 Remove bad quotes.
src/plone/app/blob/scale.py:22:5: D001 found implements( replace it with zope.interface.implementer
src/plone/app/blob/scale.py:23:5: D001 found adapts( replace it with zope.component.adapter
src/plone/app/blob/scale.py:31:17: E128 continuation line under-indented for visual indent
src/plone/app/blob/scale.py:32:17: E128 continuation line under-indented for visual indent
src/plone/app/blob/scale.py:44:17: E128 continuation line under-indented for visual indent
src/plone/app/blob/scale.py:65:5: D001 found implements( replace it with zope.interface.implementer
src/plone/app/blob/scale.py:66:5: D001 found adapts( replace it with zope.component.adapter
src/plone/app/blob/scale.py:77:17: E128 continuation line under-indented for visual indent
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:11:1: I003 isort expected 1 blank line in imports, found 0
src/plone/app/blob/content.py:11:1: I003 isort expected 1 blank line in imports, found 0
src/plone/app/blob/content.py:16:1: I001 isort found an import in the wrong position
src/plone/app/blob/content.py:17:1: I001 isort found an import in the wrong position
src/plone/app/blob/content.py:18:1: I001 isort found an import in the wrong position
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:24:1: I001 isort found an import in the wrong position
src/plone/app/blob/content.py:25:1: I001 isort found an import in the wrong position
src/plone/app/blob/content.py:26:1: I001 isort found an import in the wrong position
src/plone/app/blob/content.py:27:1: I001 isort found an import in the wrong position
src/plone/app/blob/content.py:28:1: I001 isort found an import in the wrong position
src/plone/app/blob/content.py:29:1: I001 isort found an import in the wrong position
src/plone/app/blob/content.py:76:5: D001 found implements( replace it with zope.interface.implementer
src/plone/app/blob/content.py:88:14: D001 found declareProtected( replace it with AccessControl.ClassSecurityInfo.protected
src/plone/app/blob/content.py:101:14: D001 found declarePrivate( replace it with AccessControl.ClassSecurityInfo.private
src/plone/app/blob/content.py:108:14: D001 found declareProtected( replace it with AccessControl.ClassSecurityInfo.protected
src/plone/app/blob/content.py:115:14: D001 found declareProtected( replace it with AccessControl.ClassSecurityInfo.protected
src/plone/app/blob/content.py:129:14: D001 found declarePrivate( replace it with AccessControl.ClassSecurityInfo.private
src/plone/app/blob/content.py:146:17: E128 continuation line under-indented for visual indent
src/plone/app/blob/content.py:149:9: B901 blind except: statement
src/plone/app/blob/content.py:151:16: E128 continuation line under-indented for visual indent
src/plone/app/blob/content.py:154:14: D001 found declareProtected( replace it with AccessControl.ClassSecurityInfo.protected
src/plone/app/blob/content.py:183:14: D001 found declareProtected( replace it with AccessControl.ClassSecurityInfo.protected
src/plone/app/blob/content.py:189:14: D001 found declareProtected( replace it with AccessControl.ClassSecurityInfo.protected
src/plone/app/blob/content.py:195:14: D001 found declarePublic( replace it with AccessControl.ClassSecurityInfo.public
src/plone/app/blob/content.py:215:14: D001 found declarePrivate( replace it with AccessControl.ClassSecurityInfo.private
src/plone/app/blob/content.py:248:1: E305 expected 2 blank lines after class or function definition, found 1
src/plone/app/blob/interfaces.py:10:37: Q000 Remove bad quotes.
src/plone/app/blob/interfaces.py:13:17: Q000 Remove bad quotes.
src/plone/app/blob/interfaces.py:14:23: Q000 Remove bad quotes.
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:22:27: Q000 Remove bad quotes.
src/plone/app/blob/__init__.py:22:27: S001 found module formatter
src/plone/app/blob/__init__.py:23:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/__init__.py:24:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/__init__.py:25:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/__init__.py:26:13: E124 closing bracket does not match visual indentation
src/plone/app/blob/__init__.py:33:27: Q000 Remove bad quotes.
src/plone/app/blob/__init__.py:33:27: S001 found module formatter
src/plone/app/blob/__init__.py:34:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/__init__.py:35:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/__init__.py:36:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/__init__.py:37:13: E124 closing bracket does not match visual indentation
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: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:12:1: I003 isort expected 1 blank line in imports, found 0
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:23:80: E501 line too long (85 > 79 characters)
src/plone/app/blob/monkey.py:0:1: C101 Coding magic comment not found
src/plone/app/blob/monkey.py:7:1: I001 isort found an import in the wrong position
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:39:1: E305 expected 2 blank lines after class or function definition, found 1
src/plone/app/blob/monkey.py:45:12: P002 found "hasattr", consider replacing it
src/plone/app/blob/monkey.py:48:1: E305 expected 2 blank lines after class or function definition, found 1
src/plone/app/blob/migrations.py:0:1: C101 Coding magic comment not found
src/plone/app/blob/migrations.py:16:1: I001 isort found an import in the wrong position
src/plone/app/blob/migrations.py:17:1: I001 isort found an import in the wrong position
src/plone/app/blob/migrations.py:42:1: C901 'makeMigrator' is too complex (15)
src/plone/app/blob/migrations.py:54:80: E501 line too long (179 > 79 characters)
src/plone/app/blob/migrations.py:82:20: P002 found "hasattr", consider replacing it
src/plone/app/blob/field.py:5:1: I001 isort found an import in the wrong position
src/plone/app/blob/field.py:7: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:10: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: I001 isort found an import in the wrong position
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:24:1: I001 isort found an import in the wrong position
src/plone/app/blob/field.py:45:12: P002 found "hasattr", consider replacing it
src/plone/app/blob/field.py:95:62: Q000 Remove bad quotes.
src/plone/app/blob/field.py:106:32: Q000 Remove bad quotes.
src/plone/app/blob/field.py:198:1: E305 expected 2 blank lines after class or function definition, found 1
src/plone/app/blob/field.py:278:16: P002 found "hasattr", consider replacing it
src/plone/app/blob/field.py:343:1: E305 expected 2 blank lines after class or function definition, found 1
src/plone/app/blob/field.py:351:1: E302 expected 2 blank lines, found 1
src/plone/app/blob/field.py:359:1: E305 expected 2 blank lines after class or function definition, found 1
src/plone/app/blob/field.py:386:12: P002 found "hasattr", consider replacing it
src/plone/app/blob/field.py:389:1: E305 expected 2 blank lines after class or function definition, found 1
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:8:1: I001 isort found an import in the wrong position
src/plone/app/blob/mixins.py:16:14: D001 found declareProtected( replace it with AccessControl.ClassSecurityInfo.protected
src/plone/app/blob/mixins.py:29:14: D001 found declareProtected( replace it with AccessControl.ClassSecurityInfo.protected
src/plone/app/blob/mixins.py:40:14: D001 found declareProtected( replace it with AccessControl.ClassSecurityInfo.protected
src/plone/app/blob/mixins.py:49:80: E501 line too long (81 > 79 characters)
src/plone/app/blob/mixins.py:61:14: D001 found declareProtected( replace it with AccessControl.ClassSecurityInfo.protected
src/plone/app/blob/mixins.py:68:14: D001 found declareProtected( replace it with AccessControl.ClassSecurityInfo.protected
src/plone/app/blob/mixins.py:76:14: D001 found declareProtected( replace it with AccessControl.ClassSecurityInfo.protected
src/plone/app/blob/mixins.py:84:14: D001 found declareProtected( replace it with AccessControl.ClassSecurityInfo.protected
src/plone/app/blob/mixins.py:91:14: D001 found declareProtected( replace it with AccessControl.ClassSecurityInfo.protected
src/plone/app/blob/mixins.py:98:14: D001 found declareProtected( replace it with AccessControl.ClassSecurityInfo.protected
src/plone/app/blob/mixins.py:109:14: D001 found declarePrivate( replace it with AccessControl.ClassSecurityInfo.private
src/plone/app/blob/download.py:0:1: C101 Coding magic comment not found
src/plone/app/blob/download.py:2:1: I001 isort found an import in the wrong position
src/plone/app/blob/download.py:21:9: B901 blind except: statement
src/plone/app/blob/download.py:33:1: C901 'handleRequestRange' is too complex (12)
src/plone/app/blob/download.py:60:17: B901 blind except: statement
src/plone/app/blob/download.py:79:17: S001 found module formatter
src/plone/app/blob/browser/__init__.py:0:1: C101 Coding magic comment not found
src/plone/app/blob/browser/size.py:0:1: C101 Coding magic comment not found
src/plone/app/blob/browser/size.py:3:1: I001 isort found an import in the wrong position
src/plone/app/blob/browser/size.py:45:9: E731 do not assign a lambda expression, use a def
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:31:19: S001 found module formatter
src/plone/app/blob/browser/migration.py:32:80: E501 line too long (87 > 79 characters)
src/plone/app/blob/browser/migration.py:37:80: E501 line too long (88 > 79 characters)
src/plone/app/blob/browser/migration.py:46:17: E128 continuation line under-indented for visual indent
src/plone/app/blob/browser/migration.py:47:17: E128 continuation line under-indented for visual indent
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:19:19: S001 found module formatter
src/plone/app/blob/browser/maintenance.py:55:17: S001 found module formatter
src/plone/app/blob/browser/maintenance.py:66:17: S001 found module formatter
src/plone/app/blob/browser/maintenance.py:70:15: S001 found module formatter
src/plone/app/blob/browser/maintenance.py:83:17: S001 found module formatter
src/plone/app/blob/browser/maintenance.py:92:17: S001 found module formatter
src/plone/app/blob/browser/maintenance.py:96:15: S001 found module formatter
src/plone/app/blob/adapters/pdata.py:0:1: C101 Coding magic comment not found
src/plone/app/blob/adapters/pdata.py:1:1: I001 isort found an import in the wrong position
src/plone/app/blob/adapters/pdata.py:2:1: I001 isort found an import in the wrong position
src/plone/app/blob/adapters/pdata.py:3:1: I004 isort found an unexpected blank line in imports
src/plone/app/blob/adapters/pdata.py:5:1: I001 isort found an import in the wrong position
src/plone/app/blob/adapters/pdata.py:6:1: I004 isort found an unexpected blank line in imports
src/plone/app/blob/adapters/pdata.py:13:5: D001 found implements( replace it with zope.interface.implementer
src/plone/app/blob/adapters/pdata.py:14:5: D001 found adapts( replace it with zope.component.adapter
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/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/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/file.py:0:1: C101 Coding magic comment not found
src/plone/app/blob/adapters/file.py:1:1: I001 isort found an import in the wrong position
src/plone/app/blob/adapters/file.py:2:1: I001 isort found an import in the wrong position
src/plone/app/blob/adapters/file.py:3:1: I004 isort found an unexpected blank line in imports
src/plone/app/blob/adapters/file.py:10:5: D001 found implements( replace it with zope.interface.implementer
src/plone/app/blob/adapters/file.py:11:5: D001 found adapts( replace it with zope.component.adapter
src/plone/app/blob/adapters/xmlrpc.py:0:1: C101 Coding magic comment not found
src/plone/app/blob/adapters/xmlrpc.py:1:1: I001 isort found an import in the wrong position
src/plone/app/blob/adapters/xmlrpc.py:2:1: I001 isort found an import in the wrong position
src/plone/app/blob/adapters/xmlrpc.py:3:1: I004 isort found an unexpected blank line in imports
src/plone/app/blob/adapters/xmlrpc.py:4:1: I001 isort found an import in the wrong position
src/plone/app/blob/adapters/xmlrpc.py:5:1: I004 isort found an unexpected blank line in imports
src/plone/app/blob/adapters/xmlrpc.py:12:5: D001 found implements( replace it with zope.interface.implementer
src/plone/app/blob/adapters/xmlrpc.py:13:5: D001 found adapts( replace it with zope.component.adapter
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: I001 isort found an import in the wrong position
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/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/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:38:38: S001 found module formatter
src/plone/app/blob/adapters/ofsfile.py:0:1: C101 Coding magic comment not found
src/plone/app/blob/adapters/ofsfile.py:2:1: I001 isort found an import in the wrong position
src/plone/app/blob/adapters/ofsfile.py:3:1: I004 isort found an unexpected blank line in imports
src/plone/app/blob/adapters/ofsfile.py:4:1: I001 isort found an import in the wrong position
src/plone/app/blob/adapters/ofsfile.py:9:5: D001 found implements( replace it with zope.interface.implementer
src/plone/app/blob/adapters/ofsfile.py:10:5: D001 found adapts( replace it with zope.component.adapter
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:5:1: I001 isort found an import in the wrong position
src/plone/app/blob/tests/test_maintenance.py:20:80: E501 line too long (86 > 79 characters)
src/plone/app/blob/tests/test_maintenance.py:21:80: E501 line too long (89 > 79 characters)
src/plone/app/blob/tests/test_maintenance.py:27:80: E501 line too long (80 > 79 characters)
src/plone/app/blob/tests/test_maintenance.py:28:80: E501 line too long (83 > 79 characters)
src/plone/app/blob/tests/test_scaling.py:0:1: C101 Coding magic comment not found
src/plone/app/blob/tests/test_scaling.py:2:1: I001 isort found an import in the wrong position
src/plone/app/blob/tests/test_scaling.py:5: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:9:1: I001 isort found an import in the wrong position
src/plone/app/blob/tests/test_scaling.py:10:1: I001 isort found an import in the wrong position
src/plone/app/blob/tests/test_scaling.py:46:80: E501 line too long (87 > 79 characters)
src/plone/app/blob/tests/test_scaling.py:66:80: E501 line too long (87 > 79 characters)
src/plone/app/blob/tests/test_scaling.py:139:80: E501 line too long (83 > 79 characters)
src/plone/app/blob/tests/test_scaling.py:157:80: E501 line too long (83 > 79 characters)
src/plone/app/blob/tests/test_scaling.py:170:80: E501 line too long (81 > 79 characters)
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: I004 isort found an unexpected blank line in imports
src/plone/app/blob/tests/test_integration.py:4:1: I001 isort found an import in the wrong position
src/plone/app/blob/tests/test_integration.py:6:1: I001 isort found an import in the wrong position
src/plone/app/blob/tests/test_integration.py:7:1: I003 isort expected 1 blank line in imports, found 0
src/plone/app/blob/tests/test_integration.py:23:14: D001 found assert_( replace it with assertTrue
src/plone/app/blob/tests/test_integration.py:201:80: E501 line too long (81 > 79 characters)
src/plone/app/blob/tests/test_integration.py:207:80: E501 line too long (86 > 79 characters)
src/plone/app/blob/tests/test_integration.py:215:37: S001 found module formatter
src/plone/app/blob/tests/test_integration.py:216:17: E128 continuation line under-indented for visual indent
src/plone/app/blob/tests/test_integration.py:221:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/tests/test_integration.py:223:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/tests/test_integration.py:225:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/tests/test_integration.py:227:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/tests/test_integration.py:229:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/tests/bbb.py:0:1: C101 Coding magic comment not found
src/plone/app/blob/tests/bbb.py:5:1: I003 isort expected 1 blank line in imports, found 0
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: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:15:1: I001 isort found an import in the wrong position
src/plone/app/blob/tests/test_replacements.py:16:1: I001 isort found an import in the wrong position
src/plone/app/blob/tests/test_replacements.py:17:1: I001 isort found an import in the wrong position
src/plone/app/blob/tests/test_replacements.py:18:1: I001 isort found an import in the wrong position
src/plone/app/blob/tests/test_replacements.py:20:1: I001 isort found an import in the wrong position
src/plone/app/blob/tests/test_replacements.py:45:80: E501 line too long (80 > 79 characters)
src/plone/app/blob/tests/test_replacements.py:53:80: E501 line too long (80 > 79 characters)
src/plone/app/blob/tests/test_replacements.py:61:80: E501 line too long (80 > 79 characters)
src/plone/app/blob/tests/test_replacements.py:64:80: E501 line too long (80 > 79 characters)
src/plone/app/blob/tests/test_replacements.py:65:80: E501 line too long (80 > 79 characters)
src/plone/app/blob/tests/test_replacements.py:69:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/tests/test_replacements.py:70:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/tests/test_replacements.py:83:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/tests/test_replacements.py:86:80: E501 line too long (80 > 79 characters)
src/plone/app/blob/tests/test_replacements.py:139:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/tests/test_replacements.py:149:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/tests/test_replacements.py:157:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/tests/test_replacements.py:185:80: E501 line too long (81 > 79 characters)
src/plone/app/blob/tests/test_replacements.py:205:80: E501 line too long (83 > 79 characters)
src/plone/app/blob/tests/test_replacements.py:208:80: E501 line too long (82 > 79 characters)
src/plone/app/blob/tests/test_replacements.py:214:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/tests/test_replacements.py:228:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/tests/test_replacements.py:231:80: E501 line too long (81 > 79 characters)
src/plone/app/blob/tests/test_replacements.py:243:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/tests/test_replacements.py:258:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/tests/test_replacements.py:276:16: E713 test for membership should be 'not in'
src/plone/app/blob/tests/test_replacements.py:280:21: S001 found module formatter
src/plone/app/blob/tests/test_replacements.py:280:80: E501 line too long (81 > 79 characters)
src/plone/app/blob/tests/test_replacements.py:284:16: E713 test for membership should be 'not in'
src/plone/app/blob/tests/test_replacements.py:285:57: S001 found module formatter
src/plone/app/blob/tests/test_replacements.py:306:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/tests/test_replacements.py:311:9: E731 do not assign a lambda expression, use a def
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:2:1: I001 isort found an import in the wrong position
src/plone/app/blob/tests/base.py:7:1: I001 isort found an import in the wrong position
src/plone/app/blob/tests/base.py:8:1: I004 isort found an unexpected blank line in imports
src/plone/app/blob/tests/base.py:9:1: I001 isort found an import in the wrong position
src/plone/app/blob/tests/base.py:18:16: S001 found module formatter
src/plone/app/blob/tests/base.py:24:20: S001 found module formatter
src/plone/app/blob/tests/base.py:28:1: E305 expected 2 blank lines after class or function definition, found 1
src/plone/app/blob/tests/base.py:36:1: E305 expected 2 blank lines after class or function definition, found 1
src/plone/app/blob/tests/base.py:59:65: Q000 Remove bad quotes.
src/plone/app/blob/tests/base.py:59:80: E501 line too long (85 > 79 characters)
src/plone/app/blob/tests/base.py:60:39: W292 no newline at end of file
src/plone/app/blob/tests/test_webdav.py:0:1: C101 Coding magic comment not found
src/plone/app/blob/tests/test_webdav.py:3:1: I001 isort found an import in the wrong position
src/plone/app/blob/tests/test_webdav.py:14:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/tests/test_webdav.py:15:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/tests/test_webdav.py:31:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/tests/test_webdav.py:32:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/tests/test_base_fields.py:0:1: C101 Coding magic comment not found
src/plone/app/blob/tests/test_base_fields.py:2:1: I004 isort found an unexpected blank line in imports
src/plone/app/blob/tests/test_base_fields.py:3:1: I001 isort found an import in the wrong position
src/plone/app/blob/tests/test_base_fields.py:4:1: I001 isort found an import in the wrong position
src/plone/app/blob/tests/test_base_fields.py:6:1: I001 isort found an import in the wrong position
src/plone/app/blob/tests/test_base_fields.py:7:1: I001 isort found an import in the wrong position
src/plone/app/blob/tests/test_base_fields.py:8:1: I001 isort found an import in the wrong position
src/plone/app/blob/tests/test_base_fields.py:9:1: I001 isort found an import in the wrong position
src/plone/app/blob/tests/test_base_fields.py:35:1: E305 expected 2 blank lines after class or function definition, found 1
src/plone/app/blob/tests/__init__.py:0:1: C101 Coding magic comment not found
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: I003 isort expected 1 blank line in imports, found 0
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: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/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_adapters.py:0:1: C101 Coding magic comment not found
src/plone/app/blob/tests/test_adapters.py:1:1: I001 isort found an import in the wrong position
src/plone/app/blob/tests/test_adapters.py:2:1: I001 isort found an import in the wrong position
src/plone/app/blob/tests/test_adapters.py:3:1: I001 isort found an import in the wrong position
src/plone/app/blob/tests/test_adapters.py:4:1: I001 isort found an import in the wrong position
src/plone/app/blob/tests/test_adapters.py:5:1: I001 isort found an import in the wrong position
src/plone/app/blob/tests/test_adapters.py:8:1: I001 isort found an import in the wrong position
src/plone/app/blob/tests/test_adapters.py:11:1: I003 isort expected 1 blank line in imports, found 0
src/plone/app/blob/tests/test_adapters.py:22:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/tests/test_adapters.py:32:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/tests/test_adapters.py:69:18: D001 found assertEquals( replace it with assertEqual
src/plone/app/blob/tests/test_adapters.py:70:18: D001 found assertEquals( replace it with assertEqual
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:6:1: I001 isort found an import in the wrong position
src/plone/app/blob/tests/lingua.py:7:1: I001 isort found an import in the wrong position
src/plone/app/blob/tests/lingua.py:9:1: I003 isort expected 1 blank line in imports, found 0
src/plone/app/blob/tests/lingua.py:17:29: E127 continuation line over-indented for visual indent
src/plone/app/blob/tests/lingua.py:32:1: E305 expected 2 blank lines after class or function definition, found 1
src/plone/app/blob/tests/test_doctests.py:0:1: C101 Coding magic comment not found
src/plone/app/blob/tests/test_doctests.py:1:1: I003 isort expected 1 blank line in imports, found 0
src/plone/app/blob/tests/test_doctests.py:2:1: I001 isort found an import in the wrong position
src/plone/app/blob/tests/test_doctests.py:3:1: I004 isort found an unexpected blank line in imports
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:4:80: E501 line too long (87 > 79 characters)
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: I004 isort found an unexpected blank line in imports
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:17:12: E131 continuation line unaligned for hanging indent
src/plone/app/blob/tests/test_doctests.py:24:16: E131 continuation line unaligned for hanging indent
src/plone/app/blob/tests/test_doctests.py:31:16: E131 continuation line unaligned for hanging indent
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:4: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:7:1: I001 isort found an import in the wrong position
src/plone/app/blob/tests/test_linguaplone.py:16:13: E128 continuation line under-indented for visual indent
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:2:1: I001 isort found an import in the wrong position
src/plone/app/blob/tests/layer.py:6:1: I001 isort found an import in the wrong position
src/plone/app/blob/tests/layer.py:7:1: I001 isort found an import in the wrong position
src/plone/app/blob/tests/layer.py:17:43: Q000 Remove bad quotes.
src/plone/app/blob/tests/layer.py:29:1: E305 expected 2 blank lines after class or function definition, found 1
src/plone/app/blob/tests/layer.py:30:68: Q000 Remove bad quotes.
src/plone/app/blob/tests/layer.py:30:80: E501 line too long (85 > 79 characters)
src/plone/app/blob/tests/layer.py:45:39: S001 found module formatter
src/plone/app/blob/tests/layer.py:57:80: E501 line too long (84 > 79 characters)
src/plone/app/blob/tests/layer.py:66:1: E305 expected 2 blank lines after class or function definition, found 1
src/plone/app/blob/tests/layer.py:68:46: Q000 Remove bad quotes.
src/plone/app/blob/tests/layer.py:99:1: E305 expected 2 blank lines after class or function definition, found 1
src/plone/app/blob/tests/layer.py:101:41: Q000 Remove bad quotes.
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:3: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:13:1: I001 isort found an import in the wrong position
src/plone/app/blob/subtypes/image.py:18:5: D001 found implements( replace it with zope.interface.implementer
src/plone/app/blob/subtypes/image.py:23:12: P002 found "hasattr", consider replacing it
src/plone/app/blob/subtypes/image.py:28:5: D001 found implements( replace it with zope.interface.implementer
src/plone/app/blob/subtypes/image.py:32:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/subtypes/image.py:33:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/subtypes/image.py:34:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/subtypes/image.py:35:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/subtypes/image.py:36:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/subtypes/image.py:37:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/subtypes/image.py:38:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/subtypes/image.py:39:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/subtypes/image.py:40:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/subtypes/image.py:41:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/subtypes/image.py:42:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/subtypes/image.py:43:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/subtypes/image.py:44:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/subtypes/image.py:45:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/subtypes/image.py:46:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/subtypes/image.py:47:27: E127 continuation line over-indented for visual indent
src/plone/app/blob/subtypes/image.py:49:34: E127 continuation line over-indented for visual indent
src/plone/app/blob/subtypes/image.py:50:34: E127 continuation line over-indented for visual indent
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:20:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/subtypes/blob.py:21:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/subtypes/blob.py:22:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/subtypes/blob.py:23:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/subtypes/blob.py:24:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/subtypes/blob.py:25:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/subtypes/blob.py:26:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/subtypes/blob.py:27:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/subtypes/blob.py:28:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/subtypes/blob.py:29:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/subtypes/blob.py:30:27: E127 continuation line over-indented for visual indent
src/plone/app/blob/subtypes/blob.py:32:33: E127 continuation line over-indented for visual indent
src/plone/app/blob/subtypes/blob.py:33:33: E127 continuation line over-indented for visual indent
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:24:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/subtypes/file.py:25:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/subtypes/file.py:26:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/subtypes/file.py:27:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/subtypes/file.py:28:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/subtypes/file.py:29:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/subtypes/file.py:30:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/subtypes/file.py:31:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/subtypes/file.py:32:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/subtypes/file.py:33:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/subtypes/file.py:34:27: E127 continuation line over-indented for visual indent
src/plone/app/blob/subtypes/file.py:36:33: E127 continuation line over-indented for visual indent
src/plone/app/blob/subtypes/file.py:37:33: E127 continuation line over-indented for visual indent
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.


@thet Jenkins CI reporting about code analysis
See the full report here: http://jenkins.plone.org/job/package-plone.app.blob/26/violations
```
src/plone/app/blob/iterators.py:13:9: D001 found implements( replace it with zope.interface.implementer
src/plone/app/blob/scale.py:27:5: D001 found adapts( replace it with zope.component.adapter
src/plone/app/blob/scale.py:74:5: D001 found adapts( replace it with zope.component.adapter
src/plone/app/blob/content.py:254:1: E305 expected 2 blank lines after class or function definition, found 1
src/plone/app/blob/interfaces.py:10:37: Q000 Remove bad quotes.
src/plone/app/blob/interfaces.py:13:17: Q000 Remove bad quotes.
src/plone/app/blob/interfaces.py:14:23: Q000 Remove bad quotes.
src/plone/app/blob/markings.py:9:1: I001 isort found an import in the wrong position
src/plone/app/blob/markings.py:10:1: I001 isort found an import in the wrong position
src/plone/app/blob/markings.py:11:1: I001 isort found an import in the wrong position
src/plone/app/blob/monkey.py:47:1: E305 expected 2 blank lines after class or function definition, found 1
src/plone/app/blob/monkey.py:53:12: P002 found "hasattr", consider replacing it
src/plone/app/blob/monkey.py:56:1: E305 expected 2 blank lines after class or function definition, found 1
src/plone/app/blob/migrations.py:43:1: C901 'makeMigrator' is too complex (15)
src/plone/app/blob/migrations.py:55:80: E501 line too long (115 > 79 characters)
src/plone/app/blob/migrations.py:83:20: P002 found "hasattr", consider replacing it
src/plone/app/blob/field.py:45:12: P002 found "hasattr", consider replacing it
src/plone/app/blob/field.py:198:1: E305 expected 2 blank lines after class or function definition, found 1
src/plone/app/blob/field.py:278:16: P002 found "hasattr", consider replacing it
src/plone/app/blob/field.py:343:1: E305 expected 2 blank lines after class or function definition, found 1
src/plone/app/blob/field.py:360:1: E305 expected 2 blank lines after class or function definition, found 1
src/plone/app/blob/field.py:387:12: P002 found "hasattr", consider replacing it
src/plone/app/blob/field.py:390:1: E305 expected 2 blank lines after class or function definition, found 1
src/plone/app/blob/download.py:35:1: C901 'handleRequestRange' is too complex (12)
src/plone/app/blob/browser/size.py:46:9: E731 do not assign a lambda expression, use a def
src/plone/app/blob/adapters/pdata.py:13:5: D001 found adapts( replace it with zope.component.adapter
src/plone/app/blob/adapters/blobwrapper.py:12:5: D001 found adapts( replace it with zope.component.adapter
src/plone/app/blob/adapters/atimage.py:9:5: D001 found adapts( replace it with zope.component.adapter
src/plone/app/blob/adapters/webdav.py:12:5: D001 found adapts( replace it with zope.component.adapter
src/plone/app/blob/adapters/file.py:11:5: D001 found adapts( replace it with zope.component.adapter
src/plone/app/blob/adapters/xmlrpc.py:12:5: D001 found adapts( replace it with zope.component.adapter
src/plone/app/blob/adapters/atfile.py:12:5: D001 found adapts( replace it with zope.component.adapter
src/plone/app/blob/adapters/stringio.py:12:5: D001 found adapts( replace it with zope.component.adapter
src/plone/app/blob/adapters/fileupload.py:17:5: D001 found adapts( replace it with zope.component.adapter
src/plone/app/blob/adapters/ofsfile.py:11:5: D001 found adapts( replace it with zope.component.adapter
src/plone/app/blob/tests/test_replacements.py:20:1: I001 isort found an import in the wrong position
src/plone/app/blob/tests/test_replacements.py:398:9: E731 do not assign a lambda expression, use a def
src/plone/app/blob/tests/base.py:29:1: E305 expected 2 blank lines after class or function definition, found 1
src/plone/app/blob/tests/base.py:37:1: E305 expected 2 blank lines after class or function definition, found 1
src/plone/app/blob/tests/test_base_fields.py:40:1: E305 expected 2 blank lines after class or function definition, found 1
src/plone/app/blob/tests/utils.py:59:9: T001 print statement found.
src/plone/app/blob/tests/utils.py:60:9: T001 print statement found.
src/plone/app/blob/tests/utils.py:61:9: T001 print statement found.
src/plone/app/blob/tests/lingua.py:35:1: E305 expected 2 blank lines after class or function definition, found 1
src/plone/app/blob/tests/layer.py:30:1: E305 expected 2 blank lines after class or function definition, found 1
src/plone/app/blob/tests/layer.py:74:1: E305 expected 2 blank lines after class or function definition, found 1
src/plone/app/blob/tests/layer.py:109:1: E305 expected 2 blank lines after class or function definition, found 1
src/plone/app/blob/subtypes/image.py:25:12: P002 found "hasattr", consider replacing it
```
Follow [these instructions](https://github.com/plone/jenkins.plone.org/blob/master/docs/source/run-qa-on-package.rst) to reproduce it locally.