mirror of https://github.com/borgbackup/borg.git
Use StableDict in a few more places
This commit is contained in:
parent
7b31f23722
commit
d551b13a23
|
@ -178,7 +178,7 @@ class Archive:
|
|||
if name in self.manifest.archives:
|
||||
raise self.AlreadyExists(name)
|
||||
self.items_buffer.flush(flush=True)
|
||||
metadata = {
|
||||
metadata = StableDict({
|
||||
'version': 1,
|
||||
'name': name,
|
||||
'items': self.items_buffer.chunks,
|
||||
|
@ -186,7 +186,7 @@ class Archive:
|
|||
'hostname': socket.gethostname(),
|
||||
'username': getuser(),
|
||||
'time': datetime.utcnow().isoformat(),
|
||||
}
|
||||
})
|
||||
data = msgpack.packb(metadata, unicode_errors='surrogateescape')
|
||||
self.id = self.key.id_hash(data)
|
||||
self.cache.add_chunk(self.id, data, self.stats)
|
||||
|
@ -570,7 +570,7 @@ class ArchiveChecker:
|
|||
items_buffer.write_chunk = add_callback
|
||||
cdata = self.repository.get(archive_id)
|
||||
data = self.key.decrypt(archive_id, cdata)
|
||||
archive = msgpack.unpackb(data)
|
||||
archive = StableDict(msgpack.unpackb(data))
|
||||
if archive[b'version'] != 1:
|
||||
raise Exception('Unknown archive metadata version')
|
||||
decode_dict(archive, (b'name', b'hostname', b'username', b'time')) # fixme: argv
|
||||
|
|
|
@ -83,12 +83,12 @@ class Manifest:
|
|||
|
||||
def write(self):
|
||||
self.timestamp = datetime.utcnow().isoformat()
|
||||
data = msgpack.packb({
|
||||
data = msgpack.packb(StableDict({
|
||||
'version': 1,
|
||||
'archives': self.archives,
|
||||
'timestamp': self.timestamp,
|
||||
'config': self.config,
|
||||
})
|
||||
}))
|
||||
self.id = self.key.id_hash(data)
|
||||
self.repository.put(self.MANIFEST_ID, self.key.encrypt(data))
|
||||
|
||||
|
|
|
@ -228,7 +228,6 @@ class ArchiverTestCase(ArchiverTestCaseBase):
|
|||
fd.seek(100)
|
||||
fd.write('XXXX')
|
||||
fd.close()
|
||||
self.assert_raises(IntegrityError, lambda: self.attic('extract', '--dry-run', self.repository_location + '::test'))
|
||||
self.attic('check', self.repository_location, exit_code=1)
|
||||
|
||||
def test_readonly_repository(self):
|
||||
|
|
Loading…
Reference in New Issue