)]}'
{"cinderclient/exceptions.py":[{"author":{"_account_id":14305,"name":"Yuriy Nesenenko","email":"ynesenenko@mirantis.com","username":"yuriy_n"},"change_message_id":"34bdfef3c07f9b098bb0756a736fdfc8cfe0e05b","unresolved":false,"context_lines":[{"line_number":172,"context_line":"                else:"},{"line_number":173,"context_line":"                    self.retry_after \u003d 0"},{"line_number":174,"context_line":"            except ValueError:"},{"line_number":175,"context_line":"                self.retry_after \u003d int(value)"},{"line_number":176,"context_line":""},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"# NotImplemented is a python keyword."}],"source_content_type":"text/x-python","patch_set":1,"id":"1aa78d24_79fbb3c1","line":175,"range":{"start_line":175,"start_character":39,"end_line":175,"end_character":44},"updated":"2016-07-06 14:18:13.000000000","message":"else:\n    return\n\nIt will be better.","commit_id":"27e846f96951e647808884dfa170282fbc48e92f"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"9a03f6414cbaf6aa2198ad9b1d7446b9c2078c69","unresolved":false,"context_lines":[{"line_number":172,"context_line":"                else:"},{"line_number":173,"context_line":"                    self.retry_after \u003d 0"},{"line_number":174,"context_line":"            except ValueError:"},{"line_number":175,"context_line":"                self.retry_after \u003d int(value)"},{"line_number":176,"context_line":""},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"# NotImplemented is a python keyword."}],"source_content_type":"text/x-python","patch_set":1,"id":"1aa78d24_d9958733","line":175,"range":{"start_line":175,"start_character":39,"end_line":175,"end_character":44},"in_reply_to":"1aa78d24_79fbb3c1","updated":"2016-07-06 14:20:27.000000000","message":"It won\u0027t help with the issue - if resp is None the whole method will explode in line 165, before try-except block.","commit_id":"27e846f96951e647808884dfa170282fbc48e92f"},{"author":{"_account_id":14305,"name":"Yuriy Nesenenko","email":"ynesenenko@mirantis.com","username":"yuriy_n"},"change_message_id":"3220b91a09a84e3e452f58e6429ba3677826c5a7","unresolved":false,"context_lines":[{"line_number":172,"context_line":"                else:"},{"line_number":173,"context_line":"                    self.retry_after \u003d 0"},{"line_number":174,"context_line":"            except ValueError:"},{"line_number":175,"context_line":"                self.retry_after \u003d int(value)"},{"line_number":176,"context_line":""},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"# NotImplemented is a python keyword."}],"source_content_type":"text/x-python","patch_set":1,"id":"1aa78d24_f9bde368","line":175,"range":{"start_line":175,"start_character":39,"end_line":175,"end_character":44},"in_reply_to":"1aa78d24_d9958733","updated":"2016-07-06 14:24:51.000000000","message":"Thus line 165 should be:\nif resp and resp.headers:\n\nand line 176: else:","commit_id":"27e846f96951e647808884dfa170282fbc48e92f"},{"author":{"_account_id":13294,"name":"Javier Peña","email":"jpena@redhat.com","username":"jpena"},"change_message_id":"b1f0ebfd19208337fa0d100670f36bad9c7dccd0","unresolved":false,"context_lines":[{"line_number":172,"context_line":"                else:"},{"line_number":173,"context_line":"                    self.retry_after \u003d 0"},{"line_number":174,"context_line":"            except ValueError:"},{"line_number":175,"context_line":"                self.retry_after \u003d int(value)"},{"line_number":176,"context_line":""},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"# NotImplemented is a python keyword."}],"source_content_type":"text/x-python","patch_set":1,"id":"1aa78d24_f4384aa2","line":175,"range":{"start_line":175,"start_character":39,"end_line":175,"end_character":44},"in_reply_to":"1aa78d24_f9bde368","updated":"2016-07-06 14:30:53.000000000","message":"Yes, this looks better. As Michal said, there is no need for an else: block. I\u0027ll change it.","commit_id":"27e846f96951e647808884dfa170282fbc48e92f"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"4b7efe587aef6596fc520cc12533a05dd259b7ed","unresolved":false,"context_lines":[{"line_number":172,"context_line":"                else:"},{"line_number":173,"context_line":"                    self.retry_after \u003d 0"},{"line_number":174,"context_line":"            except ValueError:"},{"line_number":175,"context_line":"                self.retry_after \u003d int(value)"},{"line_number":176,"context_line":""},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"# NotImplemented is a python keyword."}],"source_content_type":"text/x-python","patch_set":1,"id":"1aa78d24_d4054e11","line":175,"range":{"start_line":175,"start_character":39,"end_line":175,"end_character":44},"in_reply_to":"1aa78d24_f9bde368","updated":"2016-07-06 14:26:49.000000000","message":"Yup, that would look better, else won\u0027t be even needed (we\u0027re setting retry_after in __init__).","commit_id":"27e846f96951e647808884dfa170282fbc48e92f"},{"author":{"_account_id":13294,"name":"Javier Peña","email":"jpena@redhat.com","username":"jpena"},"change_message_id":"42dde6d6f6f0feefdf6cfcbf1b1e8c49b74a857c","unresolved":false,"context_lines":[{"line_number":160,"context_line":"        self._get_rate_limit(response)"},{"line_number":161,"context_line":""},{"line_number":162,"context_line":"    def _get_rate_limit(self, resp):"},{"line_number":163,"context_line":"        if resp and resp.headers:"},{"line_number":164,"context_line":"            utc_now \u003d timeutils.utcnow()"},{"line_number":165,"context_line":"            value \u003d resp.headers.get(\u0027Retry-After\u0027, \u00270\u0027)"},{"line_number":166,"context_line":"            try:"}],"source_content_type":"text/x-python","patch_set":2,"id":"1aa78d24_91710e79","line":163,"range":{"start_line":163,"start_character":8,"end_line":163,"end_character":33},"updated":"2016-07-06 16:42:00.000000000","message":"Interesting. It looks like, in some cases, the resp variable is evaluated to False (checked with a minimal program). We\u0027ll need to use the full \"resp is not None\" construction.","commit_id":"0ebec14b4e6d00445d5f737a21350651c9aa49be"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"8a16300b7c235e048a068943e1506f92ebdd24fe","unresolved":false,"context_lines":[{"line_number":160,"context_line":"        self._get_rate_limit(response)"},{"line_number":161,"context_line":""},{"line_number":162,"context_line":"    def _get_rate_limit(self, resp):"},{"line_number":163,"context_line":"        if (resp is not None) and resp.headers:"},{"line_number":164,"context_line":"            utc_now \u003d timeutils.utcnow()"},{"line_number":165,"context_line":"            value \u003d resp.headers.get(\u0027Retry-After\u0027, \u00270\u0027)"},{"line_number":166,"context_line":"            try:"}],"source_content_type":"text/x-python","patch_set":3,"id":"1aa78d24_4359658d","line":163,"range":{"start_line":163,"start_character":8,"end_line":163,"end_character":47},"updated":"2016-07-07 14:36:46.000000000","message":"nit: This would look better as\n\n if resp and resp.headers:","commit_id":"ebe02fb877a09d25d9dbb198934fd74eb0a455d6"},{"author":{"_account_id":13294,"name":"Javier Peña","email":"jpena@redhat.com","username":"jpena"},"change_message_id":"33703c645e9ab72ddc5346aa5a721c68a9381fb7","unresolved":false,"context_lines":[{"line_number":160,"context_line":"        self._get_rate_limit(response)"},{"line_number":161,"context_line":""},{"line_number":162,"context_line":"    def _get_rate_limit(self, resp):"},{"line_number":163,"context_line":"        if (resp is not None) and resp.headers:"},{"line_number":164,"context_line":"            utc_now \u003d timeutils.utcnow()"},{"line_number":165,"context_line":"            value \u003d resp.headers.get(\u0027Retry-After\u0027, \u00270\u0027)"},{"line_number":166,"context_line":"            try:"}],"source_content_type":"text/x-python","patch_set":3,"id":"1aa78d24_f6600da7","line":163,"range":{"start_line":163,"start_character":8,"end_line":163,"end_character":47},"in_reply_to":"1aa78d24_4359658d","updated":"2016-07-07 14:41:46.000000000","message":"Actually, that was what we tried in PS 2, and it failed because resp is evaluated to False :-?","commit_id":"ebe02fb877a09d25d9dbb198934fd74eb0a455d6"}]}
