)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":597,"name":"Pete Zaitcev","email":"zaitcev@kotori.zaitcev.us","username":"zaitcev"},"change_message_id":"131d91ee16590692b8a669a6d6574d512db6a0c0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"13d9855f_c26b7dfe","updated":"2023-04-21 14:15:17.000000000","message":"Code is okay, tests looks good.","commit_id":"c70d0c33a5977ca7208fbadd876a646cd37ffb31"},{"author":{"_account_id":1004,"name":"Mohammed Naser","email":"mnaser@vexxhost.com","username":"mnaser"},"change_message_id":"da3985c5f5718cc06f1ad26534c1f50702a0168d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"2c92315f_f3dbd2c4","updated":"2022-10-07 22:21:09.000000000","message":"for the record, we\u0027ve tested this and it\u0027s working in production (beyond the unit tests that also have the fix).","commit_id":"c70d0c33a5977ca7208fbadd876a646cd37ffb31"}],"keystone/federation/utils.py":[{"author":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"change_message_id":"8e3ee0e0930db30f7205447444a54d733ffdcee7","unresolved":true,"context_lines":[{"line_number":561,"context_line":"        mapped_properties \u003d self._transform(identity_values)"},{"line_number":562,"context_line":"        LOG.debug(\u0027mapped_properties: %s\u0027, mapped_properties)"},{"line_number":563,"context_line":"        return mapped_properties"},{"line_number":564,"context_line":""},{"line_number":565,"context_line":"    def _ast_literal_eval(self, value):"},{"line_number":566,"context_line":"        # This is a workaround for the fact that ast.literal_eval handles the"},{"line_number":567,"context_line":"        # case of either a string or a list of strings, but not a potential"}],"source_content_type":"text/x-python","patch_set":1,"id":"2d8969b4_8bf0f8b7","line":564,"updated":"2022-12-06 06:56:43.000000000","message":"Looks like it makes sense to define it as @staticmethod?","commit_id":"c70d0c33a5977ca7208fbadd876a646cd37ffb31"},{"author":{"_account_id":597,"name":"Pete Zaitcev","email":"zaitcev@kotori.zaitcev.us","username":"zaitcev"},"change_message_id":"131d91ee16590692b8a669a6d6574d512db6a0c0","unresolved":true,"context_lines":[{"line_number":561,"context_line":"        mapped_properties \u003d self._transform(identity_values)"},{"line_number":562,"context_line":"        LOG.debug(\u0027mapped_properties: %s\u0027, mapped_properties)"},{"line_number":563,"context_line":"        return mapped_properties"},{"line_number":564,"context_line":""},{"line_number":565,"context_line":"    def _ast_literal_eval(self, value):"},{"line_number":566,"context_line":"        # This is a workaround for the fact that ast.literal_eval handles the"},{"line_number":567,"context_line":"        # case of either a string or a list of strings, but not a potential"}],"source_content_type":"text/x-python","patch_set":1,"id":"a32dbd7c_ce98b8fd","line":564,"in_reply_to":"2d8969b4_8bf0f8b7","updated":"2023-04-21 14:15:17.000000000","message":"I agree about @staticmethod being appropriate, but its lack would not stop me from approving.","commit_id":"c70d0c33a5977ca7208fbadd876a646cd37ffb31"}]}
