[tor-commits] [bridgedb/master] Only add a bridge to the splitter if it is new.
isis at torproject.org
isis at torproject.org
Sun Mar 16 19:04:57 UTC 2014
commit 92eb6fe9e7d4e1e7cbb72687b9f41f5f827fa182
Author: Matthew Finkel <Matthew.Finkel at gmail.com>
Date: Tue Mar 4 03:59:41 2014 +0000
Only add a bridge to the splitter if it is new.
If it's not new then we want to overwrite the old instance.
Unconditionally appending to to the splitter results in duplicate
bridges.
Closes #9264
---
lib/bridgedb/Bridges.py | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/lib/bridgedb/Bridges.py b/lib/bridgedb/Bridges.py
index e5d5921..1dc4f4e 100644
--- a/lib/bridgedb/Bridges.py
+++ b/lib/bridgedb/Bridges.py
@@ -1250,7 +1250,15 @@ class FilteredBridgeSplitter(BridgeHolder):
% Util.logSafely(bridge.fingerprint))
return
- self.bridges.append(bridge)
+ index = 0
+ logging.debug("Inserting %s into %s ring" % (bridge.fingerprint, self.key))
+ for old_bridge in self.bridges:
+ if bridge.fingerprint == old_bridge.fingerprint:
+ self.bridges[index] = bridge
+ break
+ index += 1
+ else:
+ self.bridges.append(bridge)
for ringname, (filterFn, subring) in self.filterRings.items():
if filterFn(bridge):
subring.insert(bridge)
More information about the tor-commits
mailing list