{"comment":{"url":"https://api.github.com/repos/plone/plone.namedfile/comments/16264891","html_url":"https://github.com/plone/plone.namedfile/commit/fa876b3fc3f5fbb166584efbcc0fad20f2dda07c#commitcomment-16264891","id":16264891,"user":{"login":"jenkins-plone-org","id":2408953,"avatar_url":"https://avatars.githubusercontent.com/u/2408953?v=3","gravatar_id":"","url":"https://api.github.com/users/jenkins-plone-org","html_url":"https://github.com/jenkins-plone-org","followers_url":"https://api.github.com/users/jenkins-plone-org/followers","following_url":"https://api.github.com/users/jenkins-plone-org/following{/other_user}","gists_url":"https://api.github.com/users/jenkins-plone-org/gists{/gist_id}","starred_url":"https://api.github.com/users/jenkins-plone-org/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jenkins-plone-org/subscriptions","organizations_url":"https://api.github.com/users/jenkins-plone-org/orgs","repos_url":"https://api.github.com/users/jenkins-plone-org/repos","events_url":"https://api.github.com/users/jenkins-plone-org/events{/privacy}","received_events_url":"https://api.github.com/users/jenkins-plone-org/received_events","type":"User","site_admin":false},"position":null,"line":null,"path":null,"commit_id":"fa876b3fc3f5fbb166584efbcc0fad20f2dda07c","created_at":"2016-02-23T11:07:29Z","updated_at":"2016-02-23T11:07:29Z","body":"@thet Jenkins CI reporting about code analysis\nSee the full report here: http://jenkins.plone.org/job/package-plone.namedfile/6/violations\n```\nplone/namedfile/copy.py:0:1: I001 isort found changes, run it on the file\nplone/namedfile/file.py:291:1: C901 'getImageInfo' is too complex (15)\nplone/namedfile/file.py:302:30: Q000 Remove bad quotes.\nplone/namedfile/file.py:314:30: Q000 Remove bad quotes.\nplone/namedfile/file.py:322:30: Q000 Remove bad quotes.\nplone/namedfile/file.py:342:42: Q000 Remove bad quotes.\nplone/namedfile/file.py:345:49: Q000 Remove bad quotes.\nplone/namedfile/file.py:358:30: Q000 Remove bad quotes.\nplone/namedfile/file.py:361:43: Q000 Remove bad quotes.\nplone/namedfile/file.py:398:22: Q000 Remove bad quotes.\nplone/namedfile/marshaler.py:8:1: C901 'If 8' is too complex (13)\nplone/namedfile/marshaler.py:35:21: Q000 Remove bad quotes.\nplone/namedfile/scaling.py:62:26: S001 found %s formatter\nplone/namedfile/scaling.py:63:21: S001 found %s formatter\nplone/namedfile/scaling.py:100:26: Q000 Remove bad quotes.\nplone/namedfile/scaling.py:100:27: S001 found %s formatter\nplone/namedfile/scaling.py:147:34: Q000 Remove bad quotes.\nplone/namedfile/scaling.py:248:1: C901 'ImageScaling.create' is too complex (12)\nplone/namedfile/scaling.py:262:12: P002 found \"hasattr\", consider replacing it\nplone/namedfile/scaling.py:292:41: S001 found %r formatter\nplone/namedfile/scaling.py:297:31: S001 found %s formatter\nplone/namedfile/scaling.py:308:16: P002 found \"hasattr\", consider replacing it\nplone/namedfile/storages.py:47:31: Q000 Remove bad quotes.\nplone/namedfile/storages.py:59:31: Q000 Remove bad quotes.\nplone/namedfile/storages.py:76:34: Q000 Remove bad quotes.\nplone/namedfile/utils.py:54:24: Q000 Remove bad quotes.\nplone/namedfile/utils.py:55:24: Q000 Remove bad quotes.\nplone/namedfile/utils.py:59:58: Q000 Remove bad quotes.\nplone/namedfile/utils.py:60:49: Q000 Remove bad quotes.\nplone/namedfile/utils.py:62:13: Q000 Remove bad quotes.\nplone/namedfile/utils.py:63:43: S001 found %s formatter\nplone/namedfile/tests/base.py:54:17: S001 found %s formatter\nplone/namedfile/tests/base.py:60:27: S001 found %s formatter\nplone/namedfile/tests/test_blobfile.py:74:14: D001 found failUnless( replace it with assertTrue\nplone/namedfile/tests/test_blobfile.py:75:14: D001 found failUnless( replace it with assertTrue\nplone/namedfile/tests/test_blobfile.py:76:14: D001 found failUnless( replace it with assertTrue\nplone/namedfile/tests/test_blobfile.py:77:14: D001 found failUnless( replace it with assertTrue\nplone/namedfile/tests/test_blobfile.py:78:14: D001 found failUnless( replace it with assertTrue\nplone/namedfile/tests/test_doctests.py:0:1: C101 Coding magic comment not found\nplone/namedfile/tests/test_image.py:61:14: D001 found failUnless( replace it with assertTrue\nplone/namedfile/tests/test_image.py:62:14: D001 found failUnless( replace it with assertTrue\nplone/namedfile/tests/test_scaling.py:64:14: D001 found failUnless( replace it with assertTrue\nplone/namedfile/tests/test_scaling.py:79:14: D001 found failUnless( replace it with assertTrue\nplone/namedfile/tests/test_scaling.py:86:14: D001 found failUnless( replace it with assertTrue\nplone/namedfile/tests/test_scaling.py:91:32: S001 found %s formatter\nplone/namedfile/tests/test_scaling.py:92:70: S001 found % formatter\nplone/namedfile/tests/test_scaling.py:94:14: D001 found failUnless( replace it with assertTrue\nplone/namedfile/tests/test_scaling.py:109:14: D001 found failIf( replace it with assertFalse\nplone/namedfile/tests/test_scaling.py:158:32: S001 found %s formatter\nplone/namedfile/tests/test_scaling.py:159:70: S001 found % formatter\nplone/namedfile/tests/test_scaling.py:166:32: S001 found %s formatter\nplone/namedfile/tests/test_scaling.py:167:72: S001 found % formatter\nplone/namedfile/tests/test_scaling.py:174:32: S001 found %s formatter\nplone/namedfile/tests/test_scaling.py:175:72: S001 found % formatter\nplone/namedfile/tests/test_scaling.py:215:32: S001 found %s formatter\nplone/namedfile/tests/test_scaling.py:216:70: S001 found % formatter\nplone/namedfile/tests/test_scaling.py:218:14: D001 found failUnless( replace it with assertTrue\n```\nFollow [these instructions](https://github.com/plone/jenkins.plone.org/blob/master/docs/source/run-qa-on-package.rst) to reproduce it locally."}}