)]}'
{"swiftclient/service.py":[{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"ce3581c78abfd152b484aada7cabd999d5b40e36","unresolved":false,"context_lines":[{"line_number":1509,"context_line":"            if obj.startswith(\u0027./\u0027) or obj.startswith(\u0027.\\\\\u0027):"},{"line_number":1510,"context_line":"                obj \u003d obj[2:]"},{"line_number":1511,"context_line":"            if obj.startswith(\u0027/\u0027):"},{"line_number":1512,"context_line":"                obj \u003d obj[1:]"},{"line_number":1513,"context_line":"            if path is not None:"},{"line_number":1514,"context_line":"                put_headers \u003d {\u0027x-object-meta-mtime\u0027: \"%f\" % getmtime(path)}"},{"line_number":1515,"context_line":"            else:"}],"source_content_type":"text/x-python","patch_set":3,"id":"da86d52c_47c6934a","side":"PARENT","line":1512,"updated":"2015-02-03 19:08:43.000000000","message":"so really thinking about this in more depth, I think this was being done in the wrong place to begin with.  The way this reads I don\u0027t see how service.Server.upload could ever upload an object named \u0027/abc\u0027 or \u0027./abc\u0027?  It seems like maybe the SwiftUploadObject being the guy that sets up .object_name and and source attributes could be doing the manipulation to get this square.\n\nSo:\n\n    service.upload(\u0027container\u0027, [\u0027./path/to/file\u0027])\n\nand:\n\n    service.upload(\u0027container\u0027, [SwiftUploadObject(\u0027./path/to/file\u0027, object_name\u003d\u0027path/to/file\u0027)])\n\nwould be equivalent, but if you were really determined you could say:\n\n    service.upload(\u0027container\u0027, [SwiftUploadObject(StringIO(\u0027some crazytown\u0027), object_name\u003d\u0027./path/to/confuse/you\u0027)])\n\nPreexisting problem I think, and the current placement of the code after it packs the original unmodified name in the res dict is very confusing from the command line - but something to noddle on.","commit_id":"7709fea51e71084163cf56c4d11a280ca4388357"}],"tests/functional/test_swiftclient.py":[{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"ce3581c78abfd152b484aada7cabd999d5b40e36","unresolved":false,"context_lines":[{"line_number":266,"context_line":"        for object_key in [self.objectname_3, self.objectname_4]:"},{"line_number":267,"context_line":"            self.conn.put_object("},{"line_number":268,"context_line":"                self.containername, object_key, contents\u003dself.test_data)"},{"line_number":269,"context_line":"            hdrs \u003d self.conn.head_object(self.containername, object_key)"},{"line_number":270,"context_line":"            self.assertEqual(str(len(self.test_data)),"},{"line_number":271,"context_line":"                             hdrs.get(\u0027content-length\u0027))"},{"line_number":272,"context_line":"            self.assertEqual(self.etag, hdrs.get(\u0027etag\u0027))"}],"source_content_type":"text/x-python","patch_set":3,"id":"da86d52c_04d659c5","line":269,"updated":"2015-02-03 19:08:43.000000000","message":"man, i really hope this test is uploading two objects with different names - because if it\u0027s uploading the object_key \u0027./abc\u0027 over \u0027/abc\u0027 that\u0027s bad in this context I think...","commit_id":"2f19ccc2d3da750339df29ce473334bc10e32398"}]}
