)]}'
{"bashate/bashate.py":[{"author":{"_account_id":167,"name":"Christian Berendt","email":"berendt@osism.tech","username":"berendt"},"change_message_id":"ad44e4c744a3d0ef5b18d4f7f0d18918ef2df94f","unresolved":false,"context_lines":[{"line_number":107,"context_line":"        self.ERRORS \u003d self.ERRORS + 1"},{"line_number":108,"context_line":"        self.log_error(error, line, filename, filelineno)"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"    @staticmethod"},{"line_number":111,"context_line":"    def log_error(error, line, filename, filelineno):"},{"line_number":112,"context_line":"        print(\"%s: \u0027%s\u0027\" % (error, line.rstrip(\u0027\\n\u0027)))"},{"line_number":113,"context_line":"        print(\" - %s : L%s\" % (filename, filelineno))"}],"source_content_type":"text/x-python","patch_set":1,"id":"baa201ad_61986b6a","line":110,"updated":"2014-10-09 07:38:41.000000000","message":"This change is not mentioned in the commit message.","commit_id":"fe58164f077303231f9ba52141fa0a28a25faefc"},{"author":{"_account_id":8895,"name":"Stanislav Kudriashev","email":"stas.kudriashev@gmail.com","username":"skudriashev"},"change_message_id":"b5d8e42cef58fd4dfa7c8e446ac465ed5fcb0caa","unresolved":false,"context_lines":[{"line_number":107,"context_line":"        self.ERRORS \u003d self.ERRORS + 1"},{"line_number":108,"context_line":"        self.log_error(error, line, filename, filelineno)"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"    @staticmethod"},{"line_number":111,"context_line":"    def log_error(error, line, filename, filelineno):"},{"line_number":112,"context_line":"        print(\"%s: \u0027%s\u0027\" % (error, line.rstrip(\u0027\\n\u0027)))"},{"line_number":113,"context_line":"        print(\" - %s : L%s\" % (filename, filelineno))"}],"source_content_type":"text/x-python","patch_set":1,"id":"baa201ad_01431faf","line":110,"in_reply_to":"baa201ad_61986b6a","updated":"2014-10-09 07:43:57.000000000","message":"Done","commit_id":"fe58164f077303231f9ba52141fa0a28a25faefc"},{"author":{"_account_id":6635,"name":"John Davidge","email":"john.davidge@rackspace.com","username":"john-davidge"},"change_message_id":"459f62ed64c25e9aaa852ce10f82e8831a595773","unresolved":false,"context_lines":[{"line_number":73,"context_line":""},{"line_number":74,"context_line":"def starts_multiline(line):"},{"line_number":75,"context_line":"    m \u003d re.search(\"[^\u003c]\u003c\u003c\\s*(?P\u003ctoken\u003e\\w+)\", line)"},{"line_number":76,"context_line":"    return m.group(\u0027token\u0027) if m else False"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"def end_of_multiline(line, token):"}],"source_content_type":"text/x-python","patch_set":2,"id":"baa201ad_76af4895","line":76,"updated":"2014-10-09 12:11:51.000000000","message":"Compound statements are generally discouraged by pep8 and elsewhere in OpenStack, so I\u0027d prefer that this was left as the original multi-line if-statement.","commit_id":"899e550c5a687b25a95e9c18bd9373a21640c4f8"},{"author":{"_account_id":8411,"name":"Andrew Lazarev","email":"alazarev@mirantis.com","username":"alazarev"},"change_message_id":"c8a1942d7eb5e6317540846ea6d348c77d017a4a","unresolved":false,"context_lines":[{"line_number":73,"context_line":""},{"line_number":74,"context_line":"def starts_multiline(line):"},{"line_number":75,"context_line":"    m \u003d re.search(\"[^\u003c]\u003c\u003c\\s*(?P\u003ctoken\u003e\\w+)\", line)"},{"line_number":76,"context_line":"    return m.group(\u0027token\u0027) if m else False"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"def end_of_multiline(line, token):"}],"source_content_type":"text/x-python","patch_set":2,"id":"baa201ad_77081f29","line":76,"in_reply_to":"baa201ad_441c4e78","updated":"2014-10-09 14:54:40.000000000","message":"+1 to leave one line.","commit_id":"899e550c5a687b25a95e9c18bd9373a21640c4f8"},{"author":{"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},"change_message_id":"83486fbd2e785e9d0258e204dd846103b9679cd3","unresolved":false,"context_lines":[{"line_number":73,"context_line":""},{"line_number":74,"context_line":"def starts_multiline(line):"},{"line_number":75,"context_line":"    m \u003d re.search(\"[^\u003c]\u003c\u003c\\s*(?P\u003ctoken\u003e\\w+)\", line)"},{"line_number":76,"context_line":"    return m.group(\u0027token\u0027) if m else False"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"def end_of_multiline(line, token):"}],"source_content_type":"text/x-python","patch_set":2,"id":"baa201ad_f9724b10","line":76,"in_reply_to":"baa201ad_76af4895","updated":"2014-10-09 12:51:31.000000000","message":"John, this isn\u0027t 2 lines squished into one line this is Python\u0027s ternary operator and is  acceptable under pep8. \"result if test else alternative\" not \"if test: return result\" which would be discouraged","commit_id":"899e550c5a687b25a95e9c18bd9373a21640c4f8"},{"author":{"_account_id":8895,"name":"Stanislav Kudriashev","email":"stas.kudriashev@gmail.com","username":"skudriashev"},"change_message_id":"a2d87957226939b963da488c8f4e595354d93525","unresolved":false,"context_lines":[{"line_number":73,"context_line":""},{"line_number":74,"context_line":"def starts_multiline(line):"},{"line_number":75,"context_line":"    m \u003d re.search(\"[^\u003c]\u003c\u003c\\s*(?P\u003ctoken\u003e\\w+)\", line)"},{"line_number":76,"context_line":"    return m.group(\u0027token\u0027) if m else False"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"def end_of_multiline(line, token):"}],"source_content_type":"text/x-python","patch_set":2,"id":"baa201ad_441c4e78","line":76,"in_reply_to":"baa201ad_f9724b10","updated":"2014-10-09 13:33:13.000000000","message":"If possible I would leave it in one line.","commit_id":"899e550c5a687b25a95e9c18bd9373a21640c4f8"},{"author":{"_account_id":866,"name":"Chmouel Boudjnah","email":"chmouel@chmouel.com","username":"chmouel"},"change_message_id":"c66623b5dc8b2919b84a5fb7b0b24c84a2a5236d","unresolved":false,"context_lines":[{"line_number":107,"context_line":"        self.ERRORS \u003d self.ERRORS + 1"},{"line_number":108,"context_line":"        self.log_error(error, line, filename, filelineno)"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"    @staticmethod"},{"line_number":111,"context_line":"    def log_error(error, line, filename, filelineno):"},{"line_number":112,"context_line":"        print(\"%s: \u0027%s\u0027\" % (error, line.rstrip(\u0027\\n\u0027)))"},{"line_number":113,"context_line":"        print(\" - %s : L%s\" % (filename, filelineno))"}],"source_content_type":"text/x-python","patch_set":2,"id":"baa201ad_d7c63567","line":110,"updated":"2014-10-09 09:06:44.000000000","message":"any reasons why this was changed to staticmethod?","commit_id":"899e550c5a687b25a95e9c18bd9373a21640c4f8"},{"author":{"_account_id":866,"name":"Chmouel Boudjnah","email":"chmouel@chmouel.com","username":"chmouel"},"change_message_id":"a2713e488fb5f4f7f44ab6ac460f5af248dc2116","unresolved":false,"context_lines":[{"line_number":107,"context_line":"        self.ERRORS \u003d self.ERRORS + 1"},{"line_number":108,"context_line":"        self.log_error(error, line, filename, filelineno)"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"    @staticmethod"},{"line_number":111,"context_line":"    def log_error(error, line, filename, filelineno):"},{"line_number":112,"context_line":"        print(\"%s: \u0027%s\u0027\" % (error, line.rstrip(\u0027\\n\u0027)))"},{"line_number":113,"context_line":"        print(\" - %s : L%s\" % (filename, filelineno))"}],"source_content_type":"text/x-python","patch_set":2,"id":"baa201ad_e4b70239","line":110,"in_reply_to":"baa201ad_76166857","updated":"2014-10-09 13:06:10.000000000","message":"+1 to what Sam says","commit_id":"899e550c5a687b25a95e9c18bd9373a21640c4f8"},{"author":{"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},"change_message_id":"83486fbd2e785e9d0258e204dd846103b9679cd3","unresolved":false,"context_lines":[{"line_number":107,"context_line":"        self.ERRORS \u003d self.ERRORS + 1"},{"line_number":108,"context_line":"        self.log_error(error, line, filename, filelineno)"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"    @staticmethod"},{"line_number":111,"context_line":"    def log_error(error, line, filename, filelineno):"},{"line_number":112,"context_line":"        print(\"%s: \u0027%s\u0027\" % (error, line.rstrip(\u0027\\n\u0027)))"},{"line_number":113,"context_line":"        print(\" - %s : L%s\" % (filename, filelineno))"}],"source_content_type":"text/x-python","patch_set":2,"id":"baa201ad_76166857","line":110,"in_reply_to":"baa201ad_769d8859","updated":"2014-10-09 12:51:31.000000000","message":"If that is truly the case, that this isn\u0027t required to be an instance method then this function could simply be moved to the global space below end_of_multiline, and then used as log_error instead of self.log_error.","commit_id":"899e550c5a687b25a95e9c18bd9373a21640c4f8"},{"author":{"_account_id":6635,"name":"John Davidge","email":"john.davidge@rackspace.com","username":"john-davidge"},"change_message_id":"459f62ed64c25e9aaa852ce10f82e8831a595773","unresolved":false,"context_lines":[{"line_number":107,"context_line":"        self.ERRORS \u003d self.ERRORS + 1"},{"line_number":108,"context_line":"        self.log_error(error, line, filename, filelineno)"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"    @staticmethod"},{"line_number":111,"context_line":"    def log_error(error, line, filename, filelineno):"},{"line_number":112,"context_line":"        print(\"%s: \u0027%s\u0027\" % (error, line.rstrip(\u0027\\n\u0027)))"},{"line_number":113,"context_line":"        print(\" - %s : L%s\" % (filename, filelineno))"}],"source_content_type":"text/x-python","patch_set":2,"id":"baa201ad_769d8859","line":110,"in_reply_to":"baa201ad_d21e43ba","updated":"2014-10-09 12:11:51.000000000","message":"This seems unnecessary to me. It offers no benefit.","commit_id":"899e550c5a687b25a95e9c18bd9373a21640c4f8"},{"author":{"_account_id":8895,"name":"Stanislav Kudriashev","email":"stas.kudriashev@gmail.com","username":"skudriashev"},"change_message_id":"fc25038bc333c8d75d3e45e1318026f4e56dd6ca","unresolved":false,"context_lines":[{"line_number":107,"context_line":"        self.ERRORS \u003d self.ERRORS + 1"},{"line_number":108,"context_line":"        self.log_error(error, line, filename, filelineno)"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"    @staticmethod"},{"line_number":111,"context_line":"    def log_error(error, line, filename, filelineno):"},{"line_number":112,"context_line":"        print(\"%s: \u0027%s\u0027\" % (error, line.rstrip(\u0027\\n\u0027)))"},{"line_number":113,"context_line":"        print(\" - %s : L%s\" % (filename, filelineno))"}],"source_content_type":"text/x-python","patch_set":2,"id":"baa201ad_d21e43ba","line":110,"in_reply_to":"baa201ad_d7c63567","updated":"2014-10-09 09:58:58.000000000","message":"Why not?:) This method doesn\u0027t interact with object, so it can be static.","commit_id":"899e550c5a687b25a95e9c18bd9373a21640c4f8"},{"author":{"_account_id":8895,"name":"Stanislav Kudriashev","email":"stas.kudriashev@gmail.com","username":"skudriashev"},"change_message_id":"a2d87957226939b963da488c8f4e595354d93525","unresolved":false,"context_lines":[{"line_number":107,"context_line":"        self.ERRORS \u003d self.ERRORS + 1"},{"line_number":108,"context_line":"        self.log_error(error, line, filename, filelineno)"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"    @staticmethod"},{"line_number":111,"context_line":"    def log_error(error, line, filename, filelineno):"},{"line_number":112,"context_line":"        print(\"%s: \u0027%s\u0027\" % (error, line.rstrip(\u0027\\n\u0027)))"},{"line_number":113,"context_line":"        print(\" - %s : L%s\" % (filename, filelineno))"}],"source_content_type":"text/x-python","patch_set":2,"id":"baa201ad_843f16d6","line":110,"in_reply_to":"baa201ad_e4b70239","updated":"2014-10-09 13:33:13.000000000","message":"I\u0027m fine with moving it to the global space. So +1.","commit_id":"899e550c5a687b25a95e9c18bd9373a21640c4f8"},{"author":{"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"},"change_message_id":"59466f957e5004584db9a74654c5a602b094c220","unresolved":false,"context_lines":[{"line_number":82,"context_line":"    return False"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"def log_error(error, line, filename, filelineno):"},{"line_number":86,"context_line":"    print(\"%s: \u0027%s\u0027\" % (error, line.rstrip(\u0027\\n\u0027)))"},{"line_number":87,"context_line":"    print(\" - %s : L%s\" % (filename, filelineno))"},{"line_number":88,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"baa201ad_068bd168","line":85,"updated":"2014-10-13 22:07:02.000000000","message":"i don\u0027t see any reason to make this global, it\u0027s clearly intended to be used as a helpfer from print_error","commit_id":"ffd62014c4edb814bf6c20c10eb4d696dd0a883d"},{"author":{"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"},"change_message_id":"c90e7e5ca10b00d48aa0bd8c377f883a319a65db","unresolved":false,"context_lines":[{"line_number":84,"context_line":"def end_of_multiline(line, token):"},{"line_number":85,"context_line":"    if token:"},{"line_number":86,"context_line":"        return re.search(\"^%s\\s*$\" % token, line) is not None"},{"line_number":87,"context_line":"    return False"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"def check_arithmetic(line, report):"}],"source_content_type":"text/x-python","patch_set":4,"id":"baa201ad_1a84f6d2","line":87,"updated":"2014-10-14 10:26:05.000000000","message":"why not modify this-one too?","commit_id":"807019cc80eda610db9090f22cb3ef803f4c3d68"},{"author":{"_account_id":8895,"name":"Stanislav Kudriashev","email":"stas.kudriashev@gmail.com","username":"skudriashev"},"change_message_id":"2eb5eb7902c07c3c182f0e57d3e1c9fe4f26eb21","unresolved":false,"context_lines":[{"line_number":84,"context_line":"def end_of_multiline(line, token):"},{"line_number":85,"context_line":"    if token:"},{"line_number":86,"context_line":"        return re.search(\"^%s\\s*$\" % token, line) is not None"},{"line_number":87,"context_line":"    return False"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"def check_arithmetic(line, report):"}],"source_content_type":"text/x-python","patch_set":4,"id":"baa201ad_315b7ff7","line":87,"in_reply_to":"baa201ad_1a84f6d2","updated":"2014-10-15 07:56:30.000000000","message":"Done","commit_id":"807019cc80eda610db9090f22cb3ef803f4c3d68"},{"author":{"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},"change_message_id":"db0bd5ff631ad0f4f9cf1abe53887166ccd49183","unresolved":false,"context_lines":[{"line_number":82,"context_line":""},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"def end_of_multiline(line, token):"},{"line_number":85,"context_line":"    return re.search(\"^%s\\s*$\" % token, line) is not None if token else False"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"def check_arithmetic(line, report):"}],"source_content_type":"text/x-python","patch_set":5,"id":"baa201ad_b573d84c","line":85,"updated":"2014-10-15 09:54:07.000000000","message":"Could this be \"return (token and re.search(\"^%s\\s*$\" % token, line) is not None)\" or something similar, I don\u0027t think the whole if statement is necessary.","commit_id":"0636e898ffac31b401e455b312a7610eb5a99d06"},{"author":{"_account_id":8895,"name":"Stanislav Kudriashev","email":"stas.kudriashev@gmail.com","username":"skudriashev"},"change_message_id":"20be1be5309aa5fb1e6f7e116de51d73e9ef9d59","unresolved":false,"context_lines":[{"line_number":82,"context_line":""},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"def end_of_multiline(line, token):"},{"line_number":85,"context_line":"    return re.search(\"^%s\\s*$\" % token, line) is not None if token else False"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"def check_arithmetic(line, report):"}],"source_content_type":"text/x-python","patch_set":5,"id":"baa201ad_ae2c4d9a","line":85,"in_reply_to":"baa201ad_b573d84c","updated":"2014-10-16 07:02:45.000000000","message":"Done","commit_id":"0636e898ffac31b401e455b312a7610eb5a99d06"},{"author":{"_account_id":5371,"name":"Mathew Odden","email":"locke105@gmail.com","username":"locke105"},"change_message_id":"ea0503355b3c3826f3372ac776967c2d6fa80ed4","unresolved":false,"context_lines":[{"line_number":236,"context_line":"    if run.ERRORS:"},{"line_number":237,"context_line":"        print(\"%d bashate error(s) found\" % run.ERRORS)"},{"line_number":238,"context_line":"        return 1"},{"line_number":239,"context_line":"    return 0"},{"line_number":240,"context_line":""},{"line_number":241,"context_line":""},{"line_number":242,"context_line":"if __name__ \u003d\u003d \"__main__\":"}],"source_content_type":"text/x-python","patch_set":7,"id":"3a961159_6ce770ad","line":239,"updated":"2014-12-15 22:45:00.000000000","message":"We actually don\u0027t have any test coverage on this currently, so a unit test would be nice here.","commit_id":"4e8429a5458dca0a5d32c6a3c92ed2a765370f25"}]}
