[tor-commits] [bridgedb/master] Cherry-pick from Karsten's #2688 branch

karsten at torproject.org karsten at torproject.org
Thu Mar 31 13:20:04 UTC 2011


commit e33aa7431ecee4cc4c4c8863e8126d611aa20c31
Author: Christian Fromme <kaner at strace.org>
Date:   Thu Mar 31 14:04:19 2011 +0200

    Cherry-pick from Karsten's #2688 branch
---
 lib/bridgedb/Bucket.py |   27 +++++++++++++++------------
 1 files changed, 15 insertions(+), 12 deletions(-)

diff --git a/lib/bridgedb/Bucket.py b/lib/bridgedb/Bucket.py
index 67f3774..004633b 100644
--- a/lib/bridgedb/Bucket.py
+++ b/lib/bridgedb/Bucket.py
@@ -30,7 +30,8 @@ PSEUDO_DISTRI_PREFIX = "pseudo_"
 
 class BucketData:
     """A file bucket value class.
-       name      - Name of the bucket (From config)
+       name      - Name of the bucket (From config), prefixed by pseudo
+                   distributor prefix
        needed    - Needed number of bridges for that bucket (From config)
        allocated - Number of already allocated bridges for that bucket
     """
@@ -81,17 +82,17 @@ class BucketManager:
        files by calling the dumpBridges() routine.
 
        cfg                      - The central configuration instance
-       bucketList               - A list of BucketData instances, holding all 
+       bucketList               - A list of BucketData instances, holding all
                                   configured (and thus requested) buckets with
                                   their respective numbers
-        unallocatedList         - Holding all bridges from the 'unallocated' 
+       unallocatedList          - Holding all bridges from the 'unallocated'
                                   pool
-        unallocated_available   - Is at least one unallocated bridge 
+       unallocated_available    - Is at least one unallocated bridge
                                   available?
-        distributor_prefix      - The 'distributor' field in the database will
-                                  hold the name of our pseudo-distributor, 
-                                  prefixed by this 
-        db                      - The bridge database access instance
+       distributor_prefix       - The 'distributor' field in the database will
+                                  hold the name of our pseudo-distributor,
+                                  prefixed by this
+       db                       - The bridge database access instance
     """
 
     def __init__(self, cfg):
@@ -168,7 +169,8 @@ class BucketManager:
                 self.addToUnallocatedList(bridge.hex_key)
                 continue
 
-            # Filter 'https' and 'email' early, too
+            # Filter non-pseudo distributors (like 'https' and 'email') early,
+            # too
             if not bridge.distributor.startswith(self.distributor_prefix):
                 continue
 
@@ -186,13 +188,14 @@ class BucketManager:
             else:
                 self.addToUnallocatedList(bridge.hex_key)
 
-        # Loop though bucketList while we have and need unallocated 
+        # Loop through bucketList while we have and need unallocated
         # bridges, assign one bridge at a time
         while self.unallocated_available and len(self.bucketList) > 0:
             for d in self.bucketList:
                 if d.allocated < d.needed:
                     if not self.assignUnallocatedBridge(d):
-                        print "Couldn't assign unallocated bridge to %s" % d.name
+                        dist = d.name.replace(self.distributor_prefix, "")
+                        print "Couldn't assign unallocated bridge to %s" % dist
                 else:
                     # When we have enough bridges, remove bucket identifier 
                     # from list
@@ -208,7 +211,7 @@ class BucketManager:
                 f.write(line + '\n')
             f.close()
         except IOError:
-            print "I/O error: %s" % fileName
+            print "I/O error: %s" % filename
 
     def dumpBridges(self):
         """Dump all known file distributors to files, sort by distributor



More information about the tor-commits mailing list