]> git.rkrishnan.org Git - tahoe-lafs/tahoe-lafs.git/commitdiff
dirnode.set_children: change return value: fire with self instead of None
authorBrian Warner <warner@lothar.com>
Tue, 13 Oct 2009 01:50:26 +0000 (18:50 -0700)
committerBrian Warner <warner@lothar.com>
Tue, 13 Oct 2009 01:50:26 +0000 (18:50 -0700)
src/allmydata/dirnode.py
src/allmydata/interfaces.py
src/allmydata/test/test_dirnode.py

index 4a2e751f5fd221a750734599511fbd124f27dc7c..c7e6f56f035e5af1e9df5edcf135ee3a7ad30f15 100644 (file)
@@ -415,7 +415,9 @@ class DirectoryNode:
                 msg = "cannot pack unknown node as child %s" % str(name)
                 raise CannotPackUnknownNodeError(msg)
             a.set_node(name, child_node, metadata)
-        return self._node.modify(a.modify)
+        d = self._node.modify(a.modify)
+        d.addCallback(lambda ign: self)
+        return d
 
     def set_node(self, name, child, metadata=None, overwrite=True):
         """I add a child at the specific name. I return a Deferred that fires
index f07788f5f6cc7e1be0836b4c5075b4e60a77e7b9..42ec62c01cdeab5fa4fb1eefe28864dd6de168cd 100644 (file)
@@ -901,9 +901,9 @@ class IDirectoryNode(IMutableFilesystemNode):
         """Add multiple children (by writecap+readcap) to a directory node.
         Takes a dictionary, with childname as keys and (writecap, readcap)
         tuples (or (writecap, readcap, metadata) triples) as values. Returns
-        a Deferred that fires (with None) when the operation finishes. This
-        is equivalent to calling set_uri() multiple times, but is much more
-        efficient. All child names must be unicode strings.
+        a Deferred that fires (with this dirnode) when the operation
+        finishes. This is equivalent to calling set_uri() multiple times, but
+        is much more efficient. All child names must be unicode strings.
         """
 
     def set_node(name, child, metadata=None, overwrite=True):
index c68411702112adf921c8179659afdd5e54a5431a..097a9a1589d7b60c5cdde4bddaca49144556c6c2 100644 (file)
@@ -455,6 +455,7 @@ class Dirnode(GridTestMixin, unittest.TestCase,
                               u"e3": (fake_file_uri, fake_file_uri,
                                       {"key": "value"}),
                               }))
+            d.addCallback(lambda n2: self.failUnlessIdentical(n2, n))
             d.addCallback(lambda res:
                           self.shouldFail(ExistingChildError, "set_children-no",
                                           "child 'e1' already exists",