)]}'
{"swift/common/direct_client.py":[{"author":{"_account_id":1216,"name":"gholt","email":"z-launchpad@brim.net","username":"gholt"},"change_message_id":"835b1a0b40eebbe1818fd255ef55ac6c4314d2a3","unresolved":false,"context_lines":[{"line_number":39,"context_line":"    return _quote(value, safe)"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"def gen_headers(headers_in\u003d{}, add_ts\u003dFalse):"},{"line_number":43,"context_line":"    headers_out \u003d headers_in.copy() if headers_in else {}"},{"line_number":44,"context_line":"    if add_ts:"},{"line_number":45,"context_line":"        headers_out[\u0027X-Timestamp\u0027] \u003d normalize_timestamp(time())"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAMX%2F%2F8Es%3D","line":42,"updated":"2012-12-05 23:35:36.000000000","message":"I\u0027d recommend changing the {} to a None here, for safety.","commit_id":"dbeb9a68da1fd4e7f9e84a90f9aac22b33eb034d"},{"author":{"_account_id":6198,"name":"Peter Portante","email":"peter.a.portante@gmail.com","username":"peter-a-portante"},"change_message_id":"2a58c6b2d13fb2fed6a848246c802092691dd413","unresolved":false,"context_lines":[{"line_number":43,"context_line":"    headers_out \u003d headers_in.copy() if headers_in else {}"},{"line_number":44,"context_line":"    if add_ts:"},{"line_number":45,"context_line":"        headers_out[\u0027X-Timestamp\u0027] \u003d normalize_timestamp(time())"},{"line_number":46,"context_line":"    headers_out[\u0027user-agent\u0027] \u003d \u0027direct_client \u0027 % os.getpid()"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"def direct_get_account(node, part, account, marker\u003dNone, limit\u003dNone,"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAMX%2F%2F7%2BY%3D","line":46,"updated":"2012-12-06 01:42:22.000000000","message":"And the routine does not return anything! Looks I coded this on Mars...","commit_id":"dbeb9a68da1fd4e7f9e84a90f9aac22b33eb034d"},{"author":{"_account_id":1216,"name":"gholt","email":"z-launchpad@brim.net","username":"gholt"},"change_message_id":"835b1a0b40eebbe1818fd255ef55ac6c4314d2a3","unresolved":false,"context_lines":[{"line_number":43,"context_line":"    headers_out \u003d headers_in.copy() if headers_in else {}"},{"line_number":44,"context_line":"    if add_ts:"},{"line_number":45,"context_line":"        headers_out[\u0027X-Timestamp\u0027] \u003d normalize_timestamp(time())"},{"line_number":46,"context_line":"    headers_out[\u0027user-agent\u0027] \u003d \u0027direct_client \u0027 % os.getpid()"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"def direct_get_account(node, part, account, marker\u003dNone, limit\u003dNone,"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAMX%2F%2F8E0%3D","line":46,"updated":"2012-12-05 23:35:36.000000000","message":"This line seems wrong, or I\u0027m a bit slow.\nAnd it\u0027s really strange no tests broke with this here.\nAnd shouldn\u0027t this function return something?","commit_id":"dbeb9a68da1fd4e7f9e84a90f9aac22b33eb034d"},{"author":{"_account_id":917,"name":"Chuck Thier","email":"cthier@gmail.com","username":"cthier"},"change_message_id":"129c15a625a97fccf8d7574745ab5cc1da94e20f","unresolved":false,"context_lines":[{"line_number":43,"context_line":"    headers_out \u003d headers_in.copy() if headers_in else {}"},{"line_number":44,"context_line":"    if add_ts:"},{"line_number":45,"context_line":"        headers_out[\u0027X-Timestamp\u0027] \u003d normalize_timestamp(time())"},{"line_number":46,"context_line":"    headers_out[\u0027user-agent\u0027] \u003d \u0027direct_client \u0027 % os.getpid()"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"def direct_get_account(node, part, account, marker\u003dNone, limit\u003dNone,"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAMX%2F%2F8D0%3D","line":46,"in_reply_to":"AAAAMX%2F%2F8E0%3D","updated":"2012-12-05 23:43:29.000000000","message":"Hah... I was just about to mention that... the probe tests catch it though :)\n\nShould be:\n\nheaders_out[\u0027user-agent\u0027] \u003d \u0027direct_client %d\u0027 % os.getpid()","commit_id":"dbeb9a68da1fd4e7f9e84a90f9aac22b33eb034d"},{"author":{"_account_id":2696,"name":"Darrell Bishop","email":"dbishop@nvidia.com","username":"darrellb"},"change_message_id":"5edd9e446f9469e74e50b69cf09397fb9d6707fb","unresolved":false,"context_lines":[{"line_number":44,"context_line":"    hdrs_out \u003d HeaderKeyDict(hdrs_in) if hdrs_in else HeaderKeyDict()"},{"line_number":45,"context_line":"    if add_ts:"},{"line_number":46,"context_line":"        hdrs_out[\u0027X-Timestamp\u0027] \u003d normalize_timestamp(time())"},{"line_number":47,"context_line":"    hdrs_out[\u0027user-agent\u0027] \u003d \u0027direct-client %s\u0027 % os.getpid()"},{"line_number":48,"context_line":"    return hdrs_out"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAOn%2F%2FsBk%3D","line":47,"updated":"2013-04-29 01:37:00.000000000","message":"Even if it\u0027s normalized, it\u0027d be more consistent to set User-Agent like:\n\n  hdrs_out[\u0027User-Agent\u0027] \u003d ...","commit_id":"244d0cae127ed92221479e28c3bab47d19fe7f37"}],"swift/obj/server.py":[{"author":{"_account_id":917,"name":"Chuck Thier","email":"cthier@gmail.com","username":"cthier"},"change_message_id":"095ec67bc8b478ba08583769207c92e45e5a877e","unresolved":false,"context_lines":[{"line_number":677,"context_line":"                 \u0027x-content-type\u0027: file.metadata[\u0027Content-Type\u0027],"},{"line_number":678,"context_line":"                 \u0027x-timestamp\u0027: file.metadata[\u0027X-Timestamp\u0027],"},{"line_number":679,"context_line":"                 \u0027x-etag\u0027: file.metadata[\u0027ETag\u0027],"},{"line_number":680,"context_line":"                 \u0027x-trans-id\u0027: request.headers.get(\u0027x-trans-id\u0027, \u0027-\u0027)},"},{"line_number":681,"context_line":"                device)"},{"line_number":682,"context_line":"        resp \u003d HTTPCreated(request\u003drequest, etag\u003detag)"},{"line_number":683,"context_line":"        return resp"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAMH%2F%2Ft9Y%3D","side":"PARENT","line":680,"updated":"2012-11-28 21:52:04.000000000","message":"Is there a reason to drop the x-trans-id here?","commit_id":"da8578fdde76c376399049162f7402b627f03d19"},{"author":{"_account_id":6198,"name":"Peter Portante","email":"peter.a.portante@gmail.com","username":"peter-a-portante"},"change_message_id":"babd1853242c6d38017108672b2050c73a1f09a0","unresolved":false,"context_lines":[{"line_number":677,"context_line":"                 \u0027x-content-type\u0027: file.metadata[\u0027Content-Type\u0027],"},{"line_number":678,"context_line":"                 \u0027x-timestamp\u0027: file.metadata[\u0027X-Timestamp\u0027],"},{"line_number":679,"context_line":"                 \u0027x-etag\u0027: file.metadata[\u0027ETag\u0027],"},{"line_number":680,"context_line":"                 \u0027x-trans-id\u0027: request.headers.get(\u0027x-trans-id\u0027, \u0027-\u0027)},"},{"line_number":681,"context_line":"                device)"},{"line_number":682,"context_line":"        resp \u003d HTTPCreated(request\u003drequest, etag\u003detag)"},{"line_number":683,"context_line":"        return resp"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAMH%2F%2Fs%2F0%3D","side":"PARENT","line":680,"in_reply_to":"AAAAMH%2F%2Ft9Y%3D","updated":"2012-11-29 17:25:14.000000000","message":"I think that got consolidated into container_update(), line 501.","commit_id":"da8578fdde76c376399049162f7402b627f03d19"},{"author":{"_account_id":917,"name":"Chuck Thier","email":"cthier@gmail.com","username":"cthier"},"change_message_id":"095ec67bc8b478ba08583769207c92e45e5a877e","unresolved":false,"context_lines":[{"line_number":845,"context_line":"            self.container_update("},{"line_number":846,"context_line":"                \u0027DELETE\u0027, account, container, obj, request.headers,"},{"line_number":847,"context_line":"                {\u0027x-timestamp\u0027: metadata[\u0027X-Timestamp\u0027],"},{"line_number":848,"context_line":"                 \u0027x-trans-id\u0027: request.headers.get(\u0027x-trans-id\u0027, \u0027-\u0027)},"},{"line_number":849,"context_line":"                device)"},{"line_number":850,"context_line":"        resp \u003d response_class(request\u003drequest)"},{"line_number":851,"context_line":"        return resp"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAMH%2F%2Ft9U%3D","side":"PARENT","line":848,"updated":"2012-11-28 21:52:04.000000000","message":"Same here for droping x-trans-id?","commit_id":"da8578fdde76c376399049162f7402b627f03d19"},{"author":{"_account_id":6198,"name":"Peter Portante","email":"peter.a.portante@gmail.com","username":"peter-a-portante"},"change_message_id":"babd1853242c6d38017108672b2050c73a1f09a0","unresolved":false,"context_lines":[{"line_number":845,"context_line":"            self.container_update("},{"line_number":846,"context_line":"                \u0027DELETE\u0027, account, container, obj, request.headers,"},{"line_number":847,"context_line":"                {\u0027x-timestamp\u0027: metadata[\u0027X-Timestamp\u0027],"},{"line_number":848,"context_line":"                 \u0027x-trans-id\u0027: request.headers.get(\u0027x-trans-id\u0027, \u0027-\u0027)},"},{"line_number":849,"context_line":"                device)"},{"line_number":850,"context_line":"        resp \u003d response_class(request\u003drequest)"},{"line_number":851,"context_line":"        return resp"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAMH%2F%2Fs%2Fs%3D","side":"PARENT","line":848,"in_reply_to":"AAAAMH%2F%2Ft9U%3D","updated":"2012-11-29 17:25:14.000000000","message":"I think that got consolidated into container_update(), line 501.","commit_id":"da8578fdde76c376399049162f7402b627f03d19"}],"swift/proxy/controllers/base.py":[{"author":{"_account_id":917,"name":"Chuck Thier","email":"cthier@gmail.com","username":"cthier"},"change_message_id":"095ec67bc8b478ba08583769207c92e45e5a877e","unresolved":false,"context_lines":[{"line_number":241,"context_line":"        :param account: name of the account to get the info for"},{"line_number":242,"context_line":"        :returns: tuple of (account partition, account nodes, container_count)"},{"line_number":243,"context_line":"                  or (None, None, None) if it does not exist"},{"line_number":244,"context_line":"        \"\"\""},{"line_number":245,"context_line":"        partition, nodes \u003d self.app.account_ring.get_nodes(account)"},{"line_number":246,"context_line":"        # 0 \u003d no responses, 200 \u003d found, 404 \u003d not found, -1 \u003d mixed responses"},{"line_number":247,"context_line":"        if self.app.memcache:"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAMH%2F%2Ft84%3D","line":244,"updated":"2012-11-28 21:52:04.000000000","message":"Need to update docstring for new req attr","commit_id":"5f5916fd0f22cf4a8c1615acba70fb5b79e5ccc6"},{"author":{"_account_id":6198,"name":"Peter Portante","email":"peter.a.portante@gmail.com","username":"peter-a-portante"},"change_message_id":"babd1853242c6d38017108672b2050c73a1f09a0","unresolved":false,"context_lines":[{"line_number":241,"context_line":"        :param account: name of the account to get the info for"},{"line_number":242,"context_line":"        :returns: tuple of (account partition, account nodes, container_count)"},{"line_number":243,"context_line":"                  or (None, None, None) if it does not exist"},{"line_number":244,"context_line":"        \"\"\""},{"line_number":245,"context_line":"        partition, nodes \u003d self.app.account_ring.get_nodes(account)"},{"line_number":246,"context_line":"        # 0 \u003d no responses, 200 \u003d found, 404 \u003d not found, -1 \u003d mixed responses"},{"line_number":247,"context_line":"        if self.app.memcache:"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAMH%2F%2Fs%2Fo%3D","line":244,"in_reply_to":"AAAAMH%2F%2Ft84%3D","updated":"2012-11-29 17:25:14.000000000","message":"Yes, thanks for catching this. I\u0027ll take care of that as part of my rebase.","commit_id":"5f5916fd0f22cf4a8c1615acba70fb5b79e5ccc6"},{"author":{"_account_id":917,"name":"Chuck Thier","email":"cthier@gmail.com","username":"cthier"},"change_message_id":"095ec67bc8b478ba08583769207c92e45e5a877e","unresolved":false,"context_lines":[{"line_number":332,"context_line":"        :param container: container name to look up"},{"line_number":333,"context_line":"        :returns: dict containing at least container partition (\u0027partition\u0027),"},{"line_number":334,"context_line":"                  container nodes (\u0027containers\u0027), container read"},{"line_number":335,"context_line":"                  acl (\u0027read_acl\u0027), container write acl (\u0027write_acl\u0027),"},{"line_number":336,"context_line":"                  and container sync key (\u0027sync_key\u0027)."},{"line_number":337,"context_line":"                  Values are set to None if the container does not exist."},{"line_number":338,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAMH%2F%2Ft8w%3D","line":335,"updated":"2012-11-28 21:52:04.000000000","message":"Need to update the docstring for the new req attr","commit_id":"5f5916fd0f22cf4a8c1615acba70fb5b79e5ccc6"},{"author":{"_account_id":6198,"name":"Peter Portante","email":"peter.a.portante@gmail.com","username":"peter-a-portante"},"change_message_id":"babd1853242c6d38017108672b2050c73a1f09a0","unresolved":false,"context_lines":[{"line_number":332,"context_line":"        :param container: container name to look up"},{"line_number":333,"context_line":"        :returns: dict containing at least container partition (\u0027partition\u0027),"},{"line_number":334,"context_line":"                  container nodes (\u0027containers\u0027), container read"},{"line_number":335,"context_line":"                  acl (\u0027read_acl\u0027), container write acl (\u0027write_acl\u0027),"},{"line_number":336,"context_line":"                  and container sync key (\u0027sync_key\u0027)."},{"line_number":337,"context_line":"                  Values are set to None if the container does not exist."},{"line_number":338,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAMH%2F%2Fs%2Fk%3D","line":335,"in_reply_to":"AAAAMH%2F%2Ft8w%3D","updated":"2012-11-29 17:25:14.000000000","message":"Yes, thanks for catching this. I\u0027ll take care of that as part of my rebase.","commit_id":"5f5916fd0f22cf4a8c1615acba70fb5b79e5ccc6"}]}
