)]}'
{"cinder/api/common.py":[{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"b3750b2aee01430eb3513794956b74b4171a0672","unresolved":false,"context_lines":[{"line_number":414,"context_line":"            invalid_filters.append(key)"},{"line_number":415,"context_line":"    if invalid_filters:"},{"line_number":416,"context_line":"        raise webob.exc.HTTPBadRequest("},{"line_number":417,"context_line":"            explanation\u003d_(\u0027Non ASCII filters %s are found in query \u0027"},{"line_number":418,"context_line":"                          \u0027options.\u0027) % \u0027,\u0027.join(invalid_filters))"},{"line_number":419,"context_line":"    if context.is_admin and resource not in [\u0027pool\u0027]:"},{"line_number":420,"context_line":"        # Allow all options except resource is pool"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f6a8fd7_c6456c45","line":417,"range":{"start_line":417,"start_character":27,"end_line":417,"end_character":47},"updated":"2018-04-26 13:44:28.000000000","message":"Could we word this as something like \"Filter keys can only contain ASCII characters, %s is invalid.\" ?","commit_id":"18d2450a52f214ef21baeaeba7dea0d69fce8353"}],"cinder/tests/unit/api/test_common.py":[{"author":{"_account_id":8846,"name":"Hao Wang","display_name":"Hao Wang","email":"sxmatch1986@gmail.com","username":"sxmatch"},"change_message_id":"7b7f0ffdb43989eeba3f3813f620e543c5f2a1b4","unresolved":false,"context_lines":[{"line_number":413,"context_line":"               \u0027result\u0027: {\u0027fake_resource\u0027: []},"},{"line_number":414,"context_line":"               \u0027expected\u0027: None,"},{"line_number":415,"context_line":"               \u0027resource\u0027: \u0027fake_resource\u0027},"},{"line_number":416,"context_line":"              {\u0027filters\u0027: {u\u0027中文\u0027: \u0027value1\u0027},"},{"line_number":417,"context_line":"               \u0027is_admin\u0027: True,"},{"line_number":418,"context_line":"               \u0027result\u0027: None,"},{"line_number":419,"context_line":"               \u0027expected\u0027: None,"},{"line_number":420,"context_line":"               \u0027resource\u0027: None},"},{"line_number":421,"context_line":"              {\u0027filters\u0027: {u\u0027中文\u0027: \u0027value1\u0027},"},{"line_number":422,"context_line":"               \u0027is_admin\u0027: False,"},{"line_number":423,"context_line":"               \u0027result\u0027: {\u0027fake_resource\u0027: []},"},{"line_number":424,"context_line":"               \u0027expected\u0027: None,"},{"line_number":425,"context_line":"               \u0027resource\u0027: \u0027fake_resource\u0027})"},{"line_number":426,"context_line":"    @ddt.unpack"},{"line_number":427,"context_line":"    @mock.patch(\u0027cinder.api.common.get_enabled_resource_filters\u0027)"},{"line_number":428,"context_line":"    def test_reject_invalid_filters(self, mock_get, filters,"}],"source_content_type":"text/x-python","patch_set":5,"id":"5f7c97a3_cda76809","line":425,"range":{"start_line":416,"start_character":0,"end_line":425,"end_character":43},"updated":"2018-06-20 03:26:26.000000000","message":"Is there duplicated data with #406-#415?","commit_id":"1a6bc1f5a55c0b38fa512671923a452fe0bd4a2a"}]}
