)]}'
{"swift/account/backend.py":[{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"9e7a5c66bfb492a6bcbab180ddf9b9eca8cf911c","unresolved":false,"context_lines":[{"line_number":254,"context_line":"        :param bytes_used: number of bytes used by the container"},{"line_number":255,"context_line":"        :param storage_policy_index:  the storage policy for this container"},{"line_number":256,"context_line":"        \"\"\""},{"line_number":257,"context_line":"        if float(delete_timestamp) \u003e float(put_timestamp) and \\"},{"line_number":258,"context_line":"                object_count in (None, \u0027\u0027, 0, \u00270\u0027):"},{"line_number":259,"context_line":"            deleted \u003d 1"},{"line_number":260,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":3,"id":"3ac371cc_bbf1a903","line":257,"updated":"2016-08-17 10:47:44.000000000","message":"We should cast these values to swift.common.utils.Timestamp rather than float","commit_id":"95d9bb8aa15089535d6982fdef3bcba00aed61c7"},{"author":{"_account_id":10369,"name":"lokesh s","email":"slokesh184@gmail.com","username":"loki"},"change_message_id":"ef29006b9e31a459d0ab5ab5ad424cf235d3fdd7","unresolved":false,"context_lines":[{"line_number":254,"context_line":"        :param bytes_used: number of bytes used by the container"},{"line_number":255,"context_line":"        :param storage_policy_index:  the storage policy for this container"},{"line_number":256,"context_line":"        \"\"\""},{"line_number":257,"context_line":"        if float(delete_timestamp) \u003e float(put_timestamp) and \\"},{"line_number":258,"context_line":"                object_count in (None, \u0027\u0027, 0, \u00270\u0027):"},{"line_number":259,"context_line":"            deleted \u003d 1"},{"line_number":260,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":3,"id":"3ac371cc_2481d58f","line":257,"in_reply_to":"3ac371cc_bbf1a903","updated":"2016-08-18 09:48:37.000000000","message":"Done","commit_id":"95d9bb8aa15089535d6982fdef3bcba00aed61c7"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"9e7a5c66bfb492a6bcbab180ddf9b9eca8cf911c","unresolved":false,"context_lines":[{"line_number":501,"context_line":"                    for i in range(5):"},{"line_number":502,"context_line":"                        if record[i] is None and row[i] is not None:"},{"line_number":503,"context_line":"                            record[i] \u003d row[i]"},{"line_number":504,"context_line":"                    if float(row[1]) \u003e \\"},{"line_number":505,"context_line":"                       float(record[1]):  # Keep newest put_timestamp"},{"line_number":506,"context_line":"                        record[1] \u003d row[1]"},{"line_number":507,"context_line":"                    if float(row[2]) \u003e \\"}],"source_content_type":"text/x-python","patch_set":3,"id":"3ac371cc_fbdfa166","line":504,"updated":"2016-08-17 10:47:44.000000000","message":"as above, cast to swift.common.utils.Timestamp","commit_id":"95d9bb8aa15089535d6982fdef3bcba00aed61c7"},{"author":{"_account_id":10369,"name":"lokesh s","email":"slokesh184@gmail.com","username":"loki"},"change_message_id":"ef29006b9e31a459d0ab5ab5ad424cf235d3fdd7","unresolved":false,"context_lines":[{"line_number":501,"context_line":"                    for i in range(5):"},{"line_number":502,"context_line":"                        if record[i] is None and row[i] is not None:"},{"line_number":503,"context_line":"                            record[i] \u003d row[i]"},{"line_number":504,"context_line":"                    if float(row[1]) \u003e \\"},{"line_number":505,"context_line":"                       float(record[1]):  # Keep newest put_timestamp"},{"line_number":506,"context_line":"                        record[1] \u003d row[1]"},{"line_number":507,"context_line":"                    if float(row[2]) \u003e \\"}],"source_content_type":"text/x-python","patch_set":3,"id":"3ac371cc_047c99b3","line":504,"in_reply_to":"3ac371cc_fbdfa166","updated":"2016-08-18 09:48:37.000000000","message":"Done","commit_id":"95d9bb8aa15089535d6982fdef3bcba00aed61c7"}],"swift/common/middleware/acl.py":[{"author":{"_account_id":9107,"name":"Victor Stinner","email":"vstinner@redhat.com","username":"haypo"},"change_message_id":"2869109c64da929f1208fd9015b52a0b9b74bceb","unresolved":false,"context_lines":[{"line_number":142,"context_line":""},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"def format_acl_v2(acl_dict):"},{"line_number":145,"context_line":"    \"\"\""},{"line_number":146,"context_line":"    Returns a version-2 Swift ACL JSON string."},{"line_number":147,"context_line":""},{"line_number":148,"context_line":"    HTTP headers for Version 2 ACLs have the following form:"}],"source_content_type":"text/x-python","patch_set":2,"id":"dada55a8_3c2172fd","line":145,"range":{"start_line":145,"start_character":4,"end_line":145,"end_character":7},"updated":"2016-07-25 13:22:11.000000000","message":"I suggest to use raw string instead:\n\nr\"\"\"...\"\"\"\n\nSo you don\u0027t have to escape backslash in the string (as you did).","commit_id":"824bc3db6ed2f37f53563c920094b04b42ea8930"},{"author":{"_account_id":10369,"name":"lokesh s","email":"slokesh184@gmail.com","username":"loki"},"change_message_id":"30adfbca2dfa41a8d88976da1d5785e191ea56b1","unresolved":false,"context_lines":[{"line_number":142,"context_line":""},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"def format_acl_v2(acl_dict):"},{"line_number":145,"context_line":"    \"\"\""},{"line_number":146,"context_line":"    Returns a version-2 Swift ACL JSON string."},{"line_number":147,"context_line":""},{"line_number":148,"context_line":"    HTTP headers for Version 2 ACLs have the following form:"}],"source_content_type":"text/x-python","patch_set":2,"id":"dada55a8_ad2369a6","line":145,"range":{"start_line":145,"start_character":4,"end_line":145,"end_character":7},"in_reply_to":"dada55a8_3c2172fd","updated":"2016-07-25 14:11:13.000000000","message":"Done","commit_id":"824bc3db6ed2f37f53563c920094b04b42ea8930"}],"test/unit/account/test_backend.py":[{"author":{"_account_id":9107,"name":"Victor Stinner","email":"vstinner@redhat.com","username":"haypo"},"change_message_id":"2869109c64da929f1208fd9015b52a0b9b74bceb","unresolved":false,"context_lines":[{"line_number":808,"context_line":"                # bytes_used, deleted"},{"line_number":809,"context_line":"                (\u0027oldcon\u0027, Timestamp(200).internal,"},{"line_number":810,"context_line":"                 Timestamp(0).internal,"},{"line_number":811,"context_line":"                 896, 9216695, 0)), encoding\u003d\u0027base64\u0027))"},{"line_number":812,"context_line":""},{"line_number":813,"context_line":"        broker._commit_puts()"},{"line_number":814,"context_line":"        with broker.get() as conn:"}],"source_content_type":"text/x-python","patch_set":2,"id":"dada55a8_fcd35ad3","line":811,"updated":"2016-07-25 13:22:11.000000000","message":"Pass encoding\u003d\u0027base64\u0027 to encode_as_bytes() is plain wrong.\n\nPlease keep the default parameter value (encoding\u003d\u0027utf-8\u0027):\n\n   pending.write(encode_as_bytes(pickle.dumps(...)))","commit_id":"824bc3db6ed2f37f53563c920094b04b42ea8930"},{"author":{"_account_id":10369,"name":"lokesh s","email":"slokesh184@gmail.com","username":"loki"},"change_message_id":"30adfbca2dfa41a8d88976da1d5785e191ea56b1","unresolved":false,"context_lines":[{"line_number":808,"context_line":"                # bytes_used, deleted"},{"line_number":809,"context_line":"                (\u0027oldcon\u0027, Timestamp(200).internal,"},{"line_number":810,"context_line":"                 Timestamp(0).internal,"},{"line_number":811,"context_line":"                 896, 9216695, 0)), encoding\u003d\u0027base64\u0027))"},{"line_number":812,"context_line":""},{"line_number":813,"context_line":"        broker._commit_puts()"},{"line_number":814,"context_line":"        with broker.get() as conn:"}],"source_content_type":"text/x-python","patch_set":2,"id":"dada55a8_ad5a4928","line":811,"in_reply_to":"dada55a8_fcd35ad3","updated":"2016-07-25 14:11:13.000000000","message":"Thank you for review Done!","commit_id":"824bc3db6ed2f37f53563c920094b04b42ea8930"},{"author":{"_account_id":9107,"name":"Victor Stinner","email":"vstinner@redhat.com","username":"haypo"},"change_message_id":"2869109c64da929f1208fd9015b52a0b9b74bceb","unresolved":false,"context_lines":[{"line_number":837,"context_line":"                # bytes_used, deleted"},{"line_number":838,"context_line":"                (\u0027oldcon\u0027, Timestamp(200).internal,"},{"line_number":839,"context_line":"                 Timestamp(0).internal,"},{"line_number":840,"context_line":"                 896, 9216695, 0)), encoding\u003d\u0027base64\u0027))"},{"line_number":841,"context_line":""},{"line_number":842,"context_line":"        broker._commit_puts \u003d mock_commit_puts"},{"line_number":843,"context_line":"        broker.get_info()"}],"source_content_type":"text/x-python","patch_set":2,"id":"dada55a8_9c817e92","line":840,"range":{"start_line":840,"start_character":38,"end_line":840,"end_character":39},"updated":"2016-07-25 13:22:11.000000000","message":"ditto","commit_id":"824bc3db6ed2f37f53563c920094b04b42ea8930"},{"author":{"_account_id":10369,"name":"lokesh s","email":"slokesh184@gmail.com","username":"loki"},"change_message_id":"30adfbca2dfa41a8d88976da1d5785e191ea56b1","unresolved":false,"context_lines":[{"line_number":837,"context_line":"                # bytes_used, deleted"},{"line_number":838,"context_line":"                (\u0027oldcon\u0027, Timestamp(200).internal,"},{"line_number":839,"context_line":"                 Timestamp(0).internal,"},{"line_number":840,"context_line":"                 896, 9216695, 0)), encoding\u003d\u0027base64\u0027))"},{"line_number":841,"context_line":""},{"line_number":842,"context_line":"        broker._commit_puts \u003d mock_commit_puts"},{"line_number":843,"context_line":"        broker.get_info()"}],"source_content_type":"text/x-python","patch_set":2,"id":"dada55a8_2d47794c","line":840,"range":{"start_line":840,"start_character":38,"end_line":840,"end_character":39},"in_reply_to":"dada55a8_9c817e92","updated":"2016-07-25 14:11:13.000000000","message":"Done","commit_id":"824bc3db6ed2f37f53563c920094b04b42ea8930"},{"author":{"_account_id":9107,"name":"Victor Stinner","email":"vstinner@redhat.com","username":"haypo"},"change_message_id":"2869109c64da929f1208fd9015b52a0b9b74bceb","unresolved":false,"context_lines":[{"line_number":859,"context_line":"                # bytes_used, deleted"},{"line_number":860,"context_line":"                (\u0027oldcon\u0027, Timestamp(200).internal,"},{"line_number":861,"context_line":"                 Timestamp(0).internal,"},{"line_number":862,"context_line":"                 896, 9216695, 0)), encoding\u003d\u0027base64\u0027))"},{"line_number":863,"context_line":""},{"line_number":864,"context_line":"        broker._commit_puts \u003d mock_commit_puts"},{"line_number":865,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"dada55a8_5c5ee645","line":862,"updated":"2016-07-25 13:22:11.000000000","message":"ditto","commit_id":"824bc3db6ed2f37f53563c920094b04b42ea8930"},{"author":{"_account_id":10369,"name":"lokesh s","email":"slokesh184@gmail.com","username":"loki"},"change_message_id":"30adfbca2dfa41a8d88976da1d5785e191ea56b1","unresolved":false,"context_lines":[{"line_number":859,"context_line":"                # bytes_used, deleted"},{"line_number":860,"context_line":"                (\u0027oldcon\u0027, Timestamp(200).internal,"},{"line_number":861,"context_line":"                 Timestamp(0).internal,"},{"line_number":862,"context_line":"                 896, 9216695, 0)), encoding\u003d\u0027base64\u0027))"},{"line_number":863,"context_line":""},{"line_number":864,"context_line":"        broker._commit_puts \u003d mock_commit_puts"},{"line_number":865,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"dada55a8_6d77b19f","line":862,"in_reply_to":"dada55a8_5c5ee645","updated":"2016-07-25 14:11:13.000000000","message":"Done","commit_id":"824bc3db6ed2f37f53563c920094b04b42ea8930"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"9e7a5c66bfb492a6bcbab180ddf9b9eca8cf911c","unresolved":false,"context_lines":[{"line_number":31,"context_line":"import random"},{"line_number":32,"context_line":"import mock"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"from oslo_serialization.base64 import encode_as_bytes"},{"line_number":35,"context_line":"from swift.account.backend import AccountBroker"},{"line_number":36,"context_line":"from swift.common.utils import Timestamp"},{"line_number":37,"context_line":"from test.unit import patch_policies, with_tempdir, make_timestamp_iter"}],"source_content_type":"text/x-python","patch_set":3,"id":"3ac371cc_ed39a8f3","line":34,"updated":"2016-08-17 10:47:44.000000000","message":"oslo_serialization is not in the project requirements, but should not be needed anyway (see comment at line 806)","commit_id":"95d9bb8aa15089535d6982fdef3bcba00aed61c7"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"9e7a5c66bfb492a6bcbab180ddf9b9eca8cf911c","unresolved":false,"context_lines":[{"line_number":803,"context_line":"        broker.initialize(Timestamp(1).internal)"},{"line_number":804,"context_line":"        with open(broker.pending_file, \u0027a+b\u0027) as pending:"},{"line_number":805,"context_line":"            pending.write(b\u0027:\u0027)"},{"line_number":806,"context_line":"            pending.write(encode_as_bytes(pickle.dumps("},{"line_number":807,"context_line":"                # name, put_timestamp, delete_timestamp, object_count,"},{"line_number":808,"context_line":"                # bytes_used, deleted"},{"line_number":809,"context_line":"                (\u0027oldcon\u0027, Timestamp(200).internal,"}],"source_content_type":"text/x-python","patch_set":3,"id":"3ac371cc_6da93824","line":806,"updated":"2016-08-17 10:47:44.000000000","message":"pickle.dumps returns type bytes, so calling base64.b64encode should work fine","commit_id":"95d9bb8aa15089535d6982fdef3bcba00aed61c7"},{"author":{"_account_id":10369,"name":"lokesh s","email":"slokesh184@gmail.com","username":"loki"},"change_message_id":"ef29006b9e31a459d0ab5ab5ad424cf235d3fdd7","unresolved":false,"context_lines":[{"line_number":803,"context_line":"        broker.initialize(Timestamp(1).internal)"},{"line_number":804,"context_line":"        with open(broker.pending_file, \u0027a+b\u0027) as pending:"},{"line_number":805,"context_line":"            pending.write(b\u0027:\u0027)"},{"line_number":806,"context_line":"            pending.write(encode_as_bytes(pickle.dumps("},{"line_number":807,"context_line":"                # name, put_timestamp, delete_timestamp, object_count,"},{"line_number":808,"context_line":"                # bytes_used, deleted"},{"line_number":809,"context_line":"                (\u0027oldcon\u0027, Timestamp(200).internal,"}],"source_content_type":"text/x-python","patch_set":3,"id":"3ac371cc_44505132","line":806,"in_reply_to":"3ac371cc_6da93824","updated":"2016-08-18 09:48:37.000000000","message":"Done","commit_id":"95d9bb8aa15089535d6982fdef3bcba00aed61c7"}]}
