)]}'
{"nova/api/validation/__init__.py":[{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"527e5b02e1eb4f77c040950e5672c5e34bb936e1","unresolved":false,"context_lines":[{"line_number":177,"context_line":""},{"line_number":178,"context_line":""},{"line_number":179,"context_line":"def reject_known_bad_filters(filters_to_reject, patterns_to_reject\u003dNone,"},{"line_number":180,"context_line":"                             min_version\u003dNone, max_version\u003dNone):"},{"line_number":181,"context_line":"    \"\"\"Reject known bad filters in request query parameters."},{"line_number":182,"context_line":""},{"line_number":183,"context_line":"    :param list filters_to_reject: a list of known bad filters that"}],"source_content_type":"text/x-python","patch_set":7,"id":"7a3c09a3_eeaf547b","line":180,"range":{"start_line":180,"start_character":29,"end_line":180,"end_character":63},"updated":"2017-01-13 02:24:13.000000000","message":"you needn\u0027t this two parameters any more","commit_id":"f8072349f20b0de714449ed8f7f818442f7b30fd"},{"author":{"_account_id":15888,"name":"Zhenyu Zheng","email":"zheng.zhenyu@outlook.com","username":"Kevin_Zheng"},"change_message_id":"9d195222db2d8f443ae9cbe3f3dca1155e436ede","unresolved":false,"context_lines":[{"line_number":177,"context_line":""},{"line_number":178,"context_line":""},{"line_number":179,"context_line":"def reject_known_bad_filters(filters_to_reject, patterns_to_reject\u003dNone,"},{"line_number":180,"context_line":"                             min_version\u003dNone, max_version\u003dNone):"},{"line_number":181,"context_line":"    \"\"\"Reject known bad filters in request query parameters."},{"line_number":182,"context_line":""},{"line_number":183,"context_line":"    :param list filters_to_reject: a list of known bad filters that"}],"source_content_type":"text/x-python","patch_set":7,"id":"7a3c09a3_8eefb0af","line":180,"range":{"start_line":180,"start_character":29,"end_line":180,"end_character":63},"in_reply_to":"7a3c09a3_eeaf547b","updated":"2017-01-13 02:27:15.000000000","message":"yeah","commit_id":"f8072349f20b0de714449ed8f7f818442f7b30fd"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"527e5b02e1eb4f77c040950e5672c5e34bb936e1","unresolved":false,"context_lines":[{"line_number":213,"context_line":"def _filters_rejection_helper(filters_to_reject, patterns_to_reject, target):"},{"line_number":214,"context_line":"    pattern_regexes \u003d []"},{"line_number":215,"context_line":"    for regex in patterns_to_reject:"},{"line_number":216,"context_line":"        pattern_regexes.append(re.compile(regex))"},{"line_number":217,"context_line":""},{"line_number":218,"context_line":"    rejected_params \u003d []"},{"line_number":219,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"7a3c09a3_cee1b8d2","line":216,"updated":"2017-01-13 02:24:13.000000000","message":"only one regex is enough.","commit_id":"f8072349f20b0de714449ed8f7f818442f7b30fd"},{"author":{"_account_id":15888,"name":"Zhenyu Zheng","email":"zheng.zhenyu@outlook.com","username":"Kevin_Zheng"},"change_message_id":"9d195222db2d8f443ae9cbe3f3dca1155e436ede","unresolved":false,"context_lines":[{"line_number":213,"context_line":"def _filters_rejection_helper(filters_to_reject, patterns_to_reject, target):"},{"line_number":214,"context_line":"    pattern_regexes \u003d []"},{"line_number":215,"context_line":"    for regex in patterns_to_reject:"},{"line_number":216,"context_line":"        pattern_regexes.append(re.compile(regex))"},{"line_number":217,"context_line":""},{"line_number":218,"context_line":"    rejected_params \u003d []"},{"line_number":219,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"7a3c09a3_ae2aace5","line":216,"in_reply_to":"7a3c09a3_cee1b8d2","updated":"2017-01-13 02:27:15.000000000","message":"Hm, OK","commit_id":"f8072349f20b0de714449ed8f7f818442f7b30fd"}],"nova/api/validation/validators.py":[{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"8def90e7e285e7926760f577af6da9a6022728f1","unresolved":false,"context_lines":[{"line_number":139,"context_line":"@jsonschema.FormatChecker.cls_checks(\u0027reject_always\u0027,"},{"line_number":140,"context_line":"                                     exception.InvalidQueryParam)"},{"line_number":141,"context_line":"def _validate_reject_always_format(instance):"},{"line_number":142,"context_line":"    raise exception.InvalidQueryParam()"},{"line_number":143,"context_line":""},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"def _soft_validate_additional_properties(validator,"}],"source_content_type":"text/x-python","patch_set":7,"id":"7a3c09a3_ffdc6048","line":142,"range":{"start_line":142,"start_character":20,"end_line":142,"end_character":39},"updated":"2017-01-13 04:36:14.000000000","message":"we can pass the instance in exception which will be nice to figure out the rejected param.","commit_id":"f8072349f20b0de714449ed8f7f818442f7b30fd"},{"author":{"_account_id":15888,"name":"Zhenyu Zheng","email":"zheng.zhenyu@outlook.com","username":"Kevin_Zheng"},"change_message_id":"4356a1bc23cc0f55c0275e5cc009e02f003fb5b7","unresolved":false,"context_lines":[{"line_number":139,"context_line":"@jsonschema.FormatChecker.cls_checks(\u0027reject_always\u0027,"},{"line_number":140,"context_line":"                                     exception.InvalidQueryParam)"},{"line_number":141,"context_line":"def _validate_reject_always_format(instance):"},{"line_number":142,"context_line":"    raise exception.InvalidQueryParam()"},{"line_number":143,"context_line":""},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"def _soft_validate_additional_properties(validator,"}],"source_content_type":"text/x-python","patch_set":7,"id":"7a3c09a3_dad41249","line":142,"range":{"start_line":142,"start_character":20,"end_line":142,"end_character":39},"in_reply_to":"7a3c09a3_ffdc6048","updated":"2017-01-13 05:15:23.000000000","message":"I have already done this, actually the instance here is the value, we should show the key. e.g. info_catch\u003dxxxx the instance is xxxx here, we are actually expecting raise ...info_catch is invalid or some thing like that, we do not care the value here. This has been done below with ex,path","commit_id":"f8072349f20b0de714449ed8f7f818442f7b30fd"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"527e5b02e1eb4f77c040950e5672c5e34bb936e1","unresolved":false,"context_lines":[{"line_number":274,"context_line":"                    \u0027message\u0027: ex.cause.format_message(),"},{"line_number":275,"context_line":"                    \u0027param\u0027: ex.path[0]"},{"line_number":276,"context_line":"                }"},{"line_number":277,"context_line":"                ex.cause.format_message()"},{"line_number":278,"context_line":"            elif len(ex.path) \u003e 0:"},{"line_number":279,"context_line":"                if self.is_body:"},{"line_number":280,"context_line":"                    # NOTE: For whole OpenStack message consistency, this error"}],"source_content_type":"text/x-python","patch_set":7,"id":"7a3c09a3_ee8114fd","line":277,"updated":"2017-01-13 02:24:13.000000000","message":"This is needless","commit_id":"f8072349f20b0de714449ed8f7f818442f7b30fd"},{"author":{"_account_id":15888,"name":"Zhenyu Zheng","email":"zheng.zhenyu@outlook.com","username":"Kevin_Zheng"},"change_message_id":"9d195222db2d8f443ae9cbe3f3dca1155e436ede","unresolved":false,"context_lines":[{"line_number":274,"context_line":"                    \u0027message\u0027: ex.cause.format_message(),"},{"line_number":275,"context_line":"                    \u0027param\u0027: ex.path[0]"},{"line_number":276,"context_line":"                }"},{"line_number":277,"context_line":"                ex.cause.format_message()"},{"line_number":278,"context_line":"            elif len(ex.path) \u003e 0:"},{"line_number":279,"context_line":"                if self.is_body:"},{"line_number":280,"context_line":"                    # NOTE: For whole OpenStack message consistency, this error"}],"source_content_type":"text/x-python","patch_set":7,"id":"7a3c09a3_8e46d0bd","line":277,"in_reply_to":"7a3c09a3_ee8114fd","updated":"2017-01-13 02:27:15.000000000","message":"my bad","commit_id":"f8072349f20b0de714449ed8f7f818442f7b30fd"}],"nova/exception.py":[{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"8def90e7e285e7926760f577af6da9a6022728f1","unresolved":false,"context_lines":[{"line_number":375,"context_line":""},{"line_number":376,"context_line":""},{"line_number":377,"context_line":"class InvalidQueryParam(Invalid):"},{"line_number":378,"context_line":"    msg_fmt \u003d _(\"An invalid query parameter value was provided.\")"},{"line_number":379,"context_line":""},{"line_number":380,"context_line":""},{"line_number":381,"context_line":"class InstanceInvalidState(Invalid):"}],"source_content_type":"text/x-python","patch_set":7,"id":"7a3c09a3_3fcee883","line":378,"range":{"start_line":378,"start_character":44,"end_line":378,"end_character":49},"updated":"2017-01-13 04:36:14.000000000","message":"%(param)\n\nand pass param from raise","commit_id":"f8072349f20b0de714449ed8f7f818442f7b30fd"}],"nova/tests/unit/test_api_validation.py":[{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"d43e8ad7b71250532f0f8247bd972457ae3998d8","unresolved":false,"context_lines":[{"line_number":35,"context_line":"        \u0027foo\u0027: parameter_types.single_param({\u0027type\u0027: \u0027string\u0027,"},{"line_number":36,"context_line":"                                             \u0027format\u0027: \u0027uuid\u0027}),"},{"line_number":37,"context_line":"        \u0027foos\u0027: parameter_types.multi_params({\u0027type\u0027: \u0027string\u0027}),"},{"line_number":38,"context_line":"        \u0027reject\u0027: parameter_types.multi_params("},{"line_number":39,"context_line":"            {\u0027type\u0027: \u0027string\u0027, \u0027format\u0027: \u0027reject_always\u0027})"},{"line_number":40,"context_line":"    },"},{"line_number":41,"context_line":"    \u0027patternProperties\u0027: {"}],"source_content_type":"text/x-python","patch_set":10,"id":"7a3c09a3_f9871210","line":38,"updated":"2017-01-13 11:14:25.000000000","message":"it seems a bit nasty to hide the names under a made up key.","commit_id":"7451a6eeb76f394d5919a6fe38d29a2688764b85"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"d43e8ad7b71250532f0f8247bd972457ae3998d8","unresolved":false,"context_lines":[{"line_number":44,"context_line":"    \u0027additionalProperties\u0027: True"},{"line_number":45,"context_line":"}"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"KNOWN_BAD_FILTERS \u003d [\u0027foo\u0027, \u0027bar\u0027]"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"class FakeQueryParametersController(object):"}],"source_content_type":"text/x-python","patch_set":10,"id":"7a3c09a3_7995e23e","line":47,"range":{"start_line":47,"start_character":22,"end_line":47,"end_character":25},"updated":"2017-01-13 11:14:25.000000000","message":"This seems to say foo is both allowed and bad, which is a touch confusing.","commit_id":"7451a6eeb76f394d5919a6fe38d29a2688764b85"}]}
