)]}'
{"ironic/common/utils.py":[{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"da5cfcbb1b9128048a7e87f8a7bcf5ce8ebe74c4","unresolved":false,"context_lines":[{"line_number":296,"context_line":"    :returns: True if the hash of reference content is the same as"},{"line_number":297,"context_line":"        the hash of file\u0027s content, False otherwise"},{"line_number":298,"context_line":"    \"\"\""},{"line_number":299,"context_line":"    with codecs.open(path, \u0027rb\u0027, encoding\u003d\u0027utf-8\u0027) as existing:"},{"line_number":300,"context_line":"        file_hash_hex \u003d hash_file(existing, hash_algo\u003dhash_algo)"},{"line_number":301,"context_line":"    ref_hash \u003d _get_hash_object(hash_algo)"},{"line_number":302,"context_line":"    ref_hash.update(content)"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f201791_7759bafc","line":299,"updated":"2017-06-21 01:23:02.000000000","message":"I was looking at the py3.5 documentation for codecs.open() [1]. I think we should s/\u0027rb\u0027/mode\u003d\u0027rb\u0027/. That change should also work for py2.7 [2].\n\n[1] https://docs.python.org/3.5/library/codecs.html\n[2] https://docs.python.org/2/library/codecs.html","commit_id":"4a4328a60a9ab8748f1f06af1e88aecb55f3e29e"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"52ac99a7d518ac0a08b6b3fb094cec3b7f6c1295","unresolved":false,"context_lines":[{"line_number":281,"context_line":"    :returns: a condensed digest of the bytes of contents."},{"line_number":282,"context_line":"    \"\"\""},{"line_number":283,"context_line":"    checksum \u003d _get_hash_object(hash_algo)"},{"line_number":284,"context_line":"    while True:"},{"line_number":285,"context_line":"        chunk \u003d file_like_object.read(32768)"},{"line_number":286,"context_line":"        if not chunk:"},{"line_number":287,"context_line":"            break"}],"source_content_type":"text/x-python","patch_set":11,"id":"ff346bd7_51cb1971","line":284,"updated":"2017-07-26 10:19:35.000000000","message":"also reverted this back to iter, forgot to after playing around with it.","commit_id":"5130d3b1d2b361ae532ebd8f5c1c1e7d05b72b6c"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"f201796b146fd409fb468883c705ff7a20354c8b","unresolved":false,"context_lines":[{"line_number":281,"context_line":"    :returns: a condensed digest of the bytes of contents."},{"line_number":282,"context_line":"    \"\"\""},{"line_number":283,"context_line":"    checksum \u003d _get_hash_object(hash_algo)"},{"line_number":284,"context_line":"    while True:"},{"line_number":285,"context_line":"        chunk \u003d file_like_object.read(32768)"},{"line_number":286,"context_line":"        if not chunk:"},{"line_number":287,"context_line":"            break"}],"source_content_type":"text/x-python","patch_set":11,"id":"ff346bd7_91874110","line":284,"in_reply_to":"ff346bd7_51cb1971","updated":"2017-07-26 10:21:13.000000000","message":"hrm, or maybe not, this causes timeout of test on py3 because of b\u0027\u0027 vs \u0027\u0027 difference.","commit_id":"5130d3b1d2b361ae532ebd8f5c1c1e7d05b72b6c"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"1e58fa9010b3232305eba286ca59cb3dc4f1bfb3","unresolved":false,"context_lines":[{"line_number":291,"context_line":"    return checksum.hexdigest()"},{"line_number":292,"context_line":""},{"line_number":293,"context_line":""},{"line_number":294,"context_line":"def file_has_content(path, content, hash_algo\u003d\u0027md5\u0027):"},{"line_number":295,"context_line":"    \"\"\"Checks that content of the file is the same as provided reference."},{"line_number":296,"context_line":""},{"line_number":297,"context_line":"    :param path: path to file"}],"source_content_type":"text/x-python","patch_set":11,"id":"ff346bd7_63d656c6","line":294,"updated":"2017-07-26 07:51:44.000000000","message":"please add a test for this one as well","commit_id":"5130d3b1d2b361ae532ebd8f5c1c1e7d05b72b6c"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"52ac99a7d518ac0a08b6b3fb094cec3b7f6c1295","unresolved":false,"context_lines":[{"line_number":291,"context_line":"    return checksum.hexdigest()"},{"line_number":292,"context_line":""},{"line_number":293,"context_line":""},{"line_number":294,"context_line":"def file_has_content(path, content, hash_algo\u003d\u0027md5\u0027):"},{"line_number":295,"context_line":"    \"\"\"Checks that content of the file is the same as provided reference."},{"line_number":296,"context_line":""},{"line_number":297,"context_line":"    :param path: path to file"}],"source_content_type":"text/x-python","patch_set":11,"id":"ff346bd7_91b981ea","line":294,"in_reply_to":"ff346bd7_63d656c6","updated":"2017-07-26 10:19:35.000000000","message":"Done","commit_id":"5130d3b1d2b361ae532ebd8f5c1c1e7d05b72b6c"}],"ironic/tests/unit/common/test_utils.py":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"1e58fa9010b3232305eba286ca59cb3dc4f1bfb3","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# encoding: utf-8"},{"line_number":2,"context_line":"# Copyright 2011 Justin Santa Barbara"},{"line_number":3,"context_line":"# Copyright 2012 Hewlett-Packard Development Company, L.P."},{"line_number":4,"context_line":"#"}],"source_content_type":"text/x-python","patch_set":11,"id":"ff346bd7_83db7aeb","line":1,"updated":"2017-07-26 07:51:44.000000000","message":"I\u0027d prefer you use an escaped representation of the cyrillic symbol (\u0027\\xd1\\x89\u0027 in utf8) rather than adding this","commit_id":"5130d3b1d2b361ae532ebd8f5c1c1e7d05b72b6c"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"52ac99a7d518ac0a08b6b3fb094cec3b7f6c1295","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# encoding: utf-8"},{"line_number":2,"context_line":"# Copyright 2011 Justin Santa Barbara"},{"line_number":3,"context_line":"# Copyright 2012 Hewlett-Packard Development Company, L.P."},{"line_number":4,"context_line":"#"}],"source_content_type":"text/x-python","patch_set":11,"id":"ff346bd7_b1b6c5f9","line":1,"in_reply_to":"ff346bd7_83db7aeb","updated":"2017-07-26 10:19:35.000000000","message":"Done","commit_id":"5130d3b1d2b361ae532ebd8f5c1c1e7d05b72b6c"}]}
