)]}'
{"cinderclient/tests/v1/test_volumes.py":[{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"1299d8893752455eef02b2ffbd17bf3e34dbdacb","unresolved":false,"context_lines":[{"line_number":119,"context_line":"            \u0027all_tenants\u0027: 1}"},{"line_number":120,"context_line":"        cs.volumes.list(search_opts\u003dsearch_opts)"},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"        # If not sort the params, the url might be \u0027/volumes/detail?"},{"line_number":123,"context_line":"        # status\u003davailable\u0026all_tenants\u003d1\u0026display_name\u003dtest\u0027 in Python2,"},{"line_number":124,"context_line":"        # but in Python3 it might be \u0027/volumes/display_name\u003dtest\u0026"},{"line_number":125,"context_line":"        # all_tenants\u003d1\u0026status\u003davailable\u0027."}],"source_content_type":"text/x-python","patch_set":4,"id":"da86d52c_a4bc4edd","line":122,"updated":"2015-02-12 14:43:01.000000000","message":"s/\"If not sort the params\"/\"If params aren\u0027t sorted\"","commit_id":"3868c51d597ebbd66039860d230f617746032629"}],"cinderclient/v1/volumes.py":[{"author":{"_account_id":6825,"name":"Gary W. Smith","email":"garysmith123@gmail.com","username":"gary-w-smith"},"change_message_id":"69bafd8b9182473b23ea5b83b264af00465b3207","unresolved":false,"context_lines":[{"line_number":208,"context_line":"        # Transform the dict to a sequence of two-element tuples in fixed"},{"line_number":209,"context_line":"        # order, then the encoded string will be consistent in Python 2\u00263."},{"line_number":210,"context_line":"        if qparams:"},{"line_number":211,"context_line":"            new_qparams \u003d sorted(qparams.items(), key\u003dlambda x: x[0])"},{"line_number":212,"context_line":"            query_string \u003d \"?%s\" % urlencode(new_qparams)"},{"line_number":213,"context_line":"        else:"},{"line_number":214,"context_line":"            query_string \u003d \"\""}],"source_content_type":"text/x-python","patch_set":4,"id":"ba7be1f8_12469e23","line":211,"updated":"2015-02-24 05:54:28.000000000","message":"Should this use six.iteritems?","commit_id":"3868c51d597ebbd66039860d230f617746032629"},{"author":{"_account_id":6825,"name":"Gary W. Smith","email":"garysmith123@gmail.com","username":"gary-w-smith"},"change_message_id":"69bafd8b9182473b23ea5b83b264af00465b3207","unresolved":false,"context_lines":[{"line_number":212,"context_line":"            query_string \u003d \"?%s\" % urlencode(new_qparams)"},{"line_number":213,"context_line":"        else:"},{"line_number":214,"context_line":"            query_string \u003d \"\""},{"line_number":215,"context_line":""},{"line_number":216,"context_line":"        detail \u003d \"\""},{"line_number":217,"context_line":"        if detailed:"},{"line_number":218,"context_line":"            detail \u003d \"/detail\""}],"source_content_type":"text/x-python","patch_set":4,"id":"ba7be1f8_d23086a0","line":215,"updated":"2015-02-24 05:54:28.000000000","message":"While this works fine, it seems a bit odd to iterate through one dictionary (search_opts) to build another dictionary (qparams), and then iterate through that dictionary to sort it (new_qparams), then to iterate again (within urlencode) to build a string (query_string).","commit_id":"3868c51d597ebbd66039860d230f617746032629"}]}
