[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
[tor-commits] [compass/master] Iterate all relays over each filter
commit 9bb37cc3e7f541474f349d5f5f30fddb88b856d5
Author: Sathyanarayanan Gunasekaran <gsathya.ceg@xxxxxxxxx>
Date: Mon Aug 20 13:53:55 2012 +0530
Iterate all relays over each filter
Previously all the filters were iterated over each
relay. The order of the filter applied couldn't be
controlled with this approach. Now, we can specify
the order in which the relays are to be filtered in.
---
compass.py | 14 ++++++--------
1 files changed, 6 insertions(+), 8 deletions(-)
diff --git a/compass.py b/compass.py
index 971b2e0..544306e 100755
--- a/compass.py
+++ b/compass.py
@@ -130,14 +130,12 @@ class RelayStats(object):
return self._relays
self._relays = {}
- for relay in self.data['relays']:
- accepted = True
- for f in self._filters:
- if not f.accept(relay):
- accepted = False
- break
- if accepted:
- self.add_relay(relay)
+ relays = self.data['relays']
+ for f in self._filters:
+ relays = filter(f.accept, relays)
+
+ for relay in relays:
+ self.add_relay(relay)
return self._relays
def _create_filters(self, options):
_______________________________________________
tor-commits mailing list
tor-commits@xxxxxxxxxxxxxxxxxxxx
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits