Changeset 48bef7d in trunk


Ignore:
Timestamp:
2020-12-09T18:42:35Z (5 years ago)
Author:
Itamar Turner-Trauring <itamar@…>
Branches:
master
Children:
6b8fd2f
Parents:
489b3692
Message:

Some straightforward changes to support Python 3.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • TabularUnified src/allmydata/dirnode.py

    r489b3692 r48bef7d  
    180180        children = self.node._unpack_contents(old_contents)
    181181        now = time.time()
    182         for (namex, (child, new_metadata)) in self.entries.iteritems():
     182        for (namex, (child, new_metadata)) in list(self.entries.items()):
    183183            name = normalize(namex)
    184184            precondition(IFilesystemNode.providedBy(child), child)
     
    206206
    207207def _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)
    210210
    211211    salt = hashutil.mutable_rwcap_salt_hash(rw_uri)
     
    222222    # initial_children must have metadata (i.e. {} instead of None)
    223223    children = {}
    224     for (namex, (node, metadata)) in childrenx.iteritems():
     224    for (namex, (node, metadata)) in list(childrenx.items()):
    225225        precondition(isinstance(metadata, dict),
    226226                     "directory creation requires metadata to be a dict, not None", metadata)
     
    246246    immutable, and will raise a MustBeDeepImmutableError if not.
    247247    """
    248     precondition((writekey is None) or isinstance(writekey, str), writekey)
     248    precondition((writekey is None) or isinstance(writekey, bytes), writekey)
    249249
    250250    has_aux = isinstance(children, AuxValueDict)
     
    265265            rw_uri = child.get_write_uri()
    266266            if rw_uri is None:
    267                 rw_uri = ""
    268             assert isinstance(rw_uri, str), rw_uri
     267                rw_uri = b""
     268            assert isinstance(rw_uri, bytes), rw_uri
    269269
    270270            # should be prevented by MustBeDeepImmutableError check above
     
    273273            ro_uri = child.get_readonly_uri()
    274274            if ro_uri is None:
    275                 ro_uri = ""
    276             assert isinstance(ro_uri, str), ro_uri
     275                ro_uri = b""
     276            assert isinstance(ro_uri, bytes), ro_uri
    277277            if writekey is not None:
    278278                writecap = netstring(_encrypt_rw_uri(writekey, rw_uri))
    279279            else:
    280280                writecap = ZERO_LEN_NETSTR
    281             entry = "".join([netstring(name.encode("utf-8")),
     281            entry = b"".join([netstring(name.encode("utf-8")),
    282282                             netstring(strip_prefix_for_ro(ro_uri, deep_immutable)),
    283283                             writecap,
    284                              netstring(json.dumps(metadata))])
     284                             netstring(json.dumps(metadata).encode("utf-8"))])
    285285        entries.append(netstring(entry))
    286     return "".join(entries)
     286    return b"".join(entries)
    287287
    288288@implementer(IDirectoryNode, ICheckable, IDeepCheckable)
     
    353353        # The rwcapdata is formatted as:
    354354        # 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))
    356356        # an empty directory is serialized as an empty string
    357357        if data == "":
     
    556556
    557557    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)
    560560
    561561        # We now allow packing unknown nodes, provided they are valid
     
    578578                assert len(e) == 3
    579579                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)
    582582
    583583            # We now allow packing unknown nodes, provided they are valid
Note: See TracChangeset for help on using the changeset viewer.