)]}'
{"swift/common/middleware/staticweb.py":[{"author":{"_account_id":6198,"name":"Peter Portante","email":"peter.a.portante@gmail.com","username":"peter-a-portante"},"change_message_id":"77c8a08295c8c5501eb35c8128f55b6d59b56652","unresolved":false,"context_lines":[{"line_number":287,"context_line":"        for item in listing:"},{"line_number":288,"context_line":"            if \u0027name\u0027 in item:"},{"line_number":289,"context_line":"                name \u003d item[\u0027name\u0027]"},{"line_number":290,"context_line":"                if isinstance(name, unicode):"},{"line_number":291,"context_line":"                    name \u003d name.encode(\u0027utf-8\u0027)"},{"line_number":292,"context_line":"                if prefix:"},{"line_number":293,"context_line":"                    name \u003d name[len(prefix):]"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAQn%2F%2F340%3D","line":290,"updated":"2013-07-23 01:50:10.000000000","message":"Is it worth to make a utility routine of some sort to do wrap this isinstance() stuff?\n\n def utf8encode(name):\n     if isinstance(name, unicode):\n         name \u003d name.encode(\u0027utf-8\u0027)\n     return name\n\nAnd just use that in the four places?\n\nOr perhaps even use \"quote\" from line 128?\n\nBy doing that we could make it easier to get unit test coverage for these added lines (the utf-8 encoding operations do not appear to take place; we could verify that quote or the routine above does that properly in the face of a unicode string easily enough).","commit_id":"1b276adb09bf00ddd0ad6675b6c4ffc2274e362e"},{"author":{"_account_id":995,"name":"David Goetz","email":"david.goetz@rackspace.com","username":"david-goetz"},"change_message_id":"240af7dc49d3d4d1adceac6269efc655b973eb6d","unresolved":false,"context_lines":[{"line_number":125,"context_line":"from swift.proxy.controllers.base import get_container_info"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"def ensure_utf8_bytes(value):"},{"line_number":129,"context_line":"    if isinstance(value, unicode):"},{"line_number":130,"context_line":"        value \u003d value.encode(\u0027utf-8\u0027)"},{"line_number":131,"context_line":"    return value"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAQn%2F%2FmJo%3D","line":128,"updated":"2013-07-26 21:27:36.000000000","message":"maybe better to put this in swift.common.utils?","commit_id":"6ecaf0bf983bea1581857cd8a2f558781165b4e5"},{"author":{"_account_id":995,"name":"David Goetz","email":"david.goetz@rackspace.com","username":"david-goetz"},"change_message_id":"240af7dc49d3d4d1adceac6269efc655b973eb6d","unresolved":false,"context_lines":[{"line_number":135,"context_line":"    \"\"\""},{"line_number":136,"context_line":"    Patched version of urllib.quote that encodes utf-8 strings before quoting"},{"line_number":137,"context_line":"    \"\"\""},{"line_number":138,"context_line":"    return urllib_quote(ensure_utf8_bytes(value), safe)"},{"line_number":139,"context_line":""},{"line_number":140,"context_line":""},{"line_number":141,"context_line":"class _StaticWebContext(WSGIContext):"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAQn%2F%2FmHg%3D","line":138,"updated":"2013-07-26 21:27:36.000000000","message":"hmph- there\u0027s already one of these in direct_client.py.  Maybe we can also make this a utils function and have this and direct client reference it in a later commit. i guess leave it as is for now unless you\u0027re feeling ambitious :)","commit_id":"6ecaf0bf983bea1581857cd8a2f558781165b4e5"},{"author":{"_account_id":995,"name":"David Goetz","email":"david.goetz@rackspace.com","username":"david-goetz"},"change_message_id":"240af7dc49d3d4d1adceac6269efc655b973eb6d","unresolved":false,"context_lines":[{"line_number":291,"context_line":"                if prefix:"},{"line_number":292,"context_line":"                    name \u003d name[len(prefix):]"},{"line_number":293,"context_line":"                content_type \u003d ensure_utf8_bytes(item[\u0027content_type\u0027])"},{"line_number":294,"context_line":"                bytes \u003d ensure_utf8_bytes(human_readable(item[\u0027bytes\u0027]))"},{"line_number":295,"context_line":"                last_modified \u003d (cgi.escape(item[\u0027last_modified\u0027])."},{"line_number":296,"context_line":"                                 split(\u0027.\u0027)[0].replace(\u0027T\u0027, \u0027 \u0027))"},{"line_number":297,"context_line":"                body +\u003d \u0027   \u003ctr class\u003d\"item %s\"\u003e\\n\u0027 \\"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAQn%2F%2FmLA%3D","line":294,"updated":"2013-07-26 21:27:36.000000000","message":"can have different var name than bytes since its a built in type?\n\nalso would it be better to do:\n\nhuman_readable(ensure_utf8_bytes(item[\u0027bytes\u0027]))\n\nnot sure- just an idea","commit_id":"6ecaf0bf983bea1581857cd8a2f558781165b4e5"}]}
