diff --git a/plugins/TrackerShare/TrackerSharePlugin.py b/plugins/TrackerShare/TrackerSharePlugin.py index 65cf99b5..1e70b4af 100644 --- a/plugins/TrackerShare/TrackerSharePlugin.py +++ b/plugins/TrackerShare/TrackerSharePlugin.py @@ -96,12 +96,7 @@ class TrackerStorage(object): return protocol - def getSupportedProtocols(self): - if not self.site_announcer: - return None - - supported_trackers = self.site_announcer.getSupportedTrackers() - + def deleteUnusedTrackers(self, supported_trackers): # If a tracker is in our list, but is absent from the results of getSupportedTrackers(), # it seems to be supported by software, but forbidden by the settings or network configuration. # We check and remove thoose trackers here, since onTrackerError() is never emitted for them. @@ -113,6 +108,14 @@ class TrackerStorage(object): self.log.info("Tracker %s looks unused, removing." % tracker_address) del trackers[tracker_address] + def getSupportedProtocols(self): + if not self.site_announcer: + return None + + supported_trackers = self.site_announcer.getSupportedTrackers() + + self.deleteUnusedTrackers(supported_trackers) + protocols = set() for tracker_address in supported_trackers: protocol = self.getNormalizedTrackerProtocol(tracker_address)