)]}'
{"ceilometer/dispatcher/gnocchi.py":[{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"bc6f1a092c16f982261dd21b97f756c44adc3114","unresolved":false,"context_lines":[{"line_number":414,"context_line":"    @maybe_retry_if_authentification_error()"},{"line_number":415,"context_line":"    def _post_measure(self, resource_type, resource_id, metric_name,"},{"line_number":416,"context_line":"                      measure_attributes):"},{"line_number":417,"context_line":"        r \u003d self.gnocchi_api.post(\"%s/v1/resource/%s/%s/metric/%s/measures\""},{"line_number":418,"context_line":"                                  % (self.gnocchi_url, resource_type,"},{"line_number":419,"context_line":"                                     resource_id, metric_name),"},{"line_number":420,"context_line":"                                  headers\u003dself._get_headers(),"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a50d1a3_46713f0b","line":417,"updated":"2015-07-28 15:02:05.000000000","message":"what about doing that check for each self.gnocchi_api.\u003cmethod\u003e call by creating a subclass? I\u0027m afraid otherwise we\u0027ll forget to call self.check_if_authentification_error() once and it\u0027ll explode.","commit_id":"02223d83ff5a518f95d5f72590560780bb57f1a5"},{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"c64bd99b59394d1e1d21c07b5a6c3737fdb85564","unresolved":false,"context_lines":[{"line_number":414,"context_line":"    @maybe_retry_if_authentification_error()"},{"line_number":415,"context_line":"    def _post_measure(self, resource_type, resource_id, metric_name,"},{"line_number":416,"context_line":"                      measure_attributes):"},{"line_number":417,"context_line":"        r \u003d self.gnocchi_api.post(\"%s/v1/resource/%s/%s/metric/%s/measures\""},{"line_number":418,"context_line":"                                  % (self.gnocchi_url, resource_type,"},{"line_number":419,"context_line":"                                     resource_id, metric_name),"},{"line_number":420,"context_line":"                                  headers\u003dself._get_headers(),"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a50d1a3_e1ff15ff","line":417,"in_reply_to":"3a50d1a3_46713f0b","updated":"2015-07-28 16:23:15.000000000","message":"Done, I hope this will be done into a gnocchi client in the futur.","commit_id":"02223d83ff5a518f95d5f72590560780bb57f1a5"}],"ceilometer/dispatcher/gnocchi_client.py":[{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"450e40602d29e27dccaa20b7e78bc7d635c4bced","unresolved":false,"context_lines":[{"line_number":79,"context_line":"        try:"},{"line_number":80,"context_line":"            response \u003d getattr(self._session, method)(*args, **kwargs)"},{"line_number":81,"context_line":"        except requests.ConnectionError as e:"},{"line_number":82,"context_line":"            raise UnexpectedError(\"Connection error, reconnecting: %s \" % e)"},{"line_number":83,"context_line":"        self.check_if_authentification_error(response)"},{"line_number":84,"context_line":"        return response"},{"line_number":85,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"3a50d1a3_48b7ac3a","line":82,"updated":"2015-07-30 08:09:47.000000000","message":"I don\u0027t understand why/how it\u0027s reconnecting here.","commit_id":"bca09b0f701f0cdd798c6dac90c4176e753f2188"},{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"e146fc67c79953456dd41f09533bd3468cb6bd4f","unresolved":false,"context_lines":[{"line_number":79,"context_line":"        try:"},{"line_number":80,"context_line":"            response \u003d getattr(self._session, method)(*args, **kwargs)"},{"line_number":81,"context_line":"        except requests.ConnectionError as e:"},{"line_number":82,"context_line":"            raise UnexpectedError(\"Connection error, reconnecting: %s \" % e)"},{"line_number":83,"context_line":"        self.check_if_authentification_error(response)"},{"line_number":84,"context_line":"        return response"},{"line_number":85,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"3a50d1a3_646165a8","line":82,"in_reply_to":"3a50d1a3_48b7ac3a","updated":"2015-07-30 12:57:51.000000000","message":"Yep, useless word :)","commit_id":"bca09b0f701f0cdd798c6dac90c4176e753f2188"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"450e40602d29e27dccaa20b7e78bc7d635c4bced","unresolved":false,"context_lines":[{"line_number":83,"context_line":"        self.check_if_authentification_error(response)"},{"line_number":84,"context_line":"        return response"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"    def check_if_authentification_error(self, response):"},{"line_number":87,"context_line":"        if response.status_code \u003d\u003d 401:"},{"line_number":88,"context_line":"            LOG.info(\"Authentification failure, retrying...\")"},{"line_number":89,"context_line":"            raise AuthentificationError()"}],"source_content_type":"text/x-python","patch_set":4,"id":"3a50d1a3_772a8792","line":86,"updated":"2015-07-30 08:09:47.000000000","message":"@staticmethod\n\nbut might be clearer not to have a method at all :)","commit_id":"bca09b0f701f0cdd798c6dac90c4176e753f2188"},{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"e146fc67c79953456dd41f09533bd3468cb6bd4f","unresolved":false,"context_lines":[{"line_number":83,"context_line":"        self.check_if_authentification_error(response)"},{"line_number":84,"context_line":"        return response"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"    def check_if_authentification_error(self, response):"},{"line_number":87,"context_line":"        if response.status_code \u003d\u003d 401:"},{"line_number":88,"context_line":"            LOG.info(\"Authentification failure, retrying...\")"},{"line_number":89,"context_line":"            raise AuthentificationError()"}],"source_content_type":"text/x-python","patch_set":4,"id":"3a50d1a3_a4b9ad17","line":86,"in_reply_to":"3a50d1a3_772a8792","updated":"2015-07-30 12:57:51.000000000","message":"Method removed.","commit_id":"bca09b0f701f0cdd798c6dac90c4176e753f2188"}]}
