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

Method add_entry

src/borg/legacyremote.py:814–839  ·  view source on GitHub ↗
(self, key, data, cache, complete)

Source from the content-addressed store, hash-verified

812 self.evictions += 1
813
814 def add_entry(self, key, data, cache, complete):
815 transformed = self.transform(key, data)
816 if not cache:
817 return transformed
818 packed = self.pack(transformed)
819 pkey = self.prefixed_key(key, complete=complete)
820 file = self.key_filename(pkey)
821 try:
822 with open(file, "wb") as fd:
823 fd.write(packed)
824 except OSError as os_error:
825 try:
826 safe_unlink(file)
827 except FileNotFoundError:
828 pass # open() could have failed as well
829 if os_error.errno == errno.ENOSPC:
830 self.enospc += 1
831 self.backoff()
832 else:
833 raise
834 else:
835 self.size += len(packed)
836 self.cache.add(pkey)
837 if self.size > self.size_limit:
838 self.backoff()
839 return transformed
840
841 def log_instrumentation(self):
842 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