return d.addCallback(_get_version, version)
- def download_best_version(self):
+ def download_best_version(self, progress=None):
"""
I return a Deferred that fires with the contents of the best
version of this mutable file.
"""
- return self._do_serialized(self._download_best_version)
+ return self._do_serialized(self._download_best_version, progress=progress)
- def _download_best_version(self):
+ def _download_best_version(self, progress=None):
"""
I am the serialized sibling of download_best_version.
"""
d = self.get_best_readable_version()
d.addCallback(self._record_size)
- d.addCallback(lambda version: version.download_to_data())
+ d.addCallback(lambda version: version.download_to_data(progress=progress))
# It is possible that the download will fail because there
# aren't enough shares to be had. If so, we will try again after
d = self.get_best_mutable_version()
d.addCallback(self._record_size)
- d.addCallback(lambda version: version.download_to_data())
+ d.addCallback(lambda version: version.download_to_data(progress=progress))
return d
d.addErrback(_maybe_retry)
return self._servermap.size_of_version(self._version)
- def download_to_data(self, fetch_privkey=False):
+ def download_to_data(self, fetch_privkey=False, progress=None):
"""
I return a Deferred that fires with the contents of this
readable object as a byte string.
"""
- c = consumer.MemoryConsumer()
+ c = consumer.MemoryConsumer(progress=progress)
d = self.read(c, fetch_privkey=fetch_privkey)
d.addCallback(lambda mc: "".join(mc.chunks))
return d