From a182edf4de3d025957d8486549ce3e2e1a1c36cb Mon Sep 17 00:00:00 2001
From: Brian Warner <warner@allmydata.com>
Date: Mon, 11 Jun 2007 19:21:51 -0700
Subject: [PATCH] upload.py: minor refactoring

---
 src/allmydata/upload.py | 24 ++++++++++++++----------
 1 file changed, 14 insertions(+), 10 deletions(-)

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):
-- 
2.45.2