)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"fc87168c0b5636b5329e840b445945d2747b1273","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"1aa78d24_c8563305","updated":"2016-07-07 01:53:32.000000000","message":"please add why you changed the response codes from string to int and why it was needed for py35","commit_id":"fbf059e8ced1d5a1d3460bc186914907486b01b3"},{"author":{"_account_id":8119,"name":"Eric Brown","email":"eric_wade_brown@yahoo.com","username":"ericwb"},"change_message_id":"dc380e73bfc6051555c290a37478094375a13819","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"1aa78d24_ff112253","in_reply_to":"1aa78d24_c8563305","updated":"2016-07-07 02:57:42.000000000","message":"Sure will do in next patch set.","commit_id":"fbf059e8ced1d5a1d3460bc186914907486b01b3"}],"keystone/tests/unit/ksfixtures/hacking.py":[{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"17ded653a24c15c5b231ae6d9f488bf9b0347ca3","unresolved":false,"context_lines":[{"line_number":80,"context_line":"            (32, 11, \u0027K001\u0027),"},{"line_number":81,"context_line":"        ]}"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"    # NOTE(browne): This is gross, but in Python 3.4 and earlier, the ast"},{"line_number":84,"context_line":"    # module returns the incorrect col_offset for two of the defined functions"},{"line_number":85,"context_line":"    # in the code sample above."},{"line_number":86,"context_line":"    py_version \u003d float(\u0027%d.%d\u0027 % (sys.version_info[0], sys.version_info[1]))"}],"source_content_type":"text/x-python","patch_set":8,"id":"1aa78d24_bbd1e531","line":83,"range":{"start_line":83,"start_character":20,"end_line":83,"end_character":33},"updated":"2016-07-15 04:09:21.000000000","message":"oh wow, that is gross","commit_id":"b9eb5f6e44c7847b6b4c67c2a4e7ca273e625926"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"439fa38c1e171ff0c9f004446f57be4c47d7f11a","unresolved":false,"context_lines":[{"line_number":83,"context_line":"    # NOTE(browne): This is gross, but in Python 3.4 and earlier, the ast"},{"line_number":84,"context_line":"    # module returns the incorrect col_offset for two of the defined functions"},{"line_number":85,"context_line":"    # in the code sample above."},{"line_number":86,"context_line":"    py_version \u003d float(\u0027%d.%d\u0027 % (sys.version_info[0], sys.version_info[1]))"},{"line_number":87,"context_line":"    if py_version \u003e\u003d 3.5:"},{"line_number":88,"context_line":"        mutable_default_args[\u0027expected_errors\u0027][12] \u003d (28, 26, \u0027K001\u0027)"},{"line_number":89,"context_line":"        mutable_default_args[\u0027expected_errors\u0027][14] \u003d (32, 10, \u0027K001\u0027)"}],"source_content_type":"text/x-python","patch_set":9,"id":"dada55a8_442f16f6","line":86,"updated":"2016-07-19 20:38:24.000000000","message":"This is a weird way to do this. The customary way is more like:\n    if sys.version_info \u003e\u003d (3, 5)","commit_id":"a5b8cb3d6e5fe0dda03cca747c8cbf3ef369fa84"},{"author":{"_account_id":8119,"name":"Eric Brown","email":"eric_wade_brown@yahoo.com","username":"ericwb"},"change_message_id":"cbaa22f60039e9f9b0d83c87ff6a3d88a3dd71f1","unresolved":false,"context_lines":[{"line_number":83,"context_line":"    # NOTE(browne): This is gross, but in Python 3.4 and earlier, the ast"},{"line_number":84,"context_line":"    # module returns the incorrect col_offset for two of the defined functions"},{"line_number":85,"context_line":"    # in the code sample above."},{"line_number":86,"context_line":"    py_version \u003d float(\u0027%d.%d\u0027 % (sys.version_info[0], sys.version_info[1]))"},{"line_number":87,"context_line":"    if py_version \u003e\u003d 3.5:"},{"line_number":88,"context_line":"        mutable_default_args[\u0027expected_errors\u0027][12] \u003d (28, 26, \u0027K001\u0027)"},{"line_number":89,"context_line":"        mutable_default_args[\u0027expected_errors\u0027][14] \u003d (32, 10, \u0027K001\u0027)"}],"source_content_type":"text/x-python","patch_set":9,"id":"dada55a8_8f276763","line":86,"in_reply_to":"dada55a8_442f16f6","updated":"2016-07-19 20:49:07.000000000","message":"Agreed, much nicer.","commit_id":"a5b8cb3d6e5fe0dda03cca747c8cbf3ef369fa84"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"652b03cea47b2ec0b7de78ba58d5164378bddb2f","unresolved":false,"context_lines":[{"line_number":84,"context_line":"    # module returns the incorrect col_offset for two of the defined functions"},{"line_number":85,"context_line":"    # in the code sample above."},{"line_number":86,"context_line":"    py_version \u003d float(\u0027%d.%d\u0027 % (sys.version_info[0], sys.version_info[1]))"},{"line_number":87,"context_line":"    if py_version \u003e\u003d 3.5:"},{"line_number":88,"context_line":"        mutable_default_args[\u0027expected_errors\u0027][12] \u003d (28, 26, \u0027K001\u0027)"},{"line_number":89,"context_line":"        mutable_default_args[\u0027expected_errors\u0027][14] \u003d (32, 10, \u0027K001\u0027)"},{"line_number":90,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"dada55a8_2961403a","line":87,"updated":"2016-07-19 09:33:27.000000000","message":"If indeed the values returned here are the correct ones, maybe it would be better to place these into the default list and have the wrong ones for py\u003c\u003d3.4 here as workaround?","commit_id":"a5b8cb3d6e5fe0dda03cca747c8cbf3ef369fa84"},{"author":{"_account_id":8119,"name":"Eric Brown","email":"eric_wade_brown@yahoo.com","username":"ericwb"},"change_message_id":"cbaa22f60039e9f9b0d83c87ff6a3d88a3dd71f1","unresolved":false,"context_lines":[{"line_number":84,"context_line":"    # module returns the incorrect col_offset for two of the defined functions"},{"line_number":85,"context_line":"    # in the code sample above."},{"line_number":86,"context_line":"    py_version \u003d float(\u0027%d.%d\u0027 % (sys.version_info[0], sys.version_info[1]))"},{"line_number":87,"context_line":"    if py_version \u003e\u003d 3.5:"},{"line_number":88,"context_line":"        mutable_default_args[\u0027expected_errors\u0027][12] \u003d (28, 26, \u0027K001\u0027)"},{"line_number":89,"context_line":"        mutable_default_args[\u0027expected_errors\u0027][14] \u003d (32, 10, \u0027K001\u0027)"},{"line_number":90,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"dada55a8_cf215f4f","line":87,"in_reply_to":"dada55a8_2961403a","updated":"2016-07-19 20:49:07.000000000","message":"Agreed, think I\u0027ll go that way instead.","commit_id":"a5b8cb3d6e5fe0dda03cca747c8cbf3ef369fa84"},{"author":{"_account_id":11022,"name":"Rodrigo Duarte Sousa","email":"rodrigodsousa@gmail.com","username":"rodrigods"},"change_message_id":"833737281626184559fa3374f999defc074de528","unresolved":false,"context_lines":[{"line_number":17,"context_line":"# flake8: noqa"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"import sys"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"import fixtures"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"dada55a8_7033d3f6","line":20,"updated":"2016-07-20 13:16:00.000000000","message":"nit: import sys and import fixtures should be part of the same block since they are both third-party imports","commit_id":"05b5dfe144958b70331a84118440d6bb0e2863e2"},{"author":{"_account_id":11022,"name":"Rodrigo Duarte Sousa","email":"rodrigodsousa@gmail.com","username":"rodrigods"},"change_message_id":"2ced4bdb13defbb0207beeecb4354800d5dc424a","unresolved":false,"context_lines":[{"line_number":17,"context_line":"# flake8: noqa"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"import sys"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"import fixtures"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"dada55a8_750bbd8e","line":20,"in_reply_to":"dada55a8_154ec13a","updated":"2016-07-20 15:04:32.000000000","message":"sorry, s/third-party/standard, thought \"fixtures\" was the same kind as \"sys\"","commit_id":"05b5dfe144958b70331a84118440d6bb0e2863e2"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"f46d4dae302532a49d4cc44dbb2ea5261e9e8135","unresolved":false,"context_lines":[{"line_number":17,"context_line":"# flake8: noqa"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"import sys"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"import fixtures"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"dada55a8_154ec13a","line":20,"in_reply_to":"dada55a8_7033d3f6","updated":"2016-07-20 15:00:56.000000000","message":"sys is python standard library","commit_id":"05b5dfe144958b70331a84118440d6bb0e2863e2"}],"keystone/tests/unit/test_hacking_checks.py":[{"author":{"_account_id":11022,"name":"Rodrigo Duarte Sousa","email":"rodrigodsousa@gmail.com","username":"rodrigods"},"change_message_id":"833737281626184559fa3374f999defc074de528","unresolved":false,"context_lines":[{"line_number":50,"context_line":""},{"line_number":51,"context_line":"    def assert_has_errors(self, code, expected_errors\u003dNone):"},{"line_number":52,"context_line":"        actual_errors \u003d [e[:3] for e in self.run_check(code)]"},{"line_number":53,"context_line":"        self.assertItemsEqual(expected_errors or [], actual_errors)"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"class TestCheckForMutableDefaultArgs(BaseStyleCheck):"}],"source_content_type":"text/x-python","patch_set":10,"id":"dada55a8_b0842b5e","line":53,"range":{"start_line":53,"start_character":19,"end_line":53,"end_character":24},"updated":"2016-07-20 13:16:00.000000000","message":"why changing this?","commit_id":"05b5dfe144958b70331a84118440d6bb0e2863e2"}],"tox.ini":[{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"4ac24564916ac4cbe93846ad55f4ab185d07e2cf","unresolved":false,"context_lines":[{"line_number":1,"context_line":"[tox]"},{"line_number":2,"context_line":"minversion \u003d 2.3.1"},{"line_number":3,"context_line":"skipsdist \u003d True"},{"line_number":4,"context_line":"envlist \u003d py35,py34,py27,pep8,api-ref,docs,genconfig,releasenotes"},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"[testenv]"},{"line_number":7,"context_line":"usedevelop \u003d True"}],"source_content_type":"text/x-properties","patch_set":8,"id":"1aa78d24_9c2b2d33","line":4,"updated":"2016-07-15 13:02:25.000000000","message":"Somehow I end up writing this comment for almost every project ...\n\nThis is the list of environments that get executed by default if you run tox without specifying one of them explicitly. As most systems will only have either py34 or py35 installed, I don\u0027t think it makes sense this way.\n\nI we agree that we are moving our default platform from Trusty to Xenial, then instead replacing py34 with py35 in this list would seem more useful.","commit_id":"b9eb5f6e44c7847b6b4c67c2a4e7ca273e625926"}]}
