in oss2/resumable.py [0:0]
def __load_record(self):
record = self._get_record()
logger.debug("Load record return {0}".format(record))
if record and not self.__is_record_sane(record):
logger.warn("The content of record is invalid, delete the record")
self._del_record()
record = None
if record and not os.path.exists(self.filename + record['tmp_suffix']):
logger.warn("Temp file: {0} does not exist, delete the record".format(
self.filename + record['tmp_suffix']))
self._del_record()
record = None
if record and self.__is_remote_changed(record):
logger.warn("Object: {0} has been overwritten,delete the record and tmp file".format(self.key))
utils.silently_remove(self.filename + record['tmp_suffix'])
self._del_record()
record = None
if not record:
record = {'op_type': self.__op, 'bucket': self.bucket.bucket_name, 'key': self.key,
'size': self.objectInfo.size, 'mtime': self.objectInfo.mtime, 'etag': self.objectInfo.etag,
'part_size': self.__part_size, 'file_path': self._abspath, 'tmp_suffix': self.__gen_tmp_suffix(),
'parts': []}
logger.debug('Add new record, bucket: {0}, key: {1}, part_size: {2}'.format(
self.bucket.bucket_name, self.key, self.__part_size))
self._put_record(record)
self.__tmp_file = self.filename + record['tmp_suffix']
self.__part_size = record['part_size']
self.__finished_parts = list(
_PartToProcess(p['part_number'], p['start'], p['end'], p['part_crc']) for p in record['parts'])
self.__finished_size = sum(p.size for p in self.__finished_parts)
self.__record = record