)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"c5b53e69f1b80e5444703b125a087ce57df31f6d","unresolved":false,"context_lines":[{"line_number":13,"context_line":"find out the duplicated columns [1]. This patch addresses it."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"[1] https://review.openstack.org/#/c/535647/16/neutron/services/"},{"line_number":16,"context_line":"    portforwarding/pf_plugin.py@161"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Change-Id: If3ebcdfb5c3a5ddba1e2ebb6cb0ff79239e1ccd3"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"5f7c97a3_7d21a69d","line":16,"updated":"2018-06-13 18:55:46.000000000","message":"This link isn\u0027t all that handy since that PS has moved forward and it shows \"No differences\".","commit_id":"db1da0c15b738487656231cfb0aade6213e64ed7"},{"author":{"_account_id":27654,"name":"Hongbin Lu","email":"kira034@163.com","username":"hongbin.lu"},"change_message_id":"321c09c666fb60f5efb4d8b4de43e5cef9bc8b7c","unresolved":false,"context_lines":[{"line_number":13,"context_line":"find out the duplicated columns [1]. This patch addresses it."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"[1] https://review.openstack.org/#/c/535647/16/neutron/services/"},{"line_number":16,"context_line":"    portforwarding/pf_plugin.py@161"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Change-Id: If3ebcdfb5c3a5ddba1e2ebb6cb0ff79239e1ccd3"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"5f7c97a3_21c6e59d","line":16,"in_reply_to":"5f7c97a3_7d21a69d","updated":"2018-06-22 18:41:39.000000000","message":"I removed this reference.","commit_id":"db1da0c15b738487656231cfb0aade6213e64ed7"}],"neutron_lib/objects/exceptions.py":[{"author":{"_account_id":5367,"name":"boden","email":"bodenvmw@gmail.com","username":"boden"},"change_message_id":"e50504a92d862cdf4c08bb38bf9cb7fdc134840c","unresolved":false,"context_lines":[{"line_number":21,"context_line":""},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"class NeutronDbObjectDuplicateEntry(exceptions.Conflict):"},{"line_number":24,"context_line":"    message \u003d _(\"Failed to create a duplicate %(object_type)s: \""},{"line_number":25,"context_line":"                \"for attribute(s) %(attributes)s with value(s) %(values)s\")"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"    def __init__(self, object_class, db_exception):"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f7c97a3_1c5662cf","line":24,"updated":"2018-06-14 13:25:38.000000000","message":"Nit: might be nice to just note the new object attrs here so its easy to know what they\u0027re for.","commit_id":"db1da0c15b738487656231cfb0aade6213e64ed7"},{"author":{"_account_id":27654,"name":"Hongbin Lu","email":"kira034@163.com","username":"hongbin.lu"},"change_message_id":"321c09c666fb60f5efb4d8b4de43e5cef9bc8b7c","unresolved":false,"context_lines":[{"line_number":21,"context_line":""},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"class NeutronDbObjectDuplicateEntry(exceptions.Conflict):"},{"line_number":24,"context_line":"    message \u003d _(\"Failed to create a duplicate %(object_type)s: \""},{"line_number":25,"context_line":"                \"for attribute(s) %(attributes)s with value(s) %(values)s\")"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"    def __init__(self, object_class, db_exception):"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f7c97a3_41cbe1a2","line":24,"in_reply_to":"5f7c97a3_1c5662cf","updated":"2018-06-22 18:41:39.000000000","message":"Done","commit_id":"db1da0c15b738487656231cfb0aade6213e64ed7"},{"author":{"_account_id":7715,"name":"Hirofumi Ichihara","email":"ichihara.hirofumi@gmail.com","username":"Hirofumi-Ichihara"},"change_message_id":"144e0216b828f884ab0be714457db51f06cbc7e4","unresolved":false,"context_lines":[{"line_number":42,"context_line":"                                                  fully_qualified\u003dFalse),"},{"line_number":43,"context_line":"            attributes\u003ddb_exception.columns,"},{"line_number":44,"context_line":"            values\u003ddb_exception.value)"},{"line_number":45,"context_line":"        self.columns \u003d db_exception.columns"},{"line_number":46,"context_line":"        self.value \u003d db_exception.value"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"5f7c97a3_7956162d","line":45,"range":{"start_line":45,"start_character":8,"end_line":45,"end_character":20},"updated":"2018-07-03 04:47:03.000000000","message":"The variable name for db_exception.columns is named \"attributes\" on L43 and in message as well. It\u0027s better to use same one for consistency.","commit_id":"d47549344e353f4ba3e16effb7fd8e2ec4dca3bb"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"1e33e36b32196dbda3f7f2ac325fd582b3594d2c","unresolved":false,"context_lines":[{"line_number":42,"context_line":"                                                  fully_qualified\u003dFalse),"},{"line_number":43,"context_line":"            attributes\u003ddb_exception.columns,"},{"line_number":44,"context_line":"            values\u003ddb_exception.value)"},{"line_number":45,"context_line":"        self.columns \u003d db_exception.columns"},{"line_number":46,"context_line":"        self.value \u003d db_exception.value"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"5f7c97a3_91097d2a","line":45,"range":{"start_line":45,"start_character":8,"end_line":45,"end_character":20},"in_reply_to":"5f7c97a3_7956162d","updated":"2018-07-16 18:25:04.000000000","message":"I guess it\u0027s just as inconsistent to use \u0027value\u0027 below as well since \u0027values\u0027 is used in the super() call too.  But I think using the names from the db_exception argument is Ok.","commit_id":"d47549344e353f4ba3e16effb7fd8e2ec4dca3bb"}]}
