cap = uri.from_string(bigcap, deep_immutable=deep_immutable,
name=name)
node = self._create_from_single_cap(cap)
- if node:
- self._node_cache[memokey] = node # note: WeakValueDictionary
- else:
+ if node is None:
# don't cache UnknownNode
node = UnknownNode(writecap, readcap,
deep_immutable=deep_immutable, name=name)
+ elif node.is_mutable():
+ self._node_cache[memokey] = node # note: WeakValueDictionary
if self.blacklist:
si = node.get_storage_index()
packed = pack_children(children, None, deep_immutable=True)
uploadable = Data(packed, convergence)
d = self.uploader.upload(uploadable)
- d.addCallback(lambda results: self.create_from_cap(None, results.uri))
+ d.addCallback(lambda results:
+ self.create_from_cap(None, results.get_uri()))
d.addCallback(self._create_dirnode)
return d