@mauritsvanrees Jenkins CI reporting about code analysis
See the full report here: https://jenkins.plone.org/job/package-plone.app.blob/76/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/__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/config.py:0:1: C101 Coding magic comment not found
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:133:13: T000 Todo note found.
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/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 (14)
src/plone/app/blob/download.py:60:17: B901 blind except: statement
src/plone/app/blob/download.py:80:21: S001 found module formatter
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:97:24: C812 missing trailing comma
src/plone/app/blob/field.py:99:25: C812 missing trailing comma
src/plone/app/blob/field.py:106:32: Q000 Remove bad quotes.
src/plone/app/blob/field.py:143:11: T000 Todo note found.
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:282:46: C812 missing trailing comma
src/plone/app/blob/field.py:288:24: C812 missing trailing comma
src/plone/app/blob/field.py:290:25: C812 missing trailing comma
src/plone/app/blob/field.py:303:37: C812 missing trailing comma
src/plone/app/blob/field.py:309:50: T000 Todo note found.
src/plone/app/blob/field.py:313:38: C815 missing trailing comma in Python 3.5+
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:346:50: C812 missing trailing comma
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:362:50: C812 missing trailing comma
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/field.py:392:50: C812 missing trailing comma
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/interfaces.py:15:22: C812 missing trailing comma
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/markings.py:0:1: C101 Coding magic comment not found
src/plone/app/blob/markings.py:2:3: T000 Todo note 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/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/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/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/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/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/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/atimage.py:0:1: C101 Coding magic comment not found
src/plone/app/blob/adapters/atimage.py:2:1: I004 isort found an unexpected blank line in imports
src/plone/app/blob/adapters/atimage.py:3:1: I001 isort found an import in the wrong position
src/plone/app/blob/adapters/atimage.py:4:1: I001 isort found an import in the wrong position
src/plone/app/blob/adapters/atimage.py:9:5: D001 found adapts( replace it with zope.component.adapter
src/plone/app/blob/adapters/atimage.py:17:43: T000 Todo note found.
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/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/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/adapters/ofsfile.py:18:51: T000 Todo note found.
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/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/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/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/browser/__init__.py:0:1: C101 Coding magic comment not found
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:28:12: 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/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/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:29:19: S001 found module formatter
src/plone/app/blob/browser/size.py:41:16: S001 found module formatter
src/plone/app/blob/browser/size.py:45:9: E731 do not assign a lambda expression, use a def
src/plone/app/blob/subtypes/__init__.py:0:1: C101 Coding magic comment not found
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/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/tests/__init__.py:0:1: C101 Coding magic comment not found
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/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/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/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/patches.py:0:1: C101 Coding magic comment not found
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/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/test_base_fields.py:96:43: C812 missing trailing comma
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_doctests.py:31:38: C812 missing trailing comma
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:216:80: E501 line too long (81 > 79 characters)
src/plone/app/blob/tests/test_integration.py:222:80: E501 line too long (86 > 79 characters)
src/plone/app/blob/tests/test_integration.py:230:37: S001 found module formatter
src/plone/app/blob/tests/test_integration.py:231:17: E128 continuation line under-indented for visual indent
src/plone/app/blob/tests/test_integration.py:236:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/tests/test_integration.py:238:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/tests/test_integration.py:240:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/tests/test_integration.py:242:13: E128 continuation line under-indented for visual indent
src/plone/app/blob/tests/test_integration.py:244:13: E128 continuation line under-indented for visual 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/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_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:280:82: C812 missing trailing comma
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/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:47:39: S001 found module formatter
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:67:37: S001 found module formatter
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_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_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/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:14:18: Q001 Remove bad quotes from multiline string.
src/plone/app/blob/tests/utils.py:26:20: S001 found module formatter
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.
```
Follow [these instructions](https://github.com/plone/jenkins.plone.org/blob/master/docs/source/run-qa-on-package.rst) to reproduce it locally.


VideoRepository is cool


Thanks Peter!


<report no="C-1996-83" title="Using sgrep for querying structured text files" date="November 1996" pages="11" genterms="Design, Languages" keywords="text seach tools, structured documents, SGML" issn="" isbn="">
<author name="Jani Jaakkola"/>
<author name="Pekka Kilpeläinen"/>
<class name="H.2.3 [Database management]: Languages"/>
<class name="H.3.3 [Information storage and retrieval]: Information search and retrieval"/>
<class name="I.7.2 [Text processing]: Document Preparation"/>
<file url="C-1996-83.ps.gz"/>
<abstract>
<p>
Sgrep is a Unix tool for searching the contents of text files. Sgrep implements an algebra of unrestricted text fragments called regions. The algebra allows the retrieval of document components, represented as regions, based on conditions on their relative containment and ordering. This simple yet powerful model is suitable for querying structured document formats like electronic mail, RTF, LaTeX, HTML, or SGML documents. We describe the sgrep query language and give examples of its use. Especially, we explain how sgrep can be used for querying and assembling SGML documents.
</p>
</abstract>
</report>


@mauritsvanrees Jenkins CI reporting about code analysis
See the full report here: https://jenkins.plone.org/job/package-plone.app.caching/58/violations
```
plone/app/caching/lookup.py:57:5: C901 'ContentItemLookup.__call__' is too complex (12)
plone/app/caching/purge.py:182:5: C901 'ScalesPurgePaths.getRelativePaths' is too complex (12)
plone/app/caching/testing.py:49:9: D001 found xmlconfig.file( replace it with self.loadZCML(
plone/app/caching/utils.py:63:11: T000 Todo note found.
plone/app/caching/browser/controlpanel.py:31:1: I001 isort found an import in the wrong position
plone/app/caching/browser/controlpanel.py:39:12: C812 missing trailing comma
plone/app/caching/browser/controlpanel.py:90:5: C901 'ControlPanel.publishTraverse' is too complex (11)
plone/app/caching/browser/controlpanel.py:172:5: C901 'ControlPanel.processSave' is too complex (34)
plone/app/caching/browser/controlpanel.py:439:45: E231 missing whitespace after ':'
plone/app/caching/browser/controlpanel.py:439:80: E501 line too long (85 > 79 characters)
plone/app/caching/browser/controlpanel.py:568:5: C901 'Purge.processPurge' is too complex (19)
plone/app/caching/browser/edit.py:208:11: T000 Todo note found.
plone/app/caching/browser/edit.py:271:21: C812 missing trailing comma
plone/app/caching/operations/default.py:76:59: C812 missing trailing comma
plone/app/caching/operations/default.py:137:32: C815 missing trailing comma in Python 3.5+
plone/app/caching/operations/default.py:142:5: C901 'BaseCaching.modifyResponse' is too complex (11)
plone/app/caching/operations/default.py:175:15: T000 Todo note found.
plone/app/caching/operations/default.py:234:51: C812 missing trailing comma
plone/app/caching/operations/default.py:287:58: C812 missing trailing comma
plone/app/caching/operations/utils.py:362:1: C901 'isModified' is too complex (14)
plone/app/caching/operations/utils.py:434:7: T000 Todo note found.
plone/app/caching/tests/test_profile_with_caching_proxy.py:150:26: S001 found module formatter
plone/app/caching/tests/test_profile_with_caching_proxy.py:165:26: S001 found module formatter
plone/app/caching/tests/test_profile_with_caching_proxy.py:184:26: S001 found module formatter
plone/app/caching/tests/test_profile_with_caching_proxy.py:230:26: S001 found module formatter
plone/app/caching/tests/test_profile_with_caching_proxy.py:247:26: S001 found module formatter
plone/app/caching/tests/test_profile_with_caching_proxy.py:267:26: S001 found module formatter
plone/app/caching/tests/test_purge.py:43:1: I003 isort expected 1 blank line in imports, found 0
```
Follow [these instructions](https://github.com/plone/jenkins.plone.org/blob/master/docs/source/run-qa-on-package.rst) to reproduce it locally.


TeamCity ImageHunt / Build [Build 163](http://51.255.204.38:8111/viewLog.html?buildId=583&buildTypeId=ImageHunt_BuildPullRequest) outcome was **SUCCESS**
Summary: Tests passed: 458, ignored: 1 Build time: 00:04:14