)]}'
{"shade/openstackcloud.py":[{"author":{"_account_id":3099,"name":"David Shrewsbury","email":"dshrewsb@redhat.com","username":"dshrews"},"change_message_id":"afa81ba7917396ae508611bfaf8bd3b57c58a25e","unresolved":false,"context_lines":[{"line_number":3417,"context_line":"        :param container: The name of the container the file is stored in."},{"line_number":3418,"context_line":"        :param name: Name of the object within the container."},{"line_number":3419,"context_line":"        :param filename: The path to the local file whose contents will be"},{"line_number":3420,"context_line":"            uploaded."},{"line_number":3421,"context_line":"        :param headers: These will be passed through to the object creation"},{"line_number":3422,"context_line":"            API as HTTP Headers."},{"line_number":3423,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"7a740942_ca451d43","line":3420,"updated":"2015-12-08 16:34:00.000000000","message":"\"upload\" is the wrong word","commit_id":"f7cdf43ebc6cbffb1513a812cdb6103ab891b427"},{"author":{"_account_id":3099,"name":"David Shrewsbury","email":"dshrewsb@redhat.com","username":"dshrews"},"change_message_id":"afa81ba7917396ae508611bfaf8bd3b57c58a25e","unresolved":false,"context_lines":[{"line_number":3419,"context_line":"        :param filename: The path to the local file whose contents will be"},{"line_number":3420,"context_line":"            uploaded."},{"line_number":3421,"context_line":"        :param headers: These will be passed through to the object creation"},{"line_number":3422,"context_line":"            API as HTTP Headers."},{"line_number":3423,"context_line":""},{"line_number":3424,"context_line":"        :raises: ``OpenStackCloudException`` on operation error."},{"line_number":3425,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":6,"id":"7a740942_0a67a5e9","line":3422,"updated":"2015-12-08 16:34:00.000000000","message":"No object is being created in swift, so this doesn\u0027t make sense.","commit_id":"f7cdf43ebc6cbffb1513a812cdb6103ab891b427"}],"shade/tests/functional/test_object.py":[{"author":{"_account_id":3099,"name":"David Shrewsbury","email":"dshrewsb@redhat.com","username":"dshrews"},"change_message_id":"afa81ba7917396ae508611bfaf8bd3b57c58a25e","unresolved":false,"context_lines":[{"line_number":51,"context_line":"        )"},{"line_number":52,"context_line":"        for size, nseg in sizes:"},{"line_number":53,"context_line":"            segment_size \u003d round(size / nseg)"},{"line_number":54,"context_line":"            with tempfile.NamedTemporaryFile(delete\u003dFalse) as sparse_file:"},{"line_number":55,"context_line":"                sparse_file.seek(size)"},{"line_number":56,"context_line":"                sparse_file.write(\"\\0\")"},{"line_number":57,"context_line":"                sparse_file.flush()"}],"source_content_type":"text/x-python","patch_set":6,"id":"7a740942_aada1115","line":54,"updated":"2015-12-08 16:34:00.000000000","message":"Let\u0027s not add this option here. Instead, calculate the hash within this context manager so that we aren\u0027t leaving this file around if a later assertion fails before you delete it.","commit_id":"f7cdf43ebc6cbffb1513a812cdb6103ab891b427"},{"author":{"_account_id":3099,"name":"David Shrewsbury","email":"dshrewsb@redhat.com","username":"dshrews"},"change_message_id":"afa81ba7917396ae508611bfaf8bd3b57c58a25e","unresolved":false,"context_lines":[{"line_number":70,"context_line":"                name,"},{"line_number":71,"context_line":"                self.cloud.list_objects(container_name)[0][\u0027name\u0027])"},{"line_number":72,"context_line":"            # download the file and check the md5 hash with the original"},{"line_number":73,"context_line":"            self.cloud.get_object(container_name, name)"},{"line_number":74,"context_line":"            original_hash \u003d hashlib.md5(open(sparse_file.name, \u0027rb\u0027).read())"},{"line_number":75,"context_line":"            downloaded_hash \u003d hashlib.md5(open(name, \u0027rb\u0027).read())"},{"line_number":76,"context_line":"            os.unlink(sparse_file.name)"}],"source_content_type":"text/x-python","patch_set":6,"id":"7a740942_0d39ffd6","line":73,"updated":"2015-12-08 16:34:00.000000000","message":"I\u0027d rather see you downloading to a named tempfile here, and then making sure it is deleted when you\u0027re done with it.","commit_id":"f7cdf43ebc6cbffb1513a812cdb6103ab891b427"}]}
