)]}'
{"oslo/messaging/_drivers/impl_rabbit.py":[{"author":{"_account_id":7763,"name":"Alexei Kornienko","email":"akornienko@mirantis.com","username":"akornienko"},"change_message_id":"42b1bff21845c760c4268f50b89ec90f8ac67e9c","unresolved":false,"context_lines":[{"line_number":327,"context_line":"        and other options"},{"line_number":328,"context_line":"        \"\"\""},{"line_number":329,"context_line":""},{"line_number":330,"context_line":"        self.conf \u003d conf"},{"line_number":331,"context_line":"        self.exchange_name \u003d exchange_name"},{"line_number":332,"context_line":"        self.routing_key \u003d routing_key"},{"line_number":333,"context_line":"        self.kwargs \u003d kwargs"}],"source_content_type":"text/x-python","patch_set":4,"id":"baada198_fbc0392d","line":330,"updated":"2014-07-30 20:04:35.000000000","message":"Why do you need a conf object here? From what I see it\u0027s not used in this class.","commit_id":"0195803b25af69a9d7bdbe392e389d26357353df"},{"author":{"_account_id":7536,"name":"Ilya Pekelny","email":"ipekelny@mirantis.com","username":"I159"},"change_message_id":"bba9fc01b286a4cc8e6d577a11999359d7287bab","unresolved":false,"context_lines":[{"line_number":660,"context_line":"        while True:"},{"line_number":661,"context_line":"            try:"},{"line_number":662,"context_line":"                return method()"},{"line_number":663,"context_line":"            except rpc_common.Timeout:"},{"line_number":664,"context_line":"                raise"},{"line_number":665,"context_line":"            except self.connection_errors as e:"},{"line_number":666,"context_line":"                if error_callback:"}],"source_content_type":"text/x-python","patch_set":11,"id":"fa98f980_97e8bf11","line":663,"updated":"2014-09-02 15:39:50.000000000","message":"It seems to me that you shouldn\u0027t catch it or you should modify an error message to describe the error (better way). Current behavior has no sense (imho).","commit_id":"a9ae056aef8a5cc24e8872539dd5e6b3240b4ebf"},{"author":{"_account_id":7536,"name":"Ilya Pekelny","email":"ipekelny@mirantis.com","username":"I159"},"change_message_id":"bba9fc01b286a4cc8e6d577a11999359d7287bab","unresolved":false,"context_lines":[{"line_number":683,"context_line":"                if error_callback:"},{"line_number":684,"context_line":"                    error_callback(e)"},{"line_number":685,"context_line":""},{"line_number":686,"context_line":"            if timeout and timeout \u003e 0 and time.time() - time_start \u003e timeout:"},{"line_number":687,"context_line":"                raise rpc_common.Timeout()"},{"line_number":688,"context_line":"            self.reconnect(retry\u003dretry)"},{"line_number":689,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"fa98f980_d7b7a7d6","line":686,"updated":"2014-09-02 15:39:50.000000000","message":"If you set default timeout value to 0, you will not need this extra check: `if timeout`. I think it is good practice to keep variable value at the same type.","commit_id":"a9ae056aef8a5cc24e8872539dd5e6b3240b4ebf"},{"author":{"_account_id":7536,"name":"Ilya Pekelny","email":"ipekelny@mirantis.com","username":"I159"},"change_message_id":"bba9fc01b286a4cc8e6d577a11999359d7287bab","unresolved":false,"context_lines":[{"line_number":684,"context_line":"                    error_callback(e)"},{"line_number":685,"context_line":""},{"line_number":686,"context_line":"            if timeout and timeout \u003e 0 and time.time() - time_start \u003e timeout:"},{"line_number":687,"context_line":"                raise rpc_common.Timeout()"},{"line_number":688,"context_line":"            self.reconnect(retry\u003dretry)"},{"line_number":689,"context_line":""},{"line_number":690,"context_line":"    def get_channel(self):"}],"source_content_type":"text/x-python","patch_set":11,"id":"fa98f980_37039374","line":687,"updated":"2014-09-02 15:39:50.000000000","message":"An error message is necessary. Explain please to user, why this timeout occurred.","commit_id":"a9ae056aef8a5cc24e8872539dd5e6b3240b4ebf"},{"author":{"_account_id":7536,"name":"Ilya Pekelny","email":"ipekelny@mirantis.com","username":"I159"},"change_message_id":"bba9fc01b286a4cc8e6d577a11999359d7287bab","unresolved":false,"context_lines":[{"line_number":764,"context_line":"            publisher \u003d cls(self.conf, self.channel, topic\u003dtopic, **kwargs)"},{"line_number":765,"context_line":"            publisher.send(msg, timeout)"},{"line_number":766,"context_line":""},{"line_number":767,"context_line":"        if timeout is None:"},{"line_number":768,"context_line":"            timeout \u003d self.conf.rabbit_publish_timeout"},{"line_number":769,"context_line":""},{"line_number":770,"context_line":"        self.ensure(_error_callback, _publish, retry\u003dretry, timeout\u003dtimeout)"}],"source_content_type":"text/x-python","patch_set":11,"id":"fa98f980_974fdfbc","line":767,"updated":"2014-09-02 15:39:50.000000000","message":"Same tip, if you check it, and expect int value, let it be a int value.","commit_id":"a9ae056aef8a5cc24e8872539dd5e6b3240b4ebf"}],"tests/drivers/test_impl_rabbit.py":[{"author":{"_account_id":7763,"name":"Alexei Kornienko","email":"akornienko@mirantis.com","username":"akornienko"},"change_message_id":"42b1bff21845c760c4268f50b89ec90f8ac67e9c","unresolved":false,"context_lines":[{"line_number":337,"context_line":"            Publisher.send \u003d old_send"},{"line_number":338,"context_line":""},{"line_number":339,"context_line":""},{"line_number":340,"context_line":"TestSendReceive.generate_scenarios()"},{"line_number":341,"context_line":""},{"line_number":342,"context_line":""},{"line_number":343,"context_line":"class TestPollAsync(test_utils.BaseTestCase):"}],"source_content_type":"text/x-python","patch_set":4,"id":"baada198_9b99fd6f","line":340,"updated":"2014-07-30 20:04:35.000000000","message":"IMHO this is not needed","commit_id":"0195803b25af69a9d7bdbe392e389d26357353df"}]}
