)]}'
{"nova/tests/functional/api_samples_test_base.py":[{"author":{"_account_id":9420,"name":"Matthew Gilliard","email":"matthew.gilliard@hp.com","username":"gilliard"},"change_message_id":"d7ce39c363d4e6817970ae5197ae5d24c30292e2","unresolved":false,"context_lines":[{"line_number":190,"context_line":"                    result \u003d self._objectify(result)"},{"line_number":191,"context_line":"                    res \u003d self._compare_result(subs, expected, result,"},{"line_number":192,"context_line":"                                           result_str)"},{"line_number":193,"context_line":"                    matched_value \u003d matched_value or res"},{"line_number":194,"context_line":"                    return matched_value"},{"line_number":195,"context_line":"                except ValueError:"},{"line_number":196,"context_line":"                    pass"}],"source_content_type":"text/x-python","patch_set":1,"id":"7ad32947_90b605db","line":193,"updated":"2015-04-28 13:55:35.000000000","message":"AFAICT matched_value is going to be None here (from line 98), so lines 191-194 can just \"return self._compare_result(...\"","commit_id":"142f98fb36ffcb5b25f6c9a3d0f920b0bf8f79e4"},{"author":{"_account_id":14819,"name":"Timofey Durakov","email":"timofei.nd@gmail.com","username":"tdurakov"},"change_message_id":"9f1e976c7514fc5f70337bde21ce11b8d736cd8f","unresolved":false,"context_lines":[{"line_number":190,"context_line":"                    result \u003d self._objectify(result)"},{"line_number":191,"context_line":"                    res \u003d self._compare_result(subs, expected, result,"},{"line_number":192,"context_line":"                                           result_str)"},{"line_number":193,"context_line":"                    matched_value \u003d matched_value or res"},{"line_number":194,"context_line":"                    return matched_value"},{"line_number":195,"context_line":"                except ValueError:"},{"line_number":196,"context_line":"                    pass"}],"source_content_type":"text/x-python","patch_set":1,"id":"7ad32947_ab2cf2ab","line":193,"in_reply_to":"7ad32947_90b605db","updated":"2015-04-28 14:12:58.000000000","message":"Done","commit_id":"142f98fb36ffcb5b25f6c9a3d0f920b0bf8f79e4"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"ad53ba2fe6b64289aebfd4f31d7140ac3affd082","unresolved":false,"context_lines":[{"line_number":189,"context_line":"                    expected \u003d self._objectify(expected)"},{"line_number":190,"context_line":"                    result \u003d self._objectify(result)"},{"line_number":191,"context_line":"                    return self._compare_result(subs, expected, result,"},{"line_number":192,"context_line":"                                                result_str)"},{"line_number":193,"context_line":"                except ValueError:"},{"line_number":194,"context_line":"                    pass"},{"line_number":195,"context_line":"                raise NoMatch("}],"source_content_type":"text/x-python","patch_set":4,"id":"5ad0253b_81225db8","line":192,"updated":"2015-04-28 19:22:35.000000000","message":"What about cases where there are more than one level of nesting of JSON-ified attributes?\n\nThe different comparators included in the functional API test classes are supposed to handle individual attribute comparisons. I\u0027m wondering why this particular change is needed for the PYTHONHASHSEED fixes? Could you explain that please?","commit_id":"ff5b43866e04d969102b7af6e02c386369e42384"},{"author":{"_account_id":14819,"name":"Timofey Durakov","email":"timofei.nd@gmail.com","username":"tdurakov"},"change_message_id":"f0ce4722aaf81b15a72876cace053564ccf3cab6","unresolved":false,"context_lines":[{"line_number":189,"context_line":"                    expected \u003d self._objectify(expected)"},{"line_number":190,"context_line":"                    result \u003d self._objectify(result)"},{"line_number":191,"context_line":"                    return self._compare_result(subs, expected, result,"},{"line_number":192,"context_line":"                                                result_str)"},{"line_number":193,"context_line":"                except ValueError:"},{"line_number":194,"context_line":"                    pass"},{"line_number":195,"context_line":"                raise NoMatch("}],"source_content_type":"text/x-python","patch_set":4,"id":"5ad0253b_a5c43340","line":192,"in_reply_to":"5ad0253b_17e9ef1a","updated":"2015-04-29 07:11:19.000000000","message":"Done","commit_id":"ff5b43866e04d969102b7af6e02c386369e42384"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"29a3f334888c36e4ea2652581cf27bbfff1cfc47","unresolved":false,"context_lines":[{"line_number":189,"context_line":"                    expected \u003d self._objectify(expected)"},{"line_number":190,"context_line":"                    result \u003d self._objectify(result)"},{"line_number":191,"context_line":"                    return self._compare_result(subs, expected, result,"},{"line_number":192,"context_line":"                                                result_str)"},{"line_number":193,"context_line":"                except ValueError:"},{"line_number":194,"context_line":"                    pass"},{"line_number":195,"context_line":"                raise NoMatch("}],"source_content_type":"text/x-python","patch_set":4,"id":"5ad0253b_17e9ef1a","line":192,"in_reply_to":"5ad0253b_81225db8","updated":"2015-04-28 19:47:53.000000000","message":"Sorry, was thinking about the wrong tests (objects tests) above. Please ignore.\n\nTimofei, please add a code comment at line 188 above that explains why you are doing this, and also put in a TODO(tdurakov) that says to remove it once the cpu_info attribute is exposed back through the API as a JSON sub-object, instead of a JSON-serialized string.","commit_id":"ff5b43866e04d969102b7af6e02c386369e42384"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"42f44d71d512ce85bd83362ab53fc7444d77273d","unresolved":false,"context_lines":[{"line_number":190,"context_line":"                #which is stringified JSON object"},{"line_number":191,"context_line":"                # TODO(tdurakov): remove this check as soon as hypervisor.cpu_info"},{"line_number":192,"context_line":"                # become common JSON object in REST API."},{"line_number":193,"context_line":"                try:"},{"line_number":194,"context_line":"                    expected \u003d self._objectify(expected)"},{"line_number":195,"context_line":"                    result \u003d self._objectify(result)"},{"line_number":196,"context_line":"                    return self._compare_result(subs, expected, result,"}],"source_content_type":"text/x-python","patch_set":5,"id":"5ad0253b_854b77b0","line":193,"updated":"2015-04-29 07:20:49.000000000","message":"It\u0027s a pathetic -1 but can you try to make it clean:\n\n  # NOTE(tdurakov): This attempt to parse string as JSON \n  # is needed for a correct comparison of hypervisor.cpu_info, \n  # which is stringified from a JSON object\n  # \n  # TODO(tdurakov): Remove this check as soon as hypervisor.cpu_info \n  # becomes a common JSON object in REST API.","commit_id":"7bbaf286ee5d0dc95eac3085a79bfdedf1dc5ec7"},{"author":{"_account_id":14819,"name":"Timofey Durakov","email":"timofei.nd@gmail.com","username":"tdurakov"},"change_message_id":"1818257f1232cfda4885d29dcecaac52907649dd","unresolved":false,"context_lines":[{"line_number":190,"context_line":"                #which is stringified JSON object"},{"line_number":191,"context_line":"                # TODO(tdurakov): remove this check as soon as hypervisor.cpu_info"},{"line_number":192,"context_line":"                # become common JSON object in REST API."},{"line_number":193,"context_line":"                try:"},{"line_number":194,"context_line":"                    expected \u003d self._objectify(expected)"},{"line_number":195,"context_line":"                    result \u003d self._objectify(result)"},{"line_number":196,"context_line":"                    return self._compare_result(subs, expected, result,"}],"source_content_type":"text/x-python","patch_set":5,"id":"5ad0253b_e5890bcc","line":193,"in_reply_to":"5ad0253b_854b77b0","updated":"2015-04-29 07:22:14.000000000","message":"Done","commit_id":"7bbaf286ee5d0dc95eac3085a79bfdedf1dc5ec7"},{"author":{"_account_id":9420,"name":"Matthew Gilliard","email":"matthew.gilliard@hp.com","username":"gilliard"},"change_message_id":"d303428af39e974ee8b76240a310d0ffd33e4937","unresolved":false,"context_lines":[{"line_number":188,"context_line":"                # NOTE(tdurakov):this attempt to parse string as JSON"},{"line_number":189,"context_line":"                #is needed for correct comparison of hypervisor.cpu_info,"},{"line_number":190,"context_line":"                #which is stringified JSON object"},{"line_number":191,"context_line":"                #   "},{"line_number":192,"context_line":"                # TODO(tdurakov): remove this check as soon as hypervisor.cpu_info"},{"line_number":193,"context_line":"                # become common JSON object in REST API."},{"line_number":194,"context_line":"                try:"}],"source_content_type":"text/x-python","patch_set":6,"id":"5ad0253b_e068d9bc","line":191,"updated":"2015-04-29 07:31:29.000000000","message":"noooooo :)","commit_id":"ad08e4afecc91289431c2158d21df19834b50a63"},{"author":{"_account_id":14819,"name":"Timofey Durakov","email":"timofei.nd@gmail.com","username":"tdurakov"},"change_message_id":"fa0133022529c14d653f6eae3fffc7783c084924","unresolved":false,"context_lines":[{"line_number":188,"context_line":"                # NOTE(tdurakov):this attempt to parse string as JSON"},{"line_number":189,"context_line":"                #is needed for correct comparison of hypervisor.cpu_info,"},{"line_number":190,"context_line":"                #which is stringified JSON object"},{"line_number":191,"context_line":"                #   "},{"line_number":192,"context_line":"                # TODO(tdurakov): remove this check as soon as hypervisor.cpu_info"},{"line_number":193,"context_line":"                # become common JSON object in REST API."},{"line_number":194,"context_line":"                try:"}],"source_content_type":"text/x-python","patch_set":6,"id":"5ad0253b_00e2b503","line":191,"in_reply_to":"5ad0253b_e068d9bc","updated":"2015-04-29 07:40:59.000000000","message":"Done","commit_id":"ad08e4afecc91289431c2158d21df19834b50a63"}]}
