)]}'
{"nova/conductor/rpcapi.py":[{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"99be501c7822cd262798226668ff6be2d6d393c7","unresolved":false,"context_lines":[{"line_number":218,"context_line":"    # operations, which will use the new class action handler."},{"line_number":219,"context_line":"    def object_class_action(self, context, objname, objmethod, objver,"},{"line_number":220,"context_line":"                            args, kwargs):"},{"line_number":221,"context_line":"        if self.client.can_send_version(\u00272.3\u0027):"},{"line_number":222,"context_line":"            # NOTE(danms): If we\u0027re new enough, collect the object"},{"line_number":223,"context_line":"            # version manifest and redirect the call to the newer"},{"line_number":224,"context_line":"            # class action handler"}],"source_content_type":"text/x-python","patch_set":5,"id":"da20952f_e14283aa","side":"PARENT","line":221,"updated":"2015-09-07 08:26:41.000000000","message":"I can\u0027t remember how long we need to keep this bit.\n\nGive our conductor first approach, I think this is fine.","commit_id":"67c308bc57153f4c316da0c3eff89260a12164fe"},{"author":{"_account_id":6450,"name":"Hans Lindgren","email":"hanlind@kth.se","username":"hanlind"},"change_message_id":"28efde51f1ffeb602475a3503a0f00b1ae748403","unresolved":false,"context_lines":[{"line_number":218,"context_line":"    # operations, which will use the new class action handler."},{"line_number":219,"context_line":"    def object_class_action(self, context, objname, objmethod, objver,"},{"line_number":220,"context_line":"                            args, kwargs):"},{"line_number":221,"context_line":"        if self.client.can_send_version(\u00272.3\u0027):"},{"line_number":222,"context_line":"            # NOTE(danms): If we\u0027re new enough, collect the object"},{"line_number":223,"context_line":"            # version manifest and redirect the call to the newer"},{"line_number":224,"context_line":"            # class action handler"}],"source_content_type":"text/x-python","patch_set":5,"id":"da20952f_32552bf9","side":"PARENT","line":221,"in_reply_to":"da20952f_e14283aa","updated":"2015-09-07 09:27:04.000000000","message":"Yes, there is a sentence explaining this in the commit message.","commit_id":"67c308bc57153f4c316da0c3eff89260a12164fe"}],"nova/tests/unit/conductor/test_conductor.py":[{"author":{"_account_id":14027,"name":"Michal Rostecki","email":"mrostecki@suse.de","username":"mrostecki"},"change_message_id":"bd9e5d954e7f9a38bd5ea19b836a13c06b9d0e49","unresolved":false,"context_lines":[{"line_number":2070,"context_line":""},{"line_number":2071,"context_line":"        for method, num_args in methods:"},{"line_number":2072,"context_line":"            args \u003d []"},{"line_number":2073,"context_line":"            for _i in xrange(num_args):"},{"line_number":2074,"context_line":"                args.append(None)"},{"line_number":2075,"context_line":"            with mock.patch.object(manager, method) as mock_method:"},{"line_number":2076,"context_line":"                getattr(proxy, method)(ctxt, *args)"}],"source_content_type":"text/x-python","patch_set":4,"id":"da20952f_33dea3dd","line":2073,"updated":"2015-09-06 10:39:47.000000000","message":"1. six.xrange\n2. This forloop is tiny, you can use a list comprehension here.","commit_id":"b7d9810ebf5ce606fe546374f50127f6451f3af4"},{"author":{"_account_id":6450,"name":"Hans Lindgren","email":"hanlind@kth.se","username":"hanlind"},"change_message_id":"ede201a179f007e091dd8297581492024cddf10b","unresolved":false,"context_lines":[{"line_number":2070,"context_line":""},{"line_number":2071,"context_line":"        for method, num_args in methods:"},{"line_number":2072,"context_line":"            args \u003d []"},{"line_number":2073,"context_line":"            for _i in xrange(num_args):"},{"line_number":2074,"context_line":"                args.append(None)"},{"line_number":2075,"context_line":"            with mock.patch.object(manager, method) as mock_method:"},{"line_number":2076,"context_line":"                getattr(proxy, method)(ctxt, *args)"}],"source_content_type":"text/x-python","patch_set":4,"id":"da20952f_697508c9","line":2073,"in_reply_to":"da20952f_33dea3dd","updated":"2015-09-06 13:42:24.000000000","message":"Done","commit_id":"b7d9810ebf5ce606fe546374f50127f6451f3af4"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"99be501c7822cd262798226668ff6be2d6d393c7","unresolved":false,"context_lines":[{"line_number":2069,"context_line":"        ]"},{"line_number":2070,"context_line":""},{"line_number":2071,"context_line":"        for method, num_args in methods:"},{"line_number":2072,"context_line":"            args \u003d [None] * num_args"},{"line_number":2073,"context_line":"            with mock.patch.object(manager, method) as mock_method:"},{"line_number":2074,"context_line":"                getattr(proxy, method)(ctxt, *args)"},{"line_number":2075,"context_line":"                mock_method.assert_called_once_with(ctxt, *args)"}],"source_content_type":"text/x-python","patch_set":5,"id":"da20952f_01de97dc","line":2072,"updated":"2015-09-07 08:26:41.000000000","message":"Nit: could we go for something like range, so we validate the order of the arguments?\n\nI wouldn\u0027t normally block on this, but I think we had bugs in that last time.","commit_id":"611d106e822e7b21aef31b3e30a2a64f6e01271f"},{"author":{"_account_id":6450,"name":"Hans Lindgren","email":"hanlind@kth.se","username":"hanlind"},"change_message_id":"28efde51f1ffeb602475a3503a0f00b1ae748403","unresolved":false,"context_lines":[{"line_number":2069,"context_line":"        ]"},{"line_number":2070,"context_line":""},{"line_number":2071,"context_line":"        for method, num_args in methods:"},{"line_number":2072,"context_line":"            args \u003d [None] * num_args"},{"line_number":2073,"context_line":"            with mock.patch.object(manager, method) as mock_method:"},{"line_number":2074,"context_line":"                getattr(proxy, method)(ctxt, *args)"},{"line_number":2075,"context_line":"                mock_method.assert_called_once_with(ctxt, *args)"}],"source_content_type":"text/x-python","patch_set":5,"id":"da20952f_97cc2936","line":2072,"in_reply_to":"da20952f_01de97dc","updated":"2015-09-07 09:27:04.000000000","message":"Done","commit_id":"611d106e822e7b21aef31b3e30a2a64f6e01271f"}]}
