Changeset 48bef7d in trunk
- Timestamp:
- 2020-12-09T18:42:35Z (5 years ago)
- Branches:
- master
- Children:
- 6b8fd2f
- Parents:
- 489b3692
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
TabularUnified src/allmydata/dirnode.py ¶
r489b3692 r48bef7d 180 180 children = self.node._unpack_contents(old_contents) 181 181 now = time.time() 182 for (namex, (child, new_metadata)) in self.entries.iteritems():182 for (namex, (child, new_metadata)) in list(self.entries.items()): 183 183 name = normalize(namex) 184 184 precondition(IFilesystemNode.providedBy(child), child) … … 206 206 207 207 def _encrypt_rw_uri(writekey, rw_uri): 208 precondition(isinstance(rw_uri, str), rw_uri)209 precondition(isinstance(writekey, str), writekey)208 precondition(isinstance(rw_uri, bytes), rw_uri) 209 precondition(isinstance(writekey, bytes), writekey) 210 210 211 211 salt = hashutil.mutable_rwcap_salt_hash(rw_uri) … … 222 222 # initial_children must have metadata (i.e. {} instead of None) 223 223 children = {} 224 for (namex, (node, metadata)) in childrenx.iteritems():224 for (namex, (node, metadata)) in list(childrenx.items()): 225 225 precondition(isinstance(metadata, dict), 226 226 "directory creation requires metadata to be a dict, not None", metadata) … … 246 246 immutable, and will raise a MustBeDeepImmutableError if not. 247 247 """ 248 precondition((writekey is None) or isinstance(writekey, str), writekey)248 precondition((writekey is None) or isinstance(writekey, bytes), writekey) 249 249 250 250 has_aux = isinstance(children, AuxValueDict) … … 265 265 rw_uri = child.get_write_uri() 266 266 if rw_uri is None: 267 rw_uri = ""268 assert isinstance(rw_uri, str), rw_uri267 rw_uri = b"" 268 assert isinstance(rw_uri, bytes), rw_uri 269 269 270 270 # should be prevented by MustBeDeepImmutableError check above … … 273 273 ro_uri = child.get_readonly_uri() 274 274 if ro_uri is None: 275 ro_uri = ""276 assert isinstance(ro_uri, str), ro_uri275 ro_uri = b"" 276 assert isinstance(ro_uri, bytes), ro_uri 277 277 if writekey is not None: 278 278 writecap = netstring(_encrypt_rw_uri(writekey, rw_uri)) 279 279 else: 280 280 writecap = ZERO_LEN_NETSTR 281 entry = "".join([netstring(name.encode("utf-8")),281 entry = b"".join([netstring(name.encode("utf-8")), 282 282 netstring(strip_prefix_for_ro(ro_uri, deep_immutable)), 283 283 writecap, 284 netstring(json.dumps(metadata) )])284 netstring(json.dumps(metadata).encode("utf-8"))]) 285 285 entries.append(netstring(entry)) 286 return "".join(entries)286 return b"".join(entries) 287 287 288 288 @implementer(IDirectoryNode, ICheckable, IDeepCheckable) … … 353 353 # The rwcapdata is formatted as: 354 354 # pack("16ss32s", iv, AES(H(writekey+iv), plaintext_rw_uri), mac) 355 assert isinstance(data, str), (repr(data), type(data))355 assert isinstance(data, bytes), (repr(data), type(data)) 356 356 # an empty directory is serialized as an empty string 357 357 if data == "": … … 556 556 557 557 def set_uri(self, namex, writecap, readcap, metadata=None, overwrite=True): 558 precondition(isinstance(writecap, ( str,type(None))), writecap)559 precondition(isinstance(readcap, ( str,type(None))), readcap)558 precondition(isinstance(writecap, (bytes, type(None))), writecap) 559 precondition(isinstance(readcap, (bytes, type(None))), readcap) 560 560 561 561 # We now allow packing unknown nodes, provided they are valid … … 578 578 assert len(e) == 3 579 579 writecap, readcap, metadata = e 580 precondition(isinstance(writecap, ( str,type(None))), writecap)581 precondition(isinstance(readcap, ( str,type(None))), readcap)580 precondition(isinstance(writecap, (bytes,type(None))), writecap) 581 precondition(isinstance(readcap, (bytes,type(None))), readcap) 582 582 583 583 # We now allow packing unknown nodes, provided they are valid
Note: See TracChangeset
for help on using the changeset viewer.