)]}'
{"osc_lib/utils/__init__.py":[{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"b43a233120993e3e507faef8cbeb3db8fd963b65","unresolved":false,"context_lines":[{"line_number":431,"context_line":"        if field in formatters:"},{"line_number":432,"context_line":"            formatter \u003d formatters[field]"},{"line_number":433,"context_line":"            if (isinstance(formatter, type) and issubclass("},{"line_number":434,"context_line":"                    formatter, cliff_columns.FormattableColumn)):"},{"line_number":435,"context_line":"                data \u003d formatter(data)"},{"line_number":436,"context_line":"            else:"},{"line_number":437,"context_line":"                warnings.warn("}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_4bd3bb36","line":434,"updated":"2018-11-28 13:45:07.000000000","message":"IMHO it is better to think three cases:\n- (a) FormattableColumn class\n- (b) function formatter (deprecated)\n- (c) FormattableColumn instance (developer sometimes makes mistake)\n\nIn case of (c), L.434 raised an error previously, but the warning message at L.437 will be raised. It is a bit confusing.\n\nThe proposed logic works, but how about the following?\n\n if isinstance(formatter, type) and issubclass(....):\n     \u003cL.435\u003e\n elif callable(formatter):\n     \u003cL.437-443\u003e\n else:\n     \u003cemit an error message that invalid \"formatter\" is specified\u003e","commit_id":"d2686d0bf3625c50bba1bfcc98fd63cad275ae82"},{"author":{"_account_id":8833,"name":"Rabi Mishra","email":"ramishra@redhat.com","username":"rabi"},"change_message_id":"12dc1f6ab16a40a16794a678fa88ebc63f2b60c3","unresolved":false,"context_lines":[{"line_number":431,"context_line":"        if field in formatters:"},{"line_number":432,"context_line":"            formatter \u003d formatters[field]"},{"line_number":433,"context_line":"            if (isinstance(formatter, type) and issubclass("},{"line_number":434,"context_line":"                    formatter, cliff_columns.FormattableColumn)):"},{"line_number":435,"context_line":"                data \u003d formatter(data)"},{"line_number":436,"context_line":"            else:"},{"line_number":437,"context_line":"                warnings.warn("}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_7c1e5410","line":434,"in_reply_to":"3f79a3b5_4bd3bb36","updated":"2018-11-30 06:52:27.000000000","message":"OK thanks! Done.","commit_id":"d2686d0bf3625c50bba1bfcc98fd63cad275ae82"}]}
