)]}'
{"swiftclient/client.py":[{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"282d6bc0d4085bd9a7b213a2454cfb8b73cba645","unresolved":false,"context_lines":[{"line_number":108,"context_line":"        if isinstance(data, six.text_type):"},{"line_number":109,"context_line":"            # Under Python2 requests only returns binary_type, but if we get"},{"line_number":110,"context_line":"            # some stray text_type input, this should prevent unquote from"},{"line_number":111,"context_line":"            # interpretting %-encoded data as raw code-points."},{"line_number":112,"context_line":"            data \u003d data.encode(\u0027utf8\u0027)"},{"line_number":113,"context_line":"        try:"},{"line_number":114,"context_line":"            unquoted \u003d unquote(data).decode(\u0027utf8\u0027)"}],"source_content_type":"text/x-python","patch_set":5,"id":"5a2ca52d_40095f30","line":111,"updated":"2015-10-15 09:51:38.000000000","message":"nit: s/interpretting/interpreting/","commit_id":"ce569f46517e10f2ce0d27e9ee0a922ad1d84e2f"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"282d6bc0d4085bd9a7b213a2454cfb8b73cba645","unresolved":false,"context_lines":[{"line_number":116,"context_line":"            try:"},{"line_number":117,"context_line":"                return data.decode(\u0027utf8\u0027)"},{"line_number":118,"context_line":"            except UnicodeDecodeError:"},{"line_number":119,"context_line":"                return quote(data).decode(\u0027utf8\u0027)"},{"line_number":120,"context_line":"    else:"},{"line_number":121,"context_line":"        if isinstance(data, six.binary_type):"},{"line_number":122,"context_line":"            # Under Python3 requests only returns text_type and tosses (!) the"}],"source_content_type":"text/x-python","patch_set":5,"id":"5a2ca52d_e3f2f5d1","line":119,"updated":"2015-10-15 09:51:38.000000000","message":"nit: would another level of try/except be useful here, so that if this last attempt fails we just return the data?","commit_id":"ce569f46517e10f2ce0d27e9ee0a922ad1d84e2f"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"a48641c7d60c2bba0f2daa904e6b936a51af72c2","unresolved":false,"context_lines":[{"line_number":116,"context_line":"            try:"},{"line_number":117,"context_line":"                return data.decode(\u0027utf8\u0027)"},{"line_number":118,"context_line":"            except UnicodeDecodeError:"},{"line_number":119,"context_line":"                return quote(data).decode(\u0027utf8\u0027)"},{"line_number":120,"context_line":"    else:"},{"line_number":121,"context_line":"        if isinstance(data, six.binary_type):"},{"line_number":122,"context_line":"            # Under Python3 requests only returns text_type and tosses (!) the"}],"source_content_type":"text/x-python","patch_set":5,"id":"5a2ca52d_705c167d","line":119,"in_reply_to":"5a2ca52d_e3f2f5d1","updated":"2015-10-16 21:31:58.000000000","message":"Nah, quote() should ensure that everything is now in the us-ascii range.","commit_id":"ce569f46517e10f2ce0d27e9ee0a922ad1d84e2f"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"282d6bc0d4085bd9a7b213a2454cfb8b73cba645","unresolved":false,"context_lines":[{"line_number":294,"context_line":"        self.resp.status \u003d self.resp.status_code"},{"line_number":295,"context_line":"        old_getheader \u003d self.resp.raw.getheader"},{"line_number":296,"context_line":""},{"line_number":297,"context_line":"        def getheaders():"},{"line_number":298,"context_line":"            return self.resp.headers.items()"},{"line_number":299,"context_line":""},{"line_number":300,"context_line":"        def getheader(k, v\u003dNone):"}],"source_content_type":"text/x-python","patch_set":5,"id":"5a2ca52d_f935c6d9","line":297,"updated":"2015-10-15 09:51:38.000000000","message":"The Response class headers is in fact a CaseInsensitiveDict which has a lower_items() method that returns lower case keys.\n\nBut the test fake connections don\u0027t use CaseInsensitiveDicts :/","commit_id":"ce569f46517e10f2ce0d27e9ee0a922ad1d84e2f"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"282d6bc0d4085bd9a7b213a2454cfb8b73cba645","unresolved":false,"context_lines":[{"line_number":507,"context_line":"    for header, value in resp.getheaders():"},{"line_number":508,"context_line":"        header \u003d parse_header_string(header).lower()"},{"line_number":509,"context_line":"        resp_headers[header] \u003d parse_header_string(value)"},{"line_number":510,"context_line":"    return resp_headers"},{"line_number":511,"context_line":""},{"line_number":512,"context_line":""},{"line_number":513,"context_line":"def store_response(resp, response_dict):"}],"source_content_type":"text/x-python","patch_set":5,"id":"5a2ca52d_d9780a92","line":510,"updated":"2015-10-15 09:51:38.000000000","message":"It occurred to me that this could be done in the getheaders() method at line 298, but then I realised the test fake connections would have to be upgraded to do the same. Oh well!","commit_id":"ce569f46517e10f2ce0d27e9ee0a922ad1d84e2f"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"a48641c7d60c2bba0f2daa904e6b936a51af72c2","unresolved":false,"context_lines":[{"line_number":507,"context_line":"    for header, value in resp.getheaders():"},{"line_number":508,"context_line":"        header \u003d parse_header_string(header).lower()"},{"line_number":509,"context_line":"        resp_headers[header] \u003d parse_header_string(value)"},{"line_number":510,"context_line":"    return resp_headers"},{"line_number":511,"context_line":""},{"line_number":512,"context_line":""},{"line_number":513,"context_line":"def store_response(resp, response_dict):"}],"source_content_type":"text/x-python","patch_set":5,"id":"5a2ca52d_e24854ce","line":510,"in_reply_to":"5a2ca52d_d9780a92","updated":"2015-10-16 21:31:58.000000000","message":"No, we don\u0027t want to do that. Unfortunately, something like http://paste.openstack.org/show/476562/ would break Response\u0027s api :(\n\nMaybe in swiftclient v3?","commit_id":"ce569f46517e10f2ce0d27e9ee0a922ad1d84e2f"}]}
