Skip to content

Commit d551b13

Browse files
committed
Use StableDict in a few more places
1 parent 7b31f23 commit d551b13

File tree

3 files changed

+5
-6
lines changed

3 files changed

+5
-6
lines changed

attic/archive.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -178,15 +178,15 @@ def save(self, name=None):
178178
if name in self.manifest.archives:
179179
raise self.AlreadyExists(name)
180180
self.items_buffer.flush(flush=True)
181-
metadata = {
181+
metadata = StableDict({
182182
'version': 1,
183183
'name': name,
184184
'items': self.items_buffer.chunks,
185185
'cmdline': sys.argv,
186186
'hostname': socket.gethostname(),
187187
'username': getuser(),
188188
'time': datetime.utcnow().isoformat(),
189-
}
189+
})
190190
data = msgpack.packb(metadata, unicode_errors='surrogateescape')
191191
self.id = self.key.id_hash(data)
192192
self.cache.add_chunk(self.id, data, self.stats)
@@ -570,7 +570,7 @@ def missing_chunk_detector(chunk_id):
570570
items_buffer.write_chunk = add_callback
571571
cdata = self.repository.get(archive_id)
572572
data = self.key.decrypt(archive_id, cdata)
573-
archive = msgpack.unpackb(data)
573+
archive = StableDict(msgpack.unpackb(data))
574574
if archive[b'version'] != 1:
575575
raise Exception('Unknown archive metadata version')
576576
decode_dict(archive, (b'name', b'hostname', b'username', b'time')) # fixme: argv

attic/helpers.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -83,12 +83,12 @@ def load(cls, repository, key=None):
8383

8484
def write(self):
8585
self.timestamp = datetime.utcnow().isoformat()
86-
data = msgpack.packb({
86+
data = msgpack.packb(StableDict({
8787
'version': 1,
8888
'archives': self.archives,
8989
'timestamp': self.timestamp,
9090
'config': self.config,
91-
})
91+
}))
9292
self.id = self.key.id_hash(data)
9393
self.repository.put(self.MANIFEST_ID, self.key.encrypt(data))
9494

attic/testsuite/archiver.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -228,7 +228,6 @@ def test_corrupted_repository(self):
228228
fd.seek(100)
229229
fd.write('XXXX')
230230
fd.close()
231-
self.assert_raises(IntegrityError, lambda: self.attic('extract', '--dry-run', self.repository_location + '::test'))
232231
self.attic('check', self.repository_location, exit_code=1)
233232

234233
def test_readonly_repository(self):

0 commit comments

Comments
 (0)