MCPcopy
hub / github.com/borgbackup/borg / add_entry

Method add_entry

src/borg/remote.py:1154–1179  ·  view source on GitHub ↗
(self, key, data, cache, complete)

Source from the content-addressed store, hash-verified

1152 self.evictions += 1
1153
1154 def add_entry(self, key, data, cache, complete):
1155 transformed = self.transform(key, data)
1156 if not cache:
1157 return transformed
1158 packed = self.pack(transformed)
1159 pkey = self.prefixed_key(key, complete=complete)
1160 file = self.key_filename(pkey)
1161 try:
1162 with open(file, "wb") as fd:
1163 fd.write(packed)
1164 except OSError as os_error:
1165 try:
1166 safe_unlink(file)
1167 except FileNotFoundError:
1168 pass # open() could have failed as well
1169 if os_error.errno == errno.ENOSPC:
1170 self.enospc += 1
1171 self.backoff()
1172 else:
1173 raise
1174 else:
1175 self.size += len(packed)
1176 self.cache.add(pkey)
1177 if self.size > self.size_limit:
1178 self.backoff()
1179 return transformed
1180
1181 def log_instrumentation(self):
1182 logger.debug(

Callers 1

get_manyMethod · 0.95

Calls 7

prefixed_keyMethod · 0.95
key_filenameMethod · 0.95
backoffMethod · 0.95
safe_unlinkFunction · 0.85
packMethod · 0.80
writeMethod · 0.45
addMethod · 0.45

Tested by

no test coverage detected