)]}'
{"cinder/backup/services/swift.py":[{"author":{"_account_id":7872,"name":"Marc Koderer","email":"marc@koderer.com","username":"mkoderer"},"change_message_id":"164ddfe745044faaac6434befe1f83407f861b49","unresolved":false,"context_lines":[{"line_number":280,"context_line":"        LOG.debug(_(\u0027Calling eventlet.sleep(0)\u0027))"},{"line_number":281,"context_line":"        eventlet.sleep(0)"},{"line_number":282,"context_line":""},{"line_number":283,"context_line":"    def backup(self, backup, volume_file):"},{"line_number":284,"context_line":"        \"\"\"Backup the given volume to swift using the given backup metadata.\"\"\""},{"line_number":285,"context_line":"        object_meta, container \u003d self.prepare_backup(backup)"},{"line_number":286,"context_line":"        while True:"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAPn%2F%2F0fg%3D","line":283,"updated":"2013-06-20 13:41:57.000000000","message":"Separate the backup function into logical pieces makes a lot of sense to me. But I would propose to add an abstract class that describes the interface for all services clearly.","commit_id":"e2e2cabe5c986ef8890e627728102343fbb48107"},{"author":{"_account_id":7872,"name":"Marc Koderer","email":"marc@koderer.com","username":"mkoderer"},"change_message_id":"164ddfe745044faaac6434befe1f83407f861b49","unresolved":false,"context_lines":[{"line_number":285,"context_line":"        object_meta, container \u003d self.prepare_backup(backup)"},{"line_number":286,"context_line":"        while True:"},{"line_number":287,"context_line":"            data_block_size_bytes \u003d self.data_block_size_bytes"},{"line_number":288,"context_line":"            data \u003d volume_file.read(data_block_size_bytes)"},{"line_number":289,"context_line":"            data_offset \u003d volume_file.tell()"},{"line_number":290,"context_line":"            if data \u003d\u003d \u0027\u0027:"},{"line_number":291,"context_line":"                break"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAPn%2F%2F0hE%3D","line":288,"updated":"2013-06-20 13:41:57.000000000","message":"data_block_size_bytes is never used somewhere else. You can skip it..","commit_id":"e2e2cabe5c986ef8890e627728102343fbb48107"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"16ba3dca7f6a9f6e1acdfcadef713dc30198a2d0","unresolved":false,"context_lines":[{"line_number":253,"context_line":"            data \u003d self.compressor.compress(data)"},{"line_number":254,"context_line":"            comp_size_bytes \u003d len(data)"},{"line_number":255,"context_line":"            LOG.debug(_(\u0027compressed %(data_size_bytes)d bytes of data\u0027"},{"line_number":256,"context_line":"                        \u0027 to %(comp_size_bytes)d bytes using \u0027"},{"line_number":257,"context_line":"                        \u0027%(algorithm)s\u0027) % locals())"},{"line_number":258,"context_line":"        else:"},{"line_number":259,"context_line":"            LOG.debug(_(\u0027not compressing data\u0027))"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAPn%2F%2Fz7w%3D","line":256,"updated":"2013-06-20 16:48:08.000000000","message":"Suggest moving space to the end of this line to be consistent with other messages.","commit_id":"a8dece4de95f33fd310a9bcafd32c6775e1bc63d"}]}
