From: Brian Warner <warner@allmydata.com>
Date: Tue, 12 Jun 2007 02:21:51 +0000 (-0700)
Subject: upload.py: minor refactoring
X-Git-Tag: allmydata-tahoe-0.4.0~50
X-Git-Url: https://git.rkrishnan.org/components/%22news.html/...?a=commitdiff_plain;h=a182edf4de3d025957d8486549ce3e2e1a1c36cb;p=tahoe-lafs%2Ftahoe-lafs.git

upload.py: minor refactoring
---

diff --git a/src/allmydata/upload.py b/src/allmydata/upload.py
index 93bc432b..73e88abc 100644
--- a/src/allmydata/upload.py
+++ b/src/allmydata/upload.py
@@ -99,11 +99,25 @@ class FileUploader:
         assert self.needed_shares
 
         # create the encoder, so we can know how large the shares will be
+        share_size, block_size = self.setup_encoder()
+
+        d = self._locate_all_shareholders(share_size, block_size)
+        d.addCallback(self._send_shares)
+        d.addCallback(self._compute_uri)
+        return d
+
+    def setup_encoder(self):
         self._encoder = encode.Encoder(self._options)
         self._encoder.setup(self._filehandle, self._encryption_key)
         share_size = self._encoder.get_share_size()
         block_size = self._encoder.get_block_size()
+        return share_size, block_size
 
+    def _locate_all_shareholders(self, share_size, block_size):
+        """
+        @return: a set of PeerTracker instances that have agreed to hold some
+            shares for us
+        """
         # we are responsible for locating the shareholders. self._encoder is
         # responsible for handling the data and sending out the shares.
         peers = self._client.get_permuted_peers(self._crypttext_hash)
@@ -116,16 +130,6 @@ class FileUploader:
         self.used_peers = set() # while this set grows
         self.unallocated_sharenums = set(range(self.total_shares)) # this one shrinks
 
-        d = self._locate_all_shareholders()
-        d.addCallback(self._send_shares)
-        d.addCallback(self._compute_uri)
-        return d
-
-    def _locate_all_shareholders(self):
-        """
-        @return: a set of PeerTracker instances that have agreed to hold some
-            shares for us
-        """
         return self._locate_more_shareholders()
 
     def _locate_more_shareholders(self):