)]}'
{"swift/common/middleware/crypto/decrypter.py":[{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"be33a09ce1c38d61c24da1cf2095d5324413be74","unresolved":false,"context_lines":[{"line_number":78,"context_line":"        msg \u003d _(\u0027Error decrypting %(resp_type)s: %(reason)s\u0027) % {"},{"line_number":79,"context_line":"            \u0027resp_type\u0027: self.server_type,"},{"line_number":80,"context_line":"            \u0027reason\u0027: err}"},{"line_number":81,"context_line":"        self.logger.error(msg)"},{"line_number":82,"context_line":"        raise HTTPInternalServerError("},{"line_number":83,"context_line":"            body\u003d\u0027Error decrypting %s\u0027 % self.server_type,"},{"line_number":84,"context_line":"            content_type\u003d\u0027text/plain\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"1aa78d24_34d97f84","line":81,"updated":"2016-07-05 10:19:30.000000000","message":"msg variable is probably superflous now it is not used to construct the Exception, but NM this is at least correct vs the mess I made!","commit_id":"c4872e5c0bc6bd9ff3bc86495562314e1a615ad5"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"6aada07c2ab46415974e5eedefc4a92c222f8d47","unresolved":false,"context_lines":[{"line_number":78,"context_line":"        msg \u003d _(\u0027Error decrypting %(resp_type)s: %(reason)s\u0027) % {"},{"line_number":79,"context_line":"            \u0027resp_type\u0027: self.server_type,"},{"line_number":80,"context_line":"            \u0027reason\u0027: err}"},{"line_number":81,"context_line":"        self.logger.error(msg)"},{"line_number":82,"context_line":"        raise HTTPInternalServerError("},{"line_number":83,"context_line":"            body\u003d\u0027Error decrypting %s\u0027 % self.server_type,"},{"line_number":84,"context_line":"            content_type\u003d\u0027text/plain\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"1aa78d24_9b12fb55","line":81,"in_reply_to":"1aa78d24_34d97f84","updated":"2016-07-05 21:59:29.000000000","message":"Done","commit_id":"c4872e5c0bc6bd9ff3bc86495562314e1a615ad5"},{"author":{"_account_id":9576,"name":"Thai Tran","email":"tqtran@us.ibm.com","username":"tqtran"},"change_message_id":"245e8d924dc7703e7965a5bd29ff464b693610fe","unresolved":false,"context_lines":[{"line_number":166,"context_line":"        \"\"\""},{"line_number":167,"context_line":"        try:"},{"line_number":168,"context_line":"            return self.decrypt_value_with_meta(value, key, required)"},{"line_number":169,"context_line":"        except EncryptionException as e:"},{"line_number":170,"context_line":"            msg \u003d _(\"Error decrypting header %(header)s: %(error)s\") % {"},{"line_number":171,"context_line":"                \u0027header\u0027: header, \u0027error\u0027: e}"},{"line_number":172,"context_line":"            self.logger.error(msg)"}],"source_content_type":"text/x-python","patch_set":2,"id":"1aa78d24_bb4c1c43","line":169,"updated":"2016-07-05 20:17:45.000000000","message":"some are e, some are err. might want to be consistent.","commit_id":"c4872e5c0bc6bd9ff3bc86495562314e1a615ad5"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"6aada07c2ab46415974e5eedefc4a92c222f8d47","unresolved":false,"context_lines":[{"line_number":166,"context_line":"        \"\"\""},{"line_number":167,"context_line":"        try:"},{"line_number":168,"context_line":"            return self.decrypt_value_with_meta(value, key, required)"},{"line_number":169,"context_line":"        except EncryptionException as e:"},{"line_number":170,"context_line":"            msg \u003d _(\"Error decrypting header %(header)s: %(error)s\") % {"},{"line_number":171,"context_line":"                \u0027header\u0027: header, \u0027error\u0027: e}"},{"line_number":172,"context_line":"            self.logger.error(msg)"}],"source_content_type":"text/x-python","patch_set":2,"id":"1aa78d24_7b074f18","line":169,"in_reply_to":"1aa78d24_bb4c1c43","updated":"2016-07-05 21:59:29.000000000","message":"Done","commit_id":"c4872e5c0bc6bd9ff3bc86495562314e1a615ad5"},{"author":{"_account_id":9576,"name":"Thai Tran","email":"tqtran@us.ibm.com","username":"tqtran"},"change_message_id":"245e8d924dc7703e7965a5bd29ff464b693610fe","unresolved":false,"context_lines":[{"line_number":167,"context_line":"        try:"},{"line_number":168,"context_line":"            return self.decrypt_value_with_meta(value, key, required)"},{"line_number":169,"context_line":"        except EncryptionException as e:"},{"line_number":170,"context_line":"            msg \u003d _(\"Error decrypting header %(header)s: %(error)s\") % {"},{"line_number":171,"context_line":"                \u0027header\u0027: header, \u0027error\u0027: e}"},{"line_number":172,"context_line":"            self.logger.error(msg)"},{"line_number":173,"context_line":"            raise HTTPInternalServerError("}],"source_content_type":"text/x-python","patch_set":2,"id":"1aa78d24_9bab20d6","line":170,"updated":"2016-07-05 20:17:45.000000000","message":"Cleaner to see this as two lines but optional since it is a styling nit.\n\n\ncontext \u003d { \u0027header: header, \u0027error\u0027: e }\nmsg \u003d _(\"Error decrypting header %(header)s: %(error)s\") % context","commit_id":"c4872e5c0bc6bd9ff3bc86495562314e1a615ad5"},{"author":{"_account_id":9576,"name":"Thai Tran","email":"tqtran@us.ibm.com","username":"tqtran"},"change_message_id":"245e8d924dc7703e7965a5bd29ff464b693610fe","unresolved":false,"context_lines":[{"line_number":171,"context_line":"                \u0027header\u0027: header, \u0027error\u0027: e}"},{"line_number":172,"context_line":"            self.logger.error(msg)"},{"line_number":173,"context_line":"            raise HTTPInternalServerError("},{"line_number":174,"context_line":"                body\u003d\u0027Error decrypting header\u0027,"},{"line_number":175,"context_line":"                content_type\u003d\u0027text/plain\u0027)"},{"line_number":176,"context_line":""},{"line_number":177,"context_line":"    def decrypt_user_metadata(self, keys):"}],"source_content_type":"text/x-python","patch_set":2,"id":"1aa78d24_7b21149f","line":174,"updated":"2016-07-05 20:17:45.000000000","message":"Seems to me like this should also be translated? Unless we prefer to keep everything logged in english?","commit_id":"c4872e5c0bc6bd9ff3bc86495562314e1a615ad5"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"6aada07c2ab46415974e5eedefc4a92c222f8d47","unresolved":false,"context_lines":[{"line_number":171,"context_line":"                \u0027header\u0027: header, \u0027error\u0027: e}"},{"line_number":172,"context_line":"            self.logger.error(msg)"},{"line_number":173,"context_line":"            raise HTTPInternalServerError("},{"line_number":174,"context_line":"                body\u003d\u0027Error decrypting header\u0027,"},{"line_number":175,"context_line":"                content_type\u003d\u0027text/plain\u0027)"},{"line_number":176,"context_line":""},{"line_number":177,"context_line":"    def decrypt_user_metadata(self, keys):"}],"source_content_type":"text/x-python","patch_set":2,"id":"1aa78d24_a7d23ffe","line":174,"in_reply_to":"1aa78d24_7b21149f","updated":"2016-07-05 21:59:29.000000000","message":"I know there have been discussions about when it\u0027s actually useful to provide translations, and there are arguments on all sides:\n\n- Translating log messages is incredibly hard, especially when we developers start making up words like \"replicanth.\"\n- Having a translated messages in any error path makes it more difficult to search for possible solutions.\n- Client messages might be a reasonable thing to want to translate, but having the *client* receive a translated message based on the *server*\u0027s locale seems very backwards. We *might* be able to do something with Accept-Language headers, but (1) that definitely isn\u0027t supported yet and (2) we have no expectations that clients would send it.\n\nFrom looking at other code, though, the consensus seems to be to translate log messages, and always return response bodies in English. At least, until something like https://review.openstack.org/#/c/318989/ lands.","commit_id":"c4872e5c0bc6bd9ff3bc86495562314e1a615ad5"},{"author":{"_account_id":9576,"name":"Thai Tran","email":"tqtran@us.ibm.com","username":"tqtran"},"change_message_id":"d096d4a19d1a56e4171cee284a148f4c725ac888","unresolved":false,"context_lines":[{"line_number":171,"context_line":"                \u0027header\u0027: header, \u0027error\u0027: e}"},{"line_number":172,"context_line":"            self.logger.error(msg)"},{"line_number":173,"context_line":"            raise HTTPInternalServerError("},{"line_number":174,"context_line":"                body\u003d\u0027Error decrypting header\u0027,"},{"line_number":175,"context_line":"                content_type\u003d\u0027text/plain\u0027)"},{"line_number":176,"context_line":""},{"line_number":177,"context_line":"    def decrypt_user_metadata(self, keys):"}],"source_content_type":"text/x-python","patch_set":2,"id":"1aa78d24_55b2a94c","line":174,"in_reply_to":"1aa78d24_a7d23ffe","updated":"2016-07-07 18:26:02.000000000","message":"Thanks Tim for the clarifications.  I\u0027ll bookmark the patch you linked and take a look at it later.","commit_id":"c4872e5c0bc6bd9ff3bc86495562314e1a615ad5"}]}
