@@ -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
0 commit comments