)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":17405,"name":"Jacob Gregor","email":"jgregor@us.ibm.com","username":"jgregor"},"change_message_id":"f57394a15f11c74c787c67ba624e7152c3116af5","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Raise HTTPBadRequest when invalid filters are given"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Currently cinder api just ignores the not-allowed filters, no error"},{"line_number":10,"context_line":"message is given. Users may misthink the result is what they enquires."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"This fix is to raise HTTPBadRequest when invalid filters are given."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"fa1b9901_74009302","line":9,"updated":"2015-08-26 14:09:24.000000000","message":"Capitalize \"cinder\".\n\napi -\u003e API\n\nSuggestion: \"not-allowed filters, no error ...\" -\u003e \"not allowed, and no error ...\".","commit_id":"1a48544c44b3a9914f0edd0750bfdd08f26da5a9"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"f67fa7f504484923d2efe229736e536d19ce1753","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Raise HTTPBadRequest when invalid filters are given"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Currently cinder api just ignores the not-allowed filters, no error"},{"line_number":10,"context_line":"message is given. Users may misthink the result is what they enquires."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"This fix is to raise HTTPBadRequest when invalid filters are given."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"da20952f_43988ec0","line":9,"in_reply_to":"fa1b9901_74009302","updated":"2015-08-28 06:51:18.000000000","message":"Done","commit_id":"1a48544c44b3a9914f0edd0750bfdd08f26da5a9"},{"author":{"_account_id":17405,"name":"Jacob Gregor","email":"jgregor@us.ibm.com","username":"jgregor"},"change_message_id":"f57394a15f11c74c787c67ba624e7152c3116af5","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Raise HTTPBadRequest when invalid filters are given"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Currently cinder api just ignores the not-allowed filters, no error"},{"line_number":10,"context_line":"message is given. Users may misthink the result is what they enquires."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"This fix is to raise HTTPBadRequest when invalid filters are given."},{"line_number":13,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"fa1b9901_cfa788ba","line":10,"updated":"2015-08-26 14:09:24.000000000","message":"Suggestion: Change \"Users may misthink the result is what they enquires.\"\nto \"Users may misinterpret their results because of this.\"","commit_id":"1a48544c44b3a9914f0edd0750bfdd08f26da5a9"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"f67fa7f504484923d2efe229736e536d19ce1753","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Raise HTTPBadRequest when invalid filters are given"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Currently cinder api just ignores the not-allowed filters, no error"},{"line_number":10,"context_line":"message is given. Users may misthink the result is what they enquires."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"This fix is to raise HTTPBadRequest when invalid filters are given."},{"line_number":13,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"da20952f_c3ea5e0f","line":10,"in_reply_to":"fa1b9901_cfa788ba","updated":"2015-08-28 06:51:18.000000000","message":"Done","commit_id":"1a48544c44b3a9914f0edd0750bfdd08f26da5a9"},{"author":{"_account_id":8846,"name":"Hao Wang","display_name":"Hao Wang","email":"sxmatch1986@gmail.com","username":"sxmatch"},"change_message_id":"63d702177be7f7704caa249ece6efc3b3464e72d","unresolved":false,"context_lines":[{"line_number":9,"context_line":"Currently cinder api just ignores the not-allowed filters, no error"},{"line_number":10,"context_line":"message is given. Users may misthink the result is what they enquires."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"This fix is to raise HTTPBadRequest when invalid filters are given."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"DocImpact"},{"line_number":15,"context_line":"When giving invalid filters, HTTPBadRequest is raised."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"fa1b9901_14f5a2eb","line":12,"updated":"2015-08-26 09:41:00.000000000","message":"I feel this patch has changed the behavior of API, so APIImpact also is needed too.","commit_id":"1a48544c44b3a9914f0edd0750bfdd08f26da5a9"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"f67fa7f504484923d2efe229736e536d19ce1753","unresolved":false,"context_lines":[{"line_number":9,"context_line":"Currently cinder api just ignores the not-allowed filters, no error"},{"line_number":10,"context_line":"message is given. Users may misthink the result is what they enquires."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"This fix is to raise HTTPBadRequest when invalid filters are given."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"DocImpact"},{"line_number":15,"context_line":"When giving invalid filters, HTTPBadRequest is raised."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"da20952f_0357f6ce","line":12,"in_reply_to":"fa1b9901_14f5a2eb","updated":"2015-08-28 06:51:18.000000000","message":"Done","commit_id":"1a48544c44b3a9914f0edd0750bfdd08f26da5a9"},{"author":{"_account_id":16258,"name":"nikesh","email":"nike.niec@gmail.com","username":"nikem"},"change_message_id":"4e3a4de33026c8f5c1191d0a95fef2fb14c7481b","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     lisali \u003cxiaoyan.li@intel.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2015-08-28 06:43:39 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Raise HTTPBadRequest when invalid filters are given"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Currently cinder api just ignores the not allowed filters and no error"},{"line_number":10,"context_line":"message is given. Users may misinterpret their results because of this."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"da20952f_23ef9ab1","line":7,"updated":"2015-08-28 06:56:57.000000000","message":"The first line should be limited to 50 characters\nHere total 51 characters.","commit_id":"2f52d9f0cf57677df8f48978d92727599d2a3661"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"5e2197616faf12ee3c920fce5217c2b89d5e550d","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     lisali \u003cxiaoyan.li@intel.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2015-08-28 06:43:39 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Raise HTTPBadRequest when invalid filters are given"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Currently cinder api just ignores the not allowed filters and no error"},{"line_number":10,"context_line":"message is given. Users may misinterpret their results because of this."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"da20952f_6374b2ce","line":7,"in_reply_to":"da20952f_23ef9ab1","updated":"2015-08-28 07:01:23.000000000","message":"Done","commit_id":"2f52d9f0cf57677df8f48978d92727599d2a3661"},{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"d95a6e3e2d8aeb2fc776e39162f5c96866eef3ae","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Raise HTTPBadRequest for invalid filters"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Currently cinder api just ignores the not allowed filters and no error"},{"line_number":10,"context_line":"message is given. Users may misinterpret their results because of this."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"This fix is to raise HTTPBadRequest when invalid filters are given."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"da20952f_6256a35d","line":9,"updated":"2015-08-30 23:52:24.000000000","message":"Suggest: \"Currently, the Cinder API just ignores...\"","commit_id":"d299d0a9ac757b722337838b5838a47a451e047e"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"97e94be1bcf74c6e1e66aeeb400574a66613ba3e","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Raise HTTPBadRequest for invalid filters"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Currently cinder api just ignores the not allowed filters and no error"},{"line_number":10,"context_line":"message is given. Users may misinterpret their results because of this."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"This fix is to raise HTTPBadRequest when invalid filters are given."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"da20952f_590b518e","line":9,"in_reply_to":"da20952f_6256a35d","updated":"2015-08-31 06:19:43.000000000","message":"Done","commit_id":"d299d0a9ac757b722337838b5838a47a451e047e"},{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"d95a6e3e2d8aeb2fc776e39162f5c96866eef3ae","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Raise HTTPBadRequest for invalid filters"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Currently cinder api just ignores the not allowed filters and no error"},{"line_number":10,"context_line":"message is given. Users may misinterpret their results because of this."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"This fix is to raise HTTPBadRequest when invalid filters are given."},{"line_number":13,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"da20952f_c2d3efd3","line":10,"updated":"2015-08-30 23:52:24.000000000","message":"Can you give an example of a misinterpretation? While not overly, important it might help clarify things here. Just a suggestion.","commit_id":"d299d0a9ac757b722337838b5838a47a451e047e"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"97e94be1bcf74c6e1e66aeeb400574a66613ba3e","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Raise HTTPBadRequest for invalid filters"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Currently cinder api just ignores the not allowed filters and no error"},{"line_number":10,"context_line":"message is given. Users may misinterpret their results because of this."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"This fix is to raise HTTPBadRequest when invalid filters are given."},{"line_number":13,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"da20952f_791e55bc","line":10,"in_reply_to":"da20952f_c2d3efd3","updated":"2015-08-31 06:19:43.000000000","message":"Done","commit_id":"d299d0a9ac757b722337838b5838a47a451e047e"}],"cinder/api/contrib/backups.py":[{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"d95a6e3e2d8aeb2fc776e39162f5c96866eef3ae","unresolved":false,"context_lines":[{"line_number":215,"context_line":"            context, filters, self._get_backup_filter_options())"},{"line_number":216,"context_line":"        if bad_options:"},{"line_number":217,"context_line":"            msg \u003d _(\"The following filter options are not allowed or \""},{"line_number":218,"context_line":"                    \"invalid: %s\") % bad_options"},{"line_number":219,"context_line":"            raise exc.HTTPBadRequest(explanation\u003dmsg)"},{"line_number":220,"context_line":""},{"line_number":221,"context_line":"        if \u0027name\u0027 in filters:"}],"source_content_type":"text/x-python","patch_set":5,"id":"da20952f_a2803bc0","line":218,"updated":"2015-08-30 23:52:24.000000000","message":"\".\" at EOL","commit_id":"d299d0a9ac757b722337838b5838a47a451e047e"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"97e94be1bcf74c6e1e66aeeb400574a66613ba3e","unresolved":false,"context_lines":[{"line_number":215,"context_line":"            context, filters, self._get_backup_filter_options())"},{"line_number":216,"context_line":"        if bad_options:"},{"line_number":217,"context_line":"            msg \u003d _(\"The following filter options are not allowed or \""},{"line_number":218,"context_line":"                    \"invalid: %s\") % bad_options"},{"line_number":219,"context_line":"            raise exc.HTTPBadRequest(explanation\u003dmsg)"},{"line_number":220,"context_line":""},{"line_number":221,"context_line":"        if \u0027name\u0027 in filters:"}],"source_content_type":"text/x-python","patch_set":5,"id":"da20952f_199cf95b","line":218,"in_reply_to":"da20952f_a2803bc0","updated":"2015-08-31 06:19:43.000000000","message":"I am sorry that I always forgot to add \u0027.\u0027 at EOL.\nWill keep it in mind.","commit_id":"d299d0a9ac757b722337838b5838a47a451e047e"}],"cinder/api/v2/snapshots.py":[{"author":{"_account_id":17405,"name":"Jacob Gregor","email":"jgregor@us.ibm.com","username":"jgregor"},"change_message_id":"f57394a15f11c74c787c67ba624e7152c3116af5","unresolved":false,"context_lines":[{"line_number":145,"context_line":""},{"line_number":146,"context_line":"        # filter out invalid option"},{"line_number":147,"context_line":"        allowed_search_options \u003d (\u0027status\u0027, \u0027volume_id\u0027, \u0027name\u0027)"},{"line_number":148,"context_line":"        bad_options \u003d \\"},{"line_number":149,"context_line":"            utils.find_invalid_filter_options(context,"},{"line_number":150,"context_line":"                                              search_opts,"},{"line_number":151,"context_line":"                                              allowed_search_options)"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa1b9901_2aa152f8","line":148,"updated":"2015-08-26 14:09:24.000000000","message":"Is there any way to avoid using \\?","commit_id":"1a48544c44b3a9914f0edd0750bfdd08f26da5a9"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"f67fa7f504484923d2efe229736e536d19ce1753","unresolved":false,"context_lines":[{"line_number":145,"context_line":""},{"line_number":146,"context_line":"        # filter out invalid option"},{"line_number":147,"context_line":"        allowed_search_options \u003d (\u0027status\u0027, \u0027volume_id\u0027, \u0027name\u0027)"},{"line_number":148,"context_line":"        bad_options \u003d \\"},{"line_number":149,"context_line":"            utils.find_invalid_filter_options(context,"},{"line_number":150,"context_line":"                                              search_opts,"},{"line_number":151,"context_line":"                                              allowed_search_options)"}],"source_content_type":"text/x-python","patch_set":3,"id":"da20952f_048adcbf","line":148,"in_reply_to":"fa1b9901_2aa152f8","updated":"2015-08-28 06:51:18.000000000","message":"Done","commit_id":"1a48544c44b3a9914f0edd0750bfdd08f26da5a9"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"96c95d6026d275957619d6b0c9ad1f8fbb808c0b","unresolved":false,"context_lines":[{"line_number":146,"context_line":"        # filter out invalid option"},{"line_number":147,"context_line":"        allowed_search_options \u003d (\u0027status\u0027, \u0027volume_id\u0027, \u0027name\u0027)"},{"line_number":148,"context_line":"        bad_options \u003d \\"},{"line_number":149,"context_line":"            utils.find_invalid_filter_options(context,"},{"line_number":150,"context_line":"                                              search_opts,"},{"line_number":151,"context_line":"                                              allowed_search_options)"},{"line_number":152,"context_line":"        if bad_options:"}],"source_content_type":"text/x-python","patch_set":3,"id":"da20952f_6dd15dfb","line":149,"updated":"2015-08-26 17:20:58.000000000","message":"use parentheses() to wrap long lines instead of backslash for line continuation.","commit_id":"1a48544c44b3a9914f0edd0750bfdd08f26da5a9"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"f67fa7f504484923d2efe229736e536d19ce1753","unresolved":false,"context_lines":[{"line_number":146,"context_line":"        # filter out invalid option"},{"line_number":147,"context_line":"        allowed_search_options \u003d (\u0027status\u0027, \u0027volume_id\u0027, \u0027name\u0027)"},{"line_number":148,"context_line":"        bad_options \u003d \\"},{"line_number":149,"context_line":"            utils.find_invalid_filter_options(context,"},{"line_number":150,"context_line":"                                              search_opts,"},{"line_number":151,"context_line":"                                              allowed_search_options)"},{"line_number":152,"context_line":"        if bad_options:"}],"source_content_type":"text/x-python","patch_set":3,"id":"da20952f_e49008ef","line":149,"in_reply_to":"da20952f_6dd15dfb","updated":"2015-08-28 06:51:18.000000000","message":"Thank you. Done.","commit_id":"1a48544c44b3a9914f0edd0750bfdd08f26da5a9"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"96c95d6026d275957619d6b0c9ad1f8fbb808c0b","unresolved":false,"context_lines":[{"line_number":150,"context_line":"                                              search_opts,"},{"line_number":151,"context_line":"                                              allowed_search_options)"},{"line_number":152,"context_line":"        if bad_options:"},{"line_number":153,"context_line":"            msg \u003d _(\"The following filter options are not allowed or\""},{"line_number":154,"context_line":"                    \" invalid: %s\") % bad_options"},{"line_number":155,"context_line":"            raise exc.HTTPBadRequest(explanation\u003dmsg)"},{"line_number":156,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"da20952f_8865bfe2","line":153,"updated":"2015-08-26 17:20:58.000000000","message":"Please add the space at the end of a line and not at the beginning.\n\nFor ex.\n\n_(\"The following filter options are not allowed or \"\n  \"invalid: %s\")","commit_id":"1a48544c44b3a9914f0edd0750bfdd08f26da5a9"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"f67fa7f504484923d2efe229736e536d19ce1753","unresolved":false,"context_lines":[{"line_number":150,"context_line":"                                              search_opts,"},{"line_number":151,"context_line":"                                              allowed_search_options)"},{"line_number":152,"context_line":"        if bad_options:"},{"line_number":153,"context_line":"            msg \u003d _(\"The following filter options are not allowed or\""},{"line_number":154,"context_line":"                    \" invalid: %s\") % bad_options"},{"line_number":155,"context_line":"            raise exc.HTTPBadRequest(explanation\u003dmsg)"},{"line_number":156,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"da20952f_a468d0f6","line":153,"in_reply_to":"da20952f_8865bfe2","updated":"2015-08-28 06:51:18.000000000","message":"Done","commit_id":"1a48544c44b3a9914f0edd0750bfdd08f26da5a9"},{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"d95a6e3e2d8aeb2fc776e39162f5c96866eef3ae","unresolved":false,"context_lines":[{"line_number":149,"context_line":"            context, search_opts, allowed_search_options)"},{"line_number":150,"context_line":"        if bad_options:"},{"line_number":151,"context_line":"            msg \u003d _(\"The following filter options are not allowed or \""},{"line_number":152,"context_line":"                    \"invalid: %s\") % bad_options"},{"line_number":153,"context_line":"            raise exc.HTTPBadRequest(explanation\u003dmsg)"},{"line_number":154,"context_line":""},{"line_number":155,"context_line":"        # NOTE(thingee): v2 API allows name instead of display_name"}],"source_content_type":"text/x-python","patch_set":5,"id":"da20952f_626f832b","line":152,"updated":"2015-08-30 23:52:24.000000000","message":"\".\" at EOL","commit_id":"d299d0a9ac757b722337838b5838a47a451e047e"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"97e94be1bcf74c6e1e66aeeb400574a66613ba3e","unresolved":false,"context_lines":[{"line_number":149,"context_line":"            context, search_opts, allowed_search_options)"},{"line_number":150,"context_line":"        if bad_options:"},{"line_number":151,"context_line":"            msg \u003d _(\"The following filter options are not allowed or \""},{"line_number":152,"context_line":"                    \"invalid: %s\") % bad_options"},{"line_number":153,"context_line":"            raise exc.HTTPBadRequest(explanation\u003dmsg)"},{"line_number":154,"context_line":""},{"line_number":155,"context_line":"        # NOTE(thingee): v2 API allows name instead of display_name"}],"source_content_type":"text/x-python","patch_set":5,"id":"da20952f_39b8ddc7","line":152,"in_reply_to":"da20952f_626f832b","updated":"2015-08-31 06:19:43.000000000","message":"Done","commit_id":"d299d0a9ac757b722337838b5838a47a451e047e"}],"cinder/api/v2/volumes.py":[{"author":{"_account_id":17405,"name":"Jacob Gregor","email":"jgregor@us.ibm.com","username":"jgregor"},"change_message_id":"f57394a15f11c74c787c67ba624e7152c3116af5","unresolved":false,"context_lines":[{"line_number":231,"context_line":"        sort_keys, sort_dirs \u003d common.get_sort_params(params)"},{"line_number":232,"context_line":"        filters \u003d params"},{"line_number":233,"context_line":""},{"line_number":234,"context_line":"        bad_options \u003d \\"},{"line_number":235,"context_line":"            utils.find_invalid_filter_options("},{"line_number":236,"context_line":"                context,"},{"line_number":237,"context_line":"                filters,"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa1b9901_2aef121f","line":234,"updated":"2015-08-26 14:09:24.000000000","message":"Is there any way to avoid using \\?","commit_id":"1a48544c44b3a9914f0edd0750bfdd08f26da5a9"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"96c95d6026d275957619d6b0c9ad1f8fbb808c0b","unresolved":false,"context_lines":[{"line_number":231,"context_line":"        sort_keys, sort_dirs \u003d common.get_sort_params(params)"},{"line_number":232,"context_line":"        filters \u003d params"},{"line_number":233,"context_line":""},{"line_number":234,"context_line":"        bad_options \u003d \\"},{"line_number":235,"context_line":"            utils.find_invalid_filter_options("},{"line_number":236,"context_line":"                context,"},{"line_number":237,"context_line":"                filters,"}],"source_content_type":"text/x-python","patch_set":3,"id":"da20952f_a85763c9","line":234,"updated":"2015-08-26 17:20:58.000000000","message":"use parentheses() to wrap long lines instead of backslash for line continuation.","commit_id":"1a48544c44b3a9914f0edd0750bfdd08f26da5a9"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"f67fa7f504484923d2efe229736e536d19ce1753","unresolved":false,"context_lines":[{"line_number":231,"context_line":"        sort_keys, sort_dirs \u003d common.get_sort_params(params)"},{"line_number":232,"context_line":"        filters \u003d params"},{"line_number":233,"context_line":""},{"line_number":234,"context_line":"        bad_options \u003d \\"},{"line_number":235,"context_line":"            utils.find_invalid_filter_options("},{"line_number":236,"context_line":"                context,"},{"line_number":237,"context_line":"                filters,"}],"source_content_type":"text/x-python","patch_set":3,"id":"da20952f_a41d3075","line":234,"in_reply_to":"da20952f_a85763c9","updated":"2015-08-28 06:51:18.000000000","message":"Done","commit_id":"1a48544c44b3a9914f0edd0750bfdd08f26da5a9"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"f67fa7f504484923d2efe229736e536d19ce1753","unresolved":false,"context_lines":[{"line_number":231,"context_line":"        sort_keys, sort_dirs \u003d common.get_sort_params(params)"},{"line_number":232,"context_line":"        filters \u003d params"},{"line_number":233,"context_line":""},{"line_number":234,"context_line":"        bad_options \u003d \\"},{"line_number":235,"context_line":"            utils.find_invalid_filter_options("},{"line_number":236,"context_line":"                context,"},{"line_number":237,"context_line":"                filters,"}],"source_content_type":"text/x-python","patch_set":3,"id":"da20952f_e42c88ad","line":234,"in_reply_to":"fa1b9901_2aef121f","updated":"2015-08-28 06:51:18.000000000","message":"Done","commit_id":"1a48544c44b3a9914f0edd0750bfdd08f26da5a9"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"96c95d6026d275957619d6b0c9ad1f8fbb808c0b","unresolved":false,"context_lines":[{"line_number":237,"context_line":"                filters,"},{"line_number":238,"context_line":"                self._get_volume_filter_options())"},{"line_number":239,"context_line":"        if bad_options:"},{"line_number":240,"context_line":"            msg \u003d _(\"The following filter options are not allowed or\""},{"line_number":241,"context_line":"                    \" invalid: %s\") % bad_options"},{"line_number":242,"context_line":"            raise exc.HTTPBadRequest(explanation\u003dmsg)"},{"line_number":243,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"da20952f_a80e83e3","line":240,"updated":"2015-08-26 17:20:58.000000000","message":"Please add the space at the end of a line and not at the beginning.","commit_id":"1a48544c44b3a9914f0edd0750bfdd08f26da5a9"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"f67fa7f504484923d2efe229736e536d19ce1753","unresolved":false,"context_lines":[{"line_number":237,"context_line":"                filters,"},{"line_number":238,"context_line":"                self._get_volume_filter_options())"},{"line_number":239,"context_line":"        if bad_options:"},{"line_number":240,"context_line":"            msg \u003d _(\"The following filter options are not allowed or\""},{"line_number":241,"context_line":"                    \" invalid: %s\") % bad_options"},{"line_number":242,"context_line":"            raise exc.HTTPBadRequest(explanation\u003dmsg)"},{"line_number":243,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"da20952f_44121464","line":240,"in_reply_to":"da20952f_a80e83e3","updated":"2015-08-28 06:51:18.000000000","message":"Done","commit_id":"1a48544c44b3a9914f0edd0750bfdd08f26da5a9"},{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"d95a6e3e2d8aeb2fc776e39162f5c96866eef3ae","unresolved":false,"context_lines":[{"line_number":235,"context_line":"            context, filters, self._get_volume_filter_options())"},{"line_number":236,"context_line":"        if bad_options:"},{"line_number":237,"context_line":"            msg \u003d _(\"The following filter options are not allowed or \""},{"line_number":238,"context_line":"                    \"invalid: %s\") % bad_options"},{"line_number":239,"context_line":"            raise exc.HTTPBadRequest(explanation\u003dmsg)"},{"line_number":240,"context_line":""},{"line_number":241,"context_line":"        # NOTE(thingee): v2 API allows name instead of display_name"}],"source_content_type":"text/x-python","patch_set":5,"id":"da20952f_826c1736","line":238,"updated":"2015-08-30 23:52:24.000000000","message":"\".\" at EOL","commit_id":"d299d0a9ac757b722337838b5838a47a451e047e"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"97e94be1bcf74c6e1e66aeeb400574a66613ba3e","unresolved":false,"context_lines":[{"line_number":235,"context_line":"            context, filters, self._get_volume_filter_options())"},{"line_number":236,"context_line":"        if bad_options:"},{"line_number":237,"context_line":"            msg \u003d _(\"The following filter options are not allowed or \""},{"line_number":238,"context_line":"                    \"invalid: %s\") % bad_options"},{"line_number":239,"context_line":"            raise exc.HTTPBadRequest(explanation\u003dmsg)"},{"line_number":240,"context_line":""},{"line_number":241,"context_line":"        # NOTE(thingee): v2 API allows name instead of display_name"}],"source_content_type":"text/x-python","patch_set":5,"id":"da20952f_f9ad8584","line":238,"in_reply_to":"da20952f_826c1736","updated":"2015-08-31 06:19:43.000000000","message":"Done","commit_id":"d299d0a9ac757b722337838b5838a47a451e047e"}],"cinder/tests/unit/test_utils.py":[{"author":{"_account_id":17405,"name":"Jacob Gregor","email":"jgregor@us.ibm.com","username":"jgregor"},"change_message_id":"f57394a15f11c74c787c67ba624e7152c3116af5","unresolved":false,"context_lines":[{"line_number":1321,"context_line":"        filters \u003d {\u0027allowed1\u0027: None, \u0027allowed2\u0027: None, \u0027not_allowed1\u0027: None}"},{"line_number":1322,"context_line":"        allowed_search_options \u003d (\u0027allowed1\u0027, \u0027allowed2\u0027)"},{"line_number":1323,"context_line":""},{"line_number":1324,"context_line":"        bad_options \u003d \\"},{"line_number":1325,"context_line":"            utils.find_invalid_filter_options(ctxt, filters,"},{"line_number":1326,"context_line":"                                              allowed_search_options)"},{"line_number":1327,"context_line":"        self.assertEqual(None, bad_options)"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa1b9901_ca31b65a","line":1324,"updated":"2015-08-26 14:09:24.000000000","message":"Is there any way to avoid using \\?","commit_id":"1a48544c44b3a9914f0edd0750bfdd08f26da5a9"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"96c95d6026d275957619d6b0c9ad1f8fbb808c0b","unresolved":false,"context_lines":[{"line_number":1321,"context_line":"        filters \u003d {\u0027allowed1\u0027: None, \u0027allowed2\u0027: None, \u0027not_allowed1\u0027: None}"},{"line_number":1322,"context_line":"        allowed_search_options \u003d (\u0027allowed1\u0027, \u0027allowed2\u0027)"},{"line_number":1323,"context_line":""},{"line_number":1324,"context_line":"        bad_options \u003d \\"},{"line_number":1325,"context_line":"            utils.find_invalid_filter_options(ctxt, filters,"},{"line_number":1326,"context_line":"                                              allowed_search_options)"},{"line_number":1327,"context_line":"        self.assertEqual(None, bad_options)"}],"source_content_type":"text/x-python","patch_set":3,"id":"da20952f_28f113ce","line":1324,"updated":"2015-08-26 17:20:58.000000000","message":"use parentheses() to wrap long lines instead of backslash for line continuation.","commit_id":"1a48544c44b3a9914f0edd0750bfdd08f26da5a9"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"f67fa7f504484923d2efe229736e536d19ce1753","unresolved":false,"context_lines":[{"line_number":1321,"context_line":"        filters \u003d {\u0027allowed1\u0027: None, \u0027allowed2\u0027: None, \u0027not_allowed1\u0027: None}"},{"line_number":1322,"context_line":"        allowed_search_options \u003d (\u0027allowed1\u0027, \u0027allowed2\u0027)"},{"line_number":1323,"context_line":""},{"line_number":1324,"context_line":"        bad_options \u003d \\"},{"line_number":1325,"context_line":"            utils.find_invalid_filter_options(ctxt, filters,"},{"line_number":1326,"context_line":"                                              allowed_search_options)"},{"line_number":1327,"context_line":"        self.assertEqual(None, bad_options)"}],"source_content_type":"text/x-python","patch_set":3,"id":"da20952f_2f66d9ed","line":1324,"in_reply_to":"da20952f_28f113ce","updated":"2015-08-28 06:51:18.000000000","message":"Done","commit_id":"1a48544c44b3a9914f0edd0750bfdd08f26da5a9"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"f67fa7f504484923d2efe229736e536d19ce1753","unresolved":false,"context_lines":[{"line_number":1321,"context_line":"        filters \u003d {\u0027allowed1\u0027: None, \u0027allowed2\u0027: None, \u0027not_allowed1\u0027: None}"},{"line_number":1322,"context_line":"        allowed_search_options \u003d (\u0027allowed1\u0027, \u0027allowed2\u0027)"},{"line_number":1323,"context_line":""},{"line_number":1324,"context_line":"        bad_options \u003d \\"},{"line_number":1325,"context_line":"            utils.find_invalid_filter_options(ctxt, filters,"},{"line_number":1326,"context_line":"                                              allowed_search_options)"},{"line_number":1327,"context_line":"        self.assertEqual(None, bad_options)"}],"source_content_type":"text/x-python","patch_set":3,"id":"da20952f_6f7371b2","line":1324,"in_reply_to":"fa1b9901_ca31b65a","updated":"2015-08-28 06:51:18.000000000","message":"Done","commit_id":"1a48544c44b3a9914f0edd0750bfdd08f26da5a9"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"96c95d6026d275957619d6b0c9ad1f8fbb808c0b","unresolved":false,"context_lines":[{"line_number":1324,"context_line":"        bad_options \u003d \\"},{"line_number":1325,"context_line":"            utils.find_invalid_filter_options(ctxt, filters,"},{"line_number":1326,"context_line":"                                              allowed_search_options)"},{"line_number":1327,"context_line":"        self.assertEqual(None, bad_options)"},{"line_number":1328,"context_line":""},{"line_number":1329,"context_line":"    def test_non_admin_not_allows_some_invalid_options(self):"},{"line_number":1330,"context_line":"        ctxt \u003d mock.Mock(name\u003d\u0027context\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"da20952f_289fd360","line":1327,"updated":"2015-08-26 17:20:58.000000000","message":"Use assertIsNone instead.","commit_id":"1a48544c44b3a9914f0edd0750bfdd08f26da5a9"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"f67fa7f504484923d2efe229736e536d19ce1753","unresolved":false,"context_lines":[{"line_number":1324,"context_line":"        bad_options \u003d \\"},{"line_number":1325,"context_line":"            utils.find_invalid_filter_options(ctxt, filters,"},{"line_number":1326,"context_line":"                                              allowed_search_options)"},{"line_number":1327,"context_line":"        self.assertEqual(None, bad_options)"},{"line_number":1328,"context_line":""},{"line_number":1329,"context_line":"    def test_non_admin_not_allows_some_invalid_options(self):"},{"line_number":1330,"context_line":"        ctxt \u003d mock.Mock(name\u003d\u0027context\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"da20952f_2fad79e9","line":1327,"in_reply_to":"da20952f_289fd360","updated":"2015-08-28 06:51:18.000000000","message":"Done","commit_id":"1a48544c44b3a9914f0edd0750bfdd08f26da5a9"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"96c95d6026d275957619d6b0c9ad1f8fbb808c0b","unresolved":false,"context_lines":[{"line_number":1332,"context_line":""},{"line_number":1333,"context_line":"        filters \u003d {\u0027allowed1\u0027: None, \u0027allowed2\u0027: None, \u0027not_allowed1\u0027: None}"},{"line_number":1334,"context_line":"        allowed_search_options \u003d (\u0027allowed1\u0027, \u0027allowed2\u0027)"},{"line_number":1335,"context_line":"        expect_bad_options \u003d \"not_allowed1\""},{"line_number":1336,"context_line":""},{"line_number":1337,"context_line":"        actual_bad_options \u003d \\"},{"line_number":1338,"context_line":"            utils.find_invalid_filter_options(ctxt, filters,"}],"source_content_type":"text/x-python","patch_set":3,"id":"da20952f_08bbefc5","line":1335,"updated":"2015-08-26 17:20:58.000000000","message":"Can we rename expect_bad_options to expected_bad_options","commit_id":"1a48544c44b3a9914f0edd0750bfdd08f26da5a9"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"f67fa7f504484923d2efe229736e536d19ce1753","unresolved":false,"context_lines":[{"line_number":1332,"context_line":""},{"line_number":1333,"context_line":"        filters \u003d {\u0027allowed1\u0027: None, \u0027allowed2\u0027: None, \u0027not_allowed1\u0027: None}"},{"line_number":1334,"context_line":"        allowed_search_options \u003d (\u0027allowed1\u0027, \u0027allowed2\u0027)"},{"line_number":1335,"context_line":"        expect_bad_options \u003d \"not_allowed1\""},{"line_number":1336,"context_line":""},{"line_number":1337,"context_line":"        actual_bad_options \u003d \\"},{"line_number":1338,"context_line":"            utils.find_invalid_filter_options(ctxt, filters,"}],"source_content_type":"text/x-python","patch_set":3,"id":"da20952f_4f41cd0a","line":1335,"in_reply_to":"da20952f_08bbefc5","updated":"2015-08-28 06:51:18.000000000","message":"Done","commit_id":"1a48544c44b3a9914f0edd0750bfdd08f26da5a9"},{"author":{"_account_id":17405,"name":"Jacob Gregor","email":"jgregor@us.ibm.com","username":"jgregor"},"change_message_id":"f57394a15f11c74c787c67ba624e7152c3116af5","unresolved":false,"context_lines":[{"line_number":1334,"context_line":"        allowed_search_options \u003d (\u0027allowed1\u0027, \u0027allowed2\u0027)"},{"line_number":1335,"context_line":"        expect_bad_options \u003d \"not_allowed1\""},{"line_number":1336,"context_line":""},{"line_number":1337,"context_line":"        actual_bad_options \u003d \\"},{"line_number":1338,"context_line":"            utils.find_invalid_filter_options(ctxt, filters,"},{"line_number":1339,"context_line":"                                              allowed_search_options)"},{"line_number":1340,"context_line":"        self.assertEqual(expect_bad_options, actual_bad_options)"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa1b9901_8a409ea6","line":1337,"updated":"2015-08-26 14:09:24.000000000","message":"Is there any way to avoid using \\?","commit_id":"1a48544c44b3a9914f0edd0750bfdd08f26da5a9"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"96c95d6026d275957619d6b0c9ad1f8fbb808c0b","unresolved":false,"context_lines":[{"line_number":1334,"context_line":"        allowed_search_options \u003d (\u0027allowed1\u0027, \u0027allowed2\u0027)"},{"line_number":1335,"context_line":"        expect_bad_options \u003d \"not_allowed1\""},{"line_number":1336,"context_line":""},{"line_number":1337,"context_line":"        actual_bad_options \u003d \\"},{"line_number":1338,"context_line":"            utils.find_invalid_filter_options(ctxt, filters,"},{"line_number":1339,"context_line":"                                              allowed_search_options)"},{"line_number":1340,"context_line":"        self.assertEqual(expect_bad_options, actual_bad_options)"}],"source_content_type":"text/x-python","patch_set":3,"id":"da20952f_687ceb20","line":1337,"updated":"2015-08-26 17:20:58.000000000","message":"use parentheses() to wrap long lines instead of backslash for line continuation.","commit_id":"1a48544c44b3a9914f0edd0750bfdd08f26da5a9"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"f67fa7f504484923d2efe229736e536d19ce1753","unresolved":false,"context_lines":[{"line_number":1334,"context_line":"        allowed_search_options \u003d (\u0027allowed1\u0027, \u0027allowed2\u0027)"},{"line_number":1335,"context_line":"        expect_bad_options \u003d \"not_allowed1\""},{"line_number":1336,"context_line":""},{"line_number":1337,"context_line":"        actual_bad_options \u003d \\"},{"line_number":1338,"context_line":"            utils.find_invalid_filter_options(ctxt, filters,"},{"line_number":1339,"context_line":"                                              allowed_search_options)"},{"line_number":1340,"context_line":"        self.assertEqual(expect_bad_options, actual_bad_options)"}],"source_content_type":"text/x-python","patch_set":3,"id":"da20952f_8f5e05e8","line":1337,"in_reply_to":"da20952f_687ceb20","updated":"2015-08-28 06:51:18.000000000","message":"Done","commit_id":"1a48544c44b3a9914f0edd0750bfdd08f26da5a9"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"f67fa7f504484923d2efe229736e536d19ce1753","unresolved":false,"context_lines":[{"line_number":1334,"context_line":"        allowed_search_options \u003d (\u0027allowed1\u0027, \u0027allowed2\u0027)"},{"line_number":1335,"context_line":"        expect_bad_options \u003d \"not_allowed1\""},{"line_number":1336,"context_line":""},{"line_number":1337,"context_line":"        actual_bad_options \u003d \\"},{"line_number":1338,"context_line":"            utils.find_invalid_filter_options(ctxt, filters,"},{"line_number":1339,"context_line":"                                              allowed_search_options)"},{"line_number":1340,"context_line":"        self.assertEqual(expect_bad_options, actual_bad_options)"}],"source_content_type":"text/x-python","patch_set":3,"id":"da20952f_ef5221dd","line":1337,"in_reply_to":"fa1b9901_8a409ea6","updated":"2015-08-28 06:51:18.000000000","message":"Done","commit_id":"1a48544c44b3a9914f0edd0750bfdd08f26da5a9"},{"author":{"_account_id":17405,"name":"Jacob Gregor","email":"jgregor@us.ibm.com","username":"jgregor"},"change_message_id":"f57394a15f11c74c787c67ba624e7152c3116af5","unresolved":false,"context_lines":[{"line_number":1346,"context_line":"        filters \u003d {\u0027allowed1\u0027: None}"},{"line_number":1347,"context_line":"        allowed_search_options \u003d (\u0027allowed1\u0027, \u0027allowed2\u0027)"},{"line_number":1348,"context_line":""},{"line_number":1349,"context_line":"        actual_bad_options \u003d \\"},{"line_number":1350,"context_line":"            utils.find_invalid_filter_options(ctxt, filters,"},{"line_number":1351,"context_line":"                                              allowed_search_options)"},{"line_number":1352,"context_line":"        self.assertEqual(None, actual_bad_options)"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa1b9901_8a6e5e2d","line":1349,"updated":"2015-08-26 14:09:24.000000000","message":"Is there any way to avoid using \\?","commit_id":"1a48544c44b3a9914f0edd0750bfdd08f26da5a9"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"96c95d6026d275957619d6b0c9ad1f8fbb808c0b","unresolved":false,"context_lines":[{"line_number":1346,"context_line":"        filters \u003d {\u0027allowed1\u0027: None}"},{"line_number":1347,"context_line":"        allowed_search_options \u003d (\u0027allowed1\u0027, \u0027allowed2\u0027)"},{"line_number":1348,"context_line":""},{"line_number":1349,"context_line":"        actual_bad_options \u003d \\"},{"line_number":1350,"context_line":"            utils.find_invalid_filter_options(ctxt, filters,"},{"line_number":1351,"context_line":"                                              allowed_search_options)"},{"line_number":1352,"context_line":"        self.assertEqual(None, actual_bad_options)"}],"source_content_type":"text/x-python","patch_set":3,"id":"da20952f_28c4b33e","line":1349,"updated":"2015-08-26 17:20:58.000000000","message":"use parentheses() to wrap long lines instead of backslash for line continuation.","commit_id":"1a48544c44b3a9914f0edd0750bfdd08f26da5a9"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"f67fa7f504484923d2efe229736e536d19ce1753","unresolved":false,"context_lines":[{"line_number":1346,"context_line":"        filters \u003d {\u0027allowed1\u0027: None}"},{"line_number":1347,"context_line":"        allowed_search_options \u003d (\u0027allowed1\u0027, \u0027allowed2\u0027)"},{"line_number":1348,"context_line":""},{"line_number":1349,"context_line":"        actual_bad_options \u003d \\"},{"line_number":1350,"context_line":"            utils.find_invalid_filter_options(ctxt, filters,"},{"line_number":1351,"context_line":"                                              allowed_search_options)"},{"line_number":1352,"context_line":"        self.assertEqual(None, actual_bad_options)"}],"source_content_type":"text/x-python","patch_set":3,"id":"da20952f_0f73d581","line":1349,"in_reply_to":"da20952f_28c4b33e","updated":"2015-08-28 06:51:18.000000000","message":"Done","commit_id":"1a48544c44b3a9914f0edd0750bfdd08f26da5a9"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"f67fa7f504484923d2efe229736e536d19ce1753","unresolved":false,"context_lines":[{"line_number":1346,"context_line":"        filters \u003d {\u0027allowed1\u0027: None}"},{"line_number":1347,"context_line":"        allowed_search_options \u003d (\u0027allowed1\u0027, \u0027allowed2\u0027)"},{"line_number":1348,"context_line":""},{"line_number":1349,"context_line":"        actual_bad_options \u003d \\"},{"line_number":1350,"context_line":"            utils.find_invalid_filter_options(ctxt, filters,"},{"line_number":1351,"context_line":"                                              allowed_search_options)"},{"line_number":1352,"context_line":"        self.assertEqual(None, actual_bad_options)"}],"source_content_type":"text/x-python","patch_set":3,"id":"da20952f_4f58edfa","line":1349,"in_reply_to":"fa1b9901_8a6e5e2d","updated":"2015-08-28 06:51:18.000000000","message":"Done","commit_id":"1a48544c44b3a9914f0edd0750bfdd08f26da5a9"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"96c95d6026d275957619d6b0c9ad1f8fbb808c0b","unresolved":false,"context_lines":[{"line_number":1349,"context_line":"        actual_bad_options \u003d \\"},{"line_number":1350,"context_line":"            utils.find_invalid_filter_options(ctxt, filters,"},{"line_number":1351,"context_line":"                                              allowed_search_options)"},{"line_number":1352,"context_line":"        self.assertEqual(None, actual_bad_options)"},{"line_number":1353,"context_line":""},{"line_number":1354,"context_line":""},{"line_number":1355,"context_line":"class IsBlkDeviceTestCase(test.TestCase):"}],"source_content_type":"text/x-python","patch_set":3,"id":"da20952f_88ce1f59","line":1352,"updated":"2015-08-26 17:20:58.000000000","message":"Use assertIsNone instead.","commit_id":"1a48544c44b3a9914f0edd0750bfdd08f26da5a9"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"f67fa7f504484923d2efe229736e536d19ce1753","unresolved":false,"context_lines":[{"line_number":1349,"context_line":"        actual_bad_options \u003d \\"},{"line_number":1350,"context_line":"            utils.find_invalid_filter_options(ctxt, filters,"},{"line_number":1351,"context_line":"                                              allowed_search_options)"},{"line_number":1352,"context_line":"        self.assertEqual(None, actual_bad_options)"},{"line_number":1353,"context_line":""},{"line_number":1354,"context_line":""},{"line_number":1355,"context_line":"class IsBlkDeviceTestCase(test.TestCase):"}],"source_content_type":"text/x-python","patch_set":3,"id":"da20952f_2f701972","line":1352,"in_reply_to":"da20952f_88ce1f59","updated":"2015-08-28 06:51:18.000000000","message":"Done","commit_id":"1a48544c44b3a9914f0edd0750bfdd08f26da5a9"}],"cinder/utils.py":[{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"96c95d6026d275957619d6b0c9ad1f8fbb808c0b","unresolved":false,"context_lines":[{"line_number":753,"context_line":"    unknown_options \u003d [opt for opt in filters"},{"line_number":754,"context_line":"                       if opt not in allowed_search_options]"},{"line_number":755,"context_line":"    bad_options \u003d None"},{"line_number":756,"context_line":"    if unknown_options and len(unknown_options):"},{"line_number":757,"context_line":"        bad_options \u003d \", \".join(unknown_options)"},{"line_number":758,"context_line":"    return bad_options"},{"line_number":759,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"da20952f_3362e8d9","line":756,"updated":"2015-08-26 17:20:58.000000000","message":"There is no need to check for len(unknown_options) explicitly. For zero length unknown_options list \"if unknown_options\" will return False.","commit_id":"1a48544c44b3a9914f0edd0750bfdd08f26da5a9"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"f67fa7f504484923d2efe229736e536d19ce1753","unresolved":false,"context_lines":[{"line_number":753,"context_line":"    unknown_options \u003d [opt for opt in filters"},{"line_number":754,"context_line":"                       if opt not in allowed_search_options]"},{"line_number":755,"context_line":"    bad_options \u003d None"},{"line_number":756,"context_line":"    if unknown_options and len(unknown_options):"},{"line_number":757,"context_line":"        bad_options \u003d \", \".join(unknown_options)"},{"line_number":758,"context_line":"    return bad_options"},{"line_number":759,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"da20952f_8f2cc54b","line":756,"in_reply_to":"da20952f_3362e8d9","updated":"2015-08-28 06:51:18.000000000","message":"Done. Thanks.","commit_id":"1a48544c44b3a9914f0edd0750bfdd08f26da5a9"}]}
