)]}'
{"neutron/api/v2/base.py":[{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"6c433f811169120c44acd7d552a4205d18f6f6de","unresolved":false,"context_lines":[{"line_number":187,"context_line":""},{"line_number":188,"context_line":"    def __getattr__(self, name):"},{"line_number":189,"context_line":"        if name in self._member_actions:"},{"line_number":190,"context_line":"            @oslo_db_api.wrap_db_retry(max_retries\u003ddb_api.MAX_RETRIES,"},{"line_number":191,"context_line":"                                       retry_on_deadlock\u003dTrue)"},{"line_number":192,"context_line":"            def _handle_action(request, id, **kwargs):"},{"line_number":193,"context_line":"                arg_list \u003d [request.context, id]"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a41bdd9_d6b4d982","line":190,"updated":"2015-07-16 09:25:54.000000000","message":"It seems to me it\u0027s time to consolidate the wrapper with args into single reusable functools.partial.","commit_id":"435ffa7c67cf8668063588e2af760c1ff595dfbb"},{"author":{"_account_id":11682,"name":"Ryan Moats","email":"rmoats@us.ibm.com","username":"regXboi"},"change_message_id":"43a7bfc3d3ec04fd7617903adc8d4eef3b1ce6d9","unresolved":false,"context_lines":[{"line_number":187,"context_line":""},{"line_number":188,"context_line":"    def __getattr__(self, name):"},{"line_number":189,"context_line":"        if name in self._member_actions:"},{"line_number":190,"context_line":"            @oslo_db_api.wrap_db_retry(max_retries\u003ddb_api.MAX_RETRIES,"},{"line_number":191,"context_line":"                                       retry_on_deadlock\u003dTrue)"},{"line_number":192,"context_line":"            def _handle_action(request, id, **kwargs):"},{"line_number":193,"context_line":"                arg_list \u003d [request.context, id]"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a41bdd9_fa3d16bc","line":190,"in_reply_to":"9a41bdd9_d6b4d982","updated":"2015-07-16 22:20:54.000000000","message":"+1","commit_id":"435ffa7c67cf8668063588e2af760c1ff595dfbb"},{"author":{"_account_id":7787,"name":"Kevin Benton","email":"kevin@benton.pub","username":"blak111"},"change_message_id":"f3709bf46962ee082e209d3bee9169539d6d2696","unresolved":false,"context_lines":[{"line_number":187,"context_line":""},{"line_number":188,"context_line":"    def __getattr__(self, name):"},{"line_number":189,"context_line":"        if name in self._member_actions:"},{"line_number":190,"context_line":"            @oslo_db_api.wrap_db_retry(max_retries\u003ddb_api.MAX_RETRIES,"},{"line_number":191,"context_line":"                                       retry_on_deadlock\u003dTrue)"},{"line_number":192,"context_line":"            def _handle_action(request, id, **kwargs):"},{"line_number":193,"context_line":"                arg_list \u003d [request.context, id]"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a41bdd9_0af97fc8","line":190,"in_reply_to":"9a41bdd9_d6b4d982","updated":"2015-07-17 06:21:35.000000000","message":"Done","commit_id":"435ffa7c67cf8668063588e2af760c1ff595dfbb"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"6c433f811169120c44acd7d552a4205d18f6f6de","unresolved":false,"context_lines":[{"line_number":199,"context_line":"                except oslo_policy.PolicyNotAuthorized:"},{"line_number":200,"context_line":"                    msg \u003d _(\u0027The resource could not be found.\u0027)"},{"line_number":201,"context_line":"                    raise webob.exc.HTTPNotFound(msg)"},{"line_number":202,"context_line":"                body \u003d copy.deepcopy(kwargs.pop(\u0027body\u0027, None))"},{"line_number":203,"context_line":"                # Explicit comparison with None to distinguish from {}"},{"line_number":204,"context_line":"                if body is not None:"},{"line_number":205,"context_line":"                    arg_list.append(body)"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a41bdd9_5680c98a","line":202,"updated":"2015-07-16 09:25:54.000000000","message":"Can you clarify how is this change involved?","commit_id":"435ffa7c67cf8668063588e2af760c1ff595dfbb"},{"author":{"_account_id":8124,"name":"cbrandily","email":"zzelle@gmail.com","username":"cbrandily"},"change_message_id":"92626c6a6ec338185924833eb2e883010d8a9e1d","unresolved":false,"context_lines":[{"line_number":199,"context_line":"                except oslo_policy.PolicyNotAuthorized:"},{"line_number":200,"context_line":"                    msg \u003d _(\u0027The resource could not be found.\u0027)"},{"line_number":201,"context_line":"                    raise webob.exc.HTTPNotFound(msg)"},{"line_number":202,"context_line":"                body \u003d copy.deepcopy(kwargs.pop(\u0027body\u0027, None))"},{"line_number":203,"context_line":"                # Explicit comparison with None to distinguish from {}"},{"line_number":204,"context_line":"                if body is not None:"},{"line_number":205,"context_line":"                    arg_list.append(body)"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a41bdd9_8e1ccc6b","line":202,"in_reply_to":"9a41bdd9_1a6d5acc","updated":"2015-07-17 00:28:02.000000000","message":"It\u0027s required otherwise any update on \"body\" variable (L212) will change the kwargs[\u0027body\u0027] for next tries","commit_id":"435ffa7c67cf8668063588e2af760c1ff595dfbb"},{"author":{"_account_id":11682,"name":"Ryan Moats","email":"rmoats@us.ibm.com","username":"regXboi"},"change_message_id":"43a7bfc3d3ec04fd7617903adc8d4eef3b1ce6d9","unresolved":false,"context_lines":[{"line_number":199,"context_line":"                except oslo_policy.PolicyNotAuthorized:"},{"line_number":200,"context_line":"                    msg \u003d _(\u0027The resource could not be found.\u0027)"},{"line_number":201,"context_line":"                    raise webob.exc.HTTPNotFound(msg)"},{"line_number":202,"context_line":"                body \u003d copy.deepcopy(kwargs.pop(\u0027body\u0027, None))"},{"line_number":203,"context_line":"                # Explicit comparison with None to distinguish from {}"},{"line_number":204,"context_line":"                if body is not None:"},{"line_number":205,"context_line":"                    arg_list.append(body)"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a41bdd9_1a6d5acc","line":202,"in_reply_to":"9a41bdd9_5680c98a","updated":"2015-07-16 22:20:54.000000000","message":"+1","commit_id":"435ffa7c67cf8668063588e2af760c1ff595dfbb"},{"author":{"_account_id":7787,"name":"Kevin Benton","email":"kevin@benton.pub","username":"blak111"},"change_message_id":"f3709bf46962ee082e209d3bee9169539d6d2696","unresolved":false,"context_lines":[{"line_number":199,"context_line":"                except oslo_policy.PolicyNotAuthorized:"},{"line_number":200,"context_line":"                    msg \u003d _(\u0027The resource could not be found.\u0027)"},{"line_number":201,"context_line":"                    raise webob.exc.HTTPNotFound(msg)"},{"line_number":202,"context_line":"                body \u003d copy.deepcopy(kwargs.pop(\u0027body\u0027, None))"},{"line_number":203,"context_line":"                # Explicit comparison with None to distinguish from {}"},{"line_number":204,"context_line":"                if body is not None:"},{"line_number":205,"context_line":"                    arg_list.append(body)"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a41bdd9_2a6fa393","line":202,"in_reply_to":"9a41bdd9_8e1ccc6b","updated":"2015-07-17 06:21:35.000000000","message":"Right, the body will be manipulated by the attribute processing (default values, etc) so if it\u0027s reprocessed again, it will cause problems since it\u0027s not the original starting state.","commit_id":"435ffa7c67cf8668063588e2af760c1ff595dfbb"}]}
