]> git.rkrishnan.org Git - tahoe-lafs/tahoe-lafs.git/commitdiff
mutable: oops, .download *is* in use, by the speedtest. Restore it and add a test.
authorBrian Warner <warner@allmydata.com>
Tue, 4 Mar 2008 22:11:40 +0000 (15:11 -0700)
committerBrian Warner <warner@allmydata.com>
Tue, 4 Mar 2008 22:11:40 +0000 (15:11 -0700)
src/allmydata/mutable.py
src/allmydata/test/test_mutable.py

index 713c5bf71ba3e4d9367571b2a5dd3351fbb45565..925a286a64051daf013bfab684e77cbdbee94fc1 100644 (file)
@@ -1595,6 +1595,17 @@ class MutableFileNode:
         verifier = self.get_verifier()
         return self._client.getServiceNamed("checker").check(verifier)
 
+    def download(self, target):
+        # fake it. TODO: make this cleaner.
+        d = self.download_to_data()
+        def _done(data):
+            target.open(len(data))
+            target.write(data)
+            target.close()
+            return target.finish()
+        d.addCallback(_done)
+        return d
+
     def download_to_data(self):
         r = self.retrieve_class(self)
         self._client.notify_retrieve(r)
index 0d3460f50d096e064be5edc83a12888f75c5df6d..bc6403666e0c713cf4f2a12dcfd61247ed9d6d53 100644 (file)
@@ -3,7 +3,7 @@ import itertools, struct
 from twisted.trial import unittest
 from twisted.internet import defer
 from twisted.python import failure, log
-from allmydata import mutable, uri, dirnode
+from allmydata import mutable, uri, dirnode, download
 from allmydata.util.hashutil import tagged_hash
 from allmydata.encode import NotEnoughPeersError
 from allmydata.interfaces import IURI, INewDirectoryURI, \
@@ -154,6 +154,8 @@ class Filenode(unittest.TestCase):
             d.addCallback(lambda res: n.replace("contents 2"))
             d.addCallback(lambda res: n.download_to_data())
             d.addCallback(lambda res: self.failUnlessEqual(res, "contents 2"))
+            d.addCallback(lambda res: n.download(download.Data()))
+            d.addCallback(lambda res: self.failUnlessEqual(res, "contents 2"))
             return d
         d.addCallback(_created)
         return d