)]}'
{"swiftclient/service.py":[{"author":{"_account_id":2696,"name":"Darrell Bishop","email":"dbishop@nvidia.com","username":"darrellb"},"change_message_id":"0f1e20108f961ecdfdce5bc5286519168bdf496d","unresolved":false,"context_lines":[{"line_number":2166,"context_line":"                        conn, segment_results, container, obj, put_headers)"},{"line_number":2167,"context_line":"                    res[\u0027manifest_response_dict\u0027] \u003d response"},{"line_number":2168,"context_line":"                    for new_seg in segment_results:"},{"line_number":2169,"context_line":"                        seg_path \u003d new_seg[\u0027segment_location\u0027].lstrip(\u0027/\u0027)"},{"line_number":2170,"context_line":"                        if isinstance(seg_path, text_type):"},{"line_number":2171,"context_line":"                            seg_path \u003d seg_path.encode(\u0027utf-8\u0027)"},{"line_number":2172,"context_line":"                        new_slo_manifest_paths.add(seg_path)"}],"source_content_type":"text/x-python","patch_set":1,"id":"3fce034c_5b75cf97","line":2169,"updated":"2019-04-10 23:29:14.000000000","message":"The bodies of these loops ought to be refactored out into something (single location for same logic), with a good function name, blah blah blah.","commit_id":"e8456098f8a282a58c4b16d3eb052005bc40d031"}],"swiftclient/utils.py":[{"author":{"_account_id":597,"name":"Pete Zaitcev","email":"zaitcev@kotori.zaitcev.us","username":"zaitcev"},"change_message_id":"711c6eff2633565cc3123d2781099e52643525bf","unresolved":false,"context_lines":[{"line_number":401,"context_line":"    if six.PY2 and isinstance(path, six.text_type):"},{"line_number":402,"context_line":"        path \u003d path.encode(\u0027utf-8\u0027)"},{"line_number":403,"context_line":"    if path.startswith(\u0027/\u0027):"},{"line_number":404,"context_line":"        return path[1:]"},{"line_number":405,"context_line":"    return path"}],"source_content_type":"text/x-python","patch_set":2,"id":"3fce034c_3633b8f8","line":404,"updated":"2019-04-17 22:53:48.000000000","message":"So, the old segment never starts with more than 1 slash, right?","commit_id":"d3c242e3b8dbb05f646ab3fdcd046ac6b62cb432"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"471fc1e796a43e2ec5c39946fba39e6eb2af4510","unresolved":false,"context_lines":[{"line_number":401,"context_line":"    if six.PY2 and isinstance(path, six.text_type):"},{"line_number":402,"context_line":"        path \u003d path.encode(\u0027utf-8\u0027)"},{"line_number":403,"context_line":"    if path.startswith(\u0027/\u0027):"},{"line_number":404,"context_line":"        return path[1:]"},{"line_number":405,"context_line":"    return path"}],"source_content_type":"text/x-python","patch_set":2,"id":"ffb9cba7_54a89b8b","line":404,"in_reply_to":"3fce034c_3633b8f8","updated":"2019-04-29 20:38:13.000000000","message":"Yeah; that\u0027s due to the normalization that SLO does: https://github.com/openstack/swift/blob/2.21.0/swift/common/middleware/slo.py#L1182\n\nDates back all the way to the introduction of SLO: https://github.com/openstack/swift/blob/5d73da1/swift/common/middleware/slo.py#L266\n\nReally, we probably don\u0027t even need the\n\n if path.startswith(\u0027/\u0027):\n\nbut I think I prefer to leave it.","commit_id":"d3c242e3b8dbb05f646ab3fdcd046ac6b62cb432"}]}
