mirror of https://github.com/borgbackup/borg.git
helpers: remove functions that are only used once
The read_msgpack and write_msgpack functions were only used in one place each. Since msgpack is read and written in lots of places, having functions with these generic names is confusing. Also, the helpers module is quite a mess, so reducing its size seems to be a good idea.
This commit is contained in:
parent
689e40c398
commit
17952dff48
|
@ -697,19 +697,6 @@ def location_validator(archive=None):
|
|||
return validator
|
||||
|
||||
|
||||
def read_msgpack(filename):
|
||||
with open(filename, 'rb') as fd:
|
||||
return msgpack.unpack(fd)
|
||||
|
||||
|
||||
def write_msgpack(filename, d):
|
||||
with open(filename + '.tmp', 'wb') as fd:
|
||||
msgpack.pack(d, fd)
|
||||
fd.flush()
|
||||
os.fsync(fd.fileno())
|
||||
os.rename(filename + '.tmp', filename)
|
||||
|
||||
|
||||
def decode_dict(d, keys, encoding='utf-8', errors='surrogateescape'):
|
||||
for key in keys:
|
||||
if isinstance(d.get(key), bytes):
|
||||
|
|
|
@ -10,8 +10,8 @@ import shutil
|
|||
import struct
|
||||
from zlib import crc32
|
||||
|
||||
from .helpers import Error, ErrorWithTraceback, IntegrityError, read_msgpack, write_msgpack, \
|
||||
unhexlify, ProgressIndicatorPercent
|
||||
import msgpack
|
||||
from .helpers import Error, ErrorWithTraceback, IntegrityError, unhexlify, ProgressIndicatorPercent
|
||||
from .hashindex import NSIndex
|
||||
from .locking import UpgradableLock, LockError, LockErrorT
|
||||
from .lrucache import LRUCache
|
||||
|
@ -189,7 +189,8 @@ class Repository:
|
|||
else:
|
||||
if do_cleanup:
|
||||
self.io.cleanup(transaction_id)
|
||||
hints = read_msgpack(os.path.join(self.path, 'hints.%d' % transaction_id))
|
||||
with open(os.path.join(self.path, 'hints.%d' % transaction_id), 'rb') as fd:
|
||||
hints = msgpack.unpack(fd)
|
||||
if hints[b'version'] != 1:
|
||||
raise ValueError('Unknown hints file version: %d' % hints['version'])
|
||||
self.segments = hints[b'segments']
|
||||
|
@ -200,7 +201,12 @@ class Repository:
|
|||
b'segments': self.segments,
|
||||
b'compact': list(self.compact)}
|
||||
transaction_id = self.io.get_segments_transaction_id()
|
||||
write_msgpack(os.path.join(self.path, 'hints.%d' % transaction_id), hints)
|
||||
hints_file = os.path.join(self.path, 'hints.%d' % transaction_id)
|
||||
with open(hints_file + '.tmp', 'wb') as fd:
|
||||
msgpack.pack(hints, fd)
|
||||
fd.flush()
|
||||
os.fsync(fd.fileno())
|
||||
os.rename(hints_file + '.tmp', hints_file)
|
||||
self.index.write(os.path.join(self.path, 'index.tmp'))
|
||||
os.rename(os.path.join(self.path, 'index.tmp'),
|
||||
os.path.join(self.path, 'index.%d' % transaction_id))
|
||||
|
|
Loading…
Reference in New Issue